micoccd 发表于 2024-3-28 11:05

MM32F103串口通信

MM32F103是一款由上海灵动微电子推出的基于ARM Cortex-M3内核的32位微控制器,其串口通信通常指的是通过芯片内部集成的通用同步异步收发器(USART)进行数据传输。以下是在MM32F103上实现串口通信的一般步骤:
[*]硬件连接:
[*]配置相应的GPIO引脚作为USART的TX(发送)和RX(接收)端口,并根据需求连接合适的电平转换电路(如RS-232、TTL电平转换)。

[*]初始化USART:
[*]设置USART的工作模式(异步或同步)、数据位(通常是8位或9位)、停止位(1位或2位)、校验位(无、奇校验、偶校验或者标记位)以及波特率。
[*]在MM32F103的寄存器配置中,需要对USART相关的寄存器如USART_BRR(波特率寄存器)、USART_CR1(控制寄存器1)、USART_CR2(控制寄存器2)和USART_CR3(控制寄存器3)进行设置。

[*]中断或DMA配置:
[*]可以选择使用中断的方式来进行数据接收和发送,配置对应的USART中断源和 NVIC中断优先级,以及中断服务函数。
[*]或者使用DMA方式进行高速、连续的数据传输,配置DMA通道和相关控制参数。

[*]数据发送:
[*]将待发送的数据写入USART的数据寄存器(例如USART_DR寄存器)中,然后启动发送过程。

[*]数据接收:
[*]如果采用中断方式,则在中断服务程序中检查并读取USART_DR中的接收数据。
[*]若使用DMA方式,则DMA会在数据接收到指定缓冲区后自动触发相应事件。

[*]状态检测与错误处理:
[*]通过读取USART的状态寄存器和其他相关寄存器,可以检测到串口通信是否完成、是否有错误发生等情况。


tpgf 发表于 2024-4-8 12:02

当启用usart的同步功能时候 还需要一条时钟线吧

paotangsan 发表于 2024-4-8 19:11

串口接收或者发送一般我看有双缓存的 还能没有有更多的缓存呢

keaibukelian 发表于 2024-4-8 20:21

同步模式下是不是可以不用使用那些常见的波特率呢

heimaojingzhang 发表于 2024-4-8 21:31

配置串口的时候也不要忘了配置io引脚

guanjiaer 发表于 2024-4-8 22:06

这种usart和我们说的spi啊 iic的关系是什么

B1lanche 发表于 2024-4-26 11:54

对的,思路很清晰,其实对串口通讯一般就是这么操作的

Candic12e 发表于 2024-4-26 13:04

建议直接用例程,其实例程更加的比较简单一些

Charlotte夏 发表于 2024-4-26 14:10

串口通讯还是算简单的,我觉得是这样

Estelle1999 发表于 2024-4-26 15:14

一般串口通讯就是注意波特率等这些硬件配置参数就好了

Emily999 发表于 2024-4-26 16:22

MM32的例程比较全的,其实看例程就能OK

Carmen7 发表于 2024-4-26 17:33

中断就可以了吧,一般都用不上DMA的操作

Alina艾 发表于 2024-4-26 18:47

其实接收的时候,可能会有空闲中断,这个要是用好了就非常棒了

alxd 发表于 2024-4-27 07:16

灵动的串口通讯我觉得和ST的例程风格非常相近

Belle1257 发表于 2024-4-27 09:34

电平的话,确实需要注意,不然就要烧坏设备了

Allison8859 发表于 2024-4-27 11:08

有些时候DMA好像很容易冲突的样子,需要注意
页: [1]
查看完整版本: MM32F103串口通信