LPC21XX在keil4中UART串口波特率设置问题
昨天在keil4编写了LPC2138的串口程序,但是发现按照LPC2138用户指南来设置波特率后,实际波特率与理论波特率不同,导致在Proteus中仿真出现乱码。无论我怎么设置,都无法解决。曾一度怀疑LPC2138芯片资料有问题。
但是最终在查看了启动代码Startup.s文件后,才恍然大悟,原来Startup.s在初始化过程中把锁相环PLL给打开了,并且把M值设为5,这样的话,系统时钟为晶振频率的5倍,即cclk=5*Fosc.在程序把系统时钟设置成晶振频率的5倍频后,理论值和实际值相同,问题得到解决。
然后我按照原来的程序,把Startup.s文件中有关PLL设置的代码注释掉,理论值同样变得和实际值相同。
所以,今后在遇到程序执行结果与预想的结果不同的时候,千万不要轻易的怀疑官方文档或者芯片有问题,要从自己的方面仔细思考与查找问题,这样才能事半功倍。
技术问题,不懂?
这个好高端没接触过
@麦田一根葱 : 这是ARM方面的东西,也就是嵌入式方面的,现在手机,平板好多都是ARM内核,不过现在intel的CPU也进军移动设备了,我现在是初学。
这图片怎么做出来的?
@小五 : 用gif录制工具做的。
这图好炫呀。虽然我不懂这是神马,但是感觉很霸气的样子
嵌入式好玩,不是说4有什么bug么,我一直用的3
@Dr.fuhu : 嵌入式现在也是在自学。倒是没听过keil4有什么bug,不管有没有,只要不影响我使用就行了。