1.MM32 UART介绍
任何 UART 双向通信至少需要两个脚:接收数据输入 (RX) 和发送数据输出 (TX)。
RX: 接收数据串行输入。通过过采样技术来区别数据和噪音,从而恢复数据。
TX: 发送数据输出。当发送器被禁止时,输出引脚恢复到它的 I/O 端口配置。当发送器被激活,并且不发送数据时,TX 引脚处于高电平。
• 总线在发送或接收前应处于空闲状态
• 一个起始位
• 一个数据字 (5, 6, 7 或 8 位),最低有效位在前
• 0.5, 1, 1.5, 2 个的停止位,由此表明数据帧的结束
• 使用分数波特率发生器——16 位整数和 4 位小数的表示方法。
• 通过使能 UART_GCR 寄存器的 SWAP 位,可以交换接收和发送端的信号。
• 通过使能 UART_GCR 寄存器的 RX_TOG/ TX_TOG 位,可以将接收/发送端的信号取反。
下列引脚在硬件流控模式中需要: • nCTS: 清除发送,若是高电平,在当前数据传输结束时阻断下一次的数据发送。
• nRTS: 发送请求,若是低电平,表明 UART 准备好接收数据。
2.烧入程序
我这边选择的是“UART_Print_DMA”例程做为下载程序。
一进来就可以看到发送的字符串,将字符串修改为"EEWORLD MM32 eMiniBoard UART",并将字符串长度也进行相应的修改。
然后打开串口初始化程序,可以观察UART使用了PA9和PA10引脚。
我们来看一下MM32F0133C7P的UART初始化配置步骤。
打开原理图,开发板原理图资料点击下载【开发板资料】,然后看到原理图对应实物中的引脚位置如下图所示。
接上串口模块,串口模块的RX接开发板的PA9(TX),最后看一下运行后串口显示的内容。
3.总结
MM32的例程给的非常清晰,注释方面做的也比较好,这个程序用到了DMA功能, 这一篇文章没有进行讲解,不过后面也会接触到,到时候再进行讲解DMA。