USART的设置比较简单;PA9,PA10设好,然后就是一个结构初始化就完成了;
要注意的是如果使用DMA传输,需要特别声明,使能对应的RX和TX端口的DMA有效;
DMA的设置也很通俗化,网上很多这样的例程,都一样;
要注意的DMA的通道对应是固定的,不可以搞错;TX对应DMA1_CH2;RX对应DMA1_CH3;
中断处理是在it.c文件中,如果没有实例化,则手动添加;注意中断函数的名称要正确;(在.s文件中已经声明过)
最后要注意的配置的顺序,我是把接收端先弄好,再弄发送端;这样就不会丢数据;(我是短接RX和TX,自己发自己收);
重复收发过程,在中断处理的时候,先禁止对应的DMA通道;然后重新写计数器;然后启用DMA通道;这样新一轮的DMA传输又开始了; |