2024年5月12日日曜日

RX621を使ってみる (2)

 2024/05/12
秋月電子で販売されている RX621マイコンボード を使ってみる(その2)

RX621を使ってみる (1) の LED_Blink.c を変更する

P20 を PWM で明暗を切り替える
P21 を をポート出力で ON/OFF する
周期は2.5ms(400Hz)

#include "iodefine.h"

void MTU1_initialize(void)
{
    /* MTU1 = PWM Mode 1 */
    MSTP(MTU1) = 0;
    MTU1.TCR.BIT.TPSC = 1;
    MTU1.TCR.BIT.CKEG = 1;
    MTU1.TCR.BIT.CCLR = 1;
    MTU1.TMDR.BIT.MD = 2;
    MTU1.TIOR.BIT.IOA = 2;
    MTU1.TIOR.BIT.IOB = 1;
    MTU1.TGRA = 30000;
    MTU1.TGRB = 9000;
    MTU1.TCNT = 0;
    MTUA.TSTR.BIT.CST1 = 1;
}

void main(void)
{
    long int i;

    SYSTEM.SCKCR.BIT.ICK = 0;
    SYSTEM.SCKCR.BIT.PCK = 1;

    MTU1_initialize();

    PORT2.DR.BIT.B1 = 0;
    PORT2.DDR.BIT.B1 = 1;

    while(1) {
        PORT2.DR.BIT.B1 = 1;
        MTU1.TGRB = 9000;
        for (i = 0 ; i < 10000000 ; i++);
        PORT2.DR.BIT.B1 = 0;
        MTU1.TGRB = 25000;
        for (i = 0 ; i < 5000000 ; i++);
    }
}

周期は、(1/48MHz(PCLK) × 4(TPSC) × 30000(TIGA) = 2.5msec となる

0 件のコメント:

コメントを投稿