分享一下F1的DMA+USART1串口不限字节接收模式!

2019-10-11 16:44发布

1.这里有个BUG,在DMA串口接收无中断时(上电第一次接收),接收到的第一字节总数丢失,后续再次接收字节倒是没有字节丢失问题,就是第一次上电通信时候出现。
2.调试SW及JTAG时候又没有问题,无论是否第一次上电初始化通信怎么都没有问题,找了挺久的都没找到问题所在,挺神奇的。
3.为了解决这个问题特意开启了上电初始化接收第一字节进行中断,中断完后续关闭这个中断。
USART中只用到void uart_init(u32 bound);void  Start_DMAUsart1(void);void USART1_IRQHandler(void) ;void AddrUp(void);u8 DataDmaManage(void);void Usart1DMAProcess(void)这几个函数;DMA中只用到void RX_DMA_Config(DMA_Channel_TypeDef *  DMAy_Channelx,u32 cpar,u32 buff,u16 Buffsize);这个函数。这里测试用的最大字节接收为6字节。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。