Applilet EZ PL for RL78 V1.0J, V2.00J を試してみました。
デジタル回路版電子ブロックという感じで興味深いツールと思いましたが、少々使いづらい点もあったので改善要望として挙げておきます。
> 本ツールは評価版です。本ツールに関するテクニカルサポートは受け付けておりません。
と明記されていることは理解しており、返答等を求めているものではありません。
・1.25MHz と 2.5MHz 動作時のタイマー割り込みの周期間違い
コード生成される timer.c の中の TM00_Init() で 0.25ms 周期のタイマー割り込みの初期化がされますが
ucsysclocksrc = SYS_CLOCK_SRC; ucsysclockfreq = SYS_CLOCK_FREQ; if( (ucsysclocksrc == CLOCK_SRC_INTERNAL) && ((ucsysclockfreq == 1)||(ucsysclockfreq == 2))){ if(ucsysclockfreq == 1){ usTMR00 = TM_250US_1250K; }else{ usTMR00 = TM_250US_2500K; } }else{ usTMR00 = SYS_CLOCK_FREQ * 250 - 1; } TDR00H = (UCHAR)(usTMR00 >> 8) & 0x00FF; /* 0.25ms */ TDR00L = (UCHAR)usTMR00 & 0x00FF;
高速オンチップオシレータを使用して 1.25MHz か 2.5MHz を選んだ際に使用される定数 TM_250US_1250K と TM_250US_2500K の定義は
#define TM_250US_1250K 312 /* 250us = 1/1.25MHz * 312 */ #define TM_250US_2500K 625 /* 250us = 1/2.5MHz * 625 */
となっており、-1 するのを忘れているようです。