STM32-cortex-M4串口调试
2016-03-31 来源:eefocus
按说,串口调试应该是很简单的,可就偏偏困扰了我将近两个周的时间,一筹莫展,接收GPS模块发来的数据一直不对,今天早上通过GPS例程与我编写的简单程序一对比,发现USART3初始化不一致,
进入单片机查看更多内容>>
例程是uart_init(84,115200);usart3_init(42,38400);
而我的初始化是uart_init(84,115200);usart3_init(84,38400);
USART1与USART3,前者挂在APB2总线(高速总线)下,最大时钟是84MHz,后者挂在APB1总线(低速总线)下最大时钟是42MHz。所以usart3_init初始化参数中设置为84是错误的,所以数据接收不正确。
所以时钟在ARM-微控制器中很重要,在使用某外设时,一定要搞清楚其时钟配置及设置方法。所以这也是在调试片上外设驱动程序的所必先解决的。
该问题的解决,首先因为我一直都很上心,时刻尝试用各种方法解决问题,虽然走了一些弯路,但是尝试各种解决方法,总有一条路会走通。这才是该问题解决过程中除却技术经验外,所收获的最有价值的东西,这是方法论的范畴。
相关文章