2019-07-21 01:39发布
布尔 发表于 2019-5-9 16:35 感谢解答。现在我的情况是,对代码进行一定修改后同时接上了两个模块,AS608模块无法与STM32取得通信(由 ...
www88988 发表于 2019-5-9 18:06 串口通信怎么用到定时器呢?既然2个模块单独都能通信,那么就没问题了啊,一起通信和单独通信没什么区别 ...
布尔 发表于 2019-5-9 18:33 我之所以改定时器是因为两个模块的引用的代码里(usart2.c与uart5.c)都有对TIM4_IRQHandler的定义,导致 ...
最多设置5个标签!
用时首先注意串口对应哪几个IO口(如:USART1 RX-PA10 TX-PA9),程序用原子的例子就可以,不过建议改下(接收时去了那个判断0x0d,0x0a结尾的条件),调通了一个串口其他的都
差不多。再有就是与外设通信的通信协议一定得搞明白。
串口通信怎么用到定时器呢?既然2个模块单独都能通信,那么就没问题了啊,一起通信和单独通信没什么区别啊。
我之所以改定时器是因为两个模块的引用的代码里(usart2.c与uart5.c)都有对TIM4_IRQHandler的定义,导致在编译时产生了冲突,所以我就把AS608的定时器从4改为了5.
这样写代码不好,usart.h usart.c只写与串口有关的代码,把对定时器的代码写到timer.h timer.c,这样便于阅读和代码复用。
再有就是对定时器的功能的调用(我想你可能是串口接收命令改变定时器的周期),放到与main.c中或其他c文件中,这样以后要用定时器或串口直接把相关.h和.文件拷过去用就行。
一周热门 更多>