主要内容
前面的几个小例子都是写好的固定程序,烧录到开发板中进行实现。更多情况下也需要我们实现单片机和PC端的数据传输,本次例程就通过串口调试助手,实现实时地将数据发送和接收。
本次实验主要内容:
1.基础版走CPU
2.DMA+USART,传输同时点个灯
基于实验中对DMA 串口的生疏,在最开始先简要介绍一些底层的概念,也方便后续改bug找错误
文章面向小白,欢迎大神帮我挑错,我会及时修改,尽量不误人子弟
基础知识
数据通过CH340等芯片,通过TX,RX线进行数据的传输。在一块板子上可能存在多个串口,有的只可以实现同步通信,即UART,有的可以实现异步通信,即USART。同步通信受制于时间,需要相应的电平信号特定触发,作为开始和结束的标志位,异步可以不受制于时间,通过数据的特定电平变化实现信号传输的校验位。普通的串口通信需要和MCU直接联系,这样会占据CPU的发送数据/接受数据寄存器,减缓运行效率,而DMA(直接存储器访问)就可以解决这个问题。DMA也不必设置超时未响应的时间,且不占用CPU资源,实际中更多采用DMA通信。
实验部分
1
1.1 cubemx配置
先来完成第一个任务。和之前一样的配置流程,配置USART1,注意勾选A开头的异步通信,随后按照默认的配置即可