单片机:HC32F448
开发工具:IAR,commix串口工具
功能:使用频率为16MHz,不需要倍频。
由于项目使用了内部晶振HRC(16MHz),外部晶振为8MHz,基准频率为16MHz,所以将外部晶振更换为16MHz(硬件)。程序上修改为让外部晶振工作。
现象:晶振起振,定时器间隔时间准确,但是串口功能失效。
纠结:一直以为是串口设置问题,可能更换晶振后,有一些配置需要不太一样,但是怎么修改都无效。后来使用例程的程序也无效,但是改换回原来的晶振,程序工作正常。重新从开头查。“watch”监视“systemclock”发现是8000000,才明白。
解决方法:
system_hc32f448.h的XTAL_VALUE数值改为16000000。
#if !defined (XTAL_VALUE)
#define XTAL_VALUE (16000000UL) /*!< External high speed OSC freq. */
#endif