在StarterKit for SH7124的测试板上运行自编的串口中断测试程序,通信过程都正常,就是串口速率设置一直搞不定。
SH7124测试板上的晶振为10MHz,我也用示波器测过了;
根据《SH7125群、SH7124群 硬件手册》P312上的表12.4所示:
在10MHz下,n=0,N=64时,通信速率为4800bps;
但实际速率却是19200bps,奇怪啊!!!不知什么地方没有设置正确?!
串口初始化如下:
SCI1.SCSCR.BYTE = 0;
SCI1.SCSMR.BYTE = 0;
SCI1.SCSDCR.BYTE = 0x00;
SCI1.SCBRR = 64;
/* Wait for SCI Setting (1 bit cycle) */
for(i=0 ; i<3000 ; i++);
SCI1.SCSCR.BYTE = 0x00;
PFC.PACRL2.BIT.PA4MD = 1;
PFC.PACRL1.BIT.PA3MD = 1;
SCI1.SCSCR.BYTE = 0x70;
INTC.IPRL.BIT._SCI1 = 0x02;
set_imask(0);