simulink接收串口数据_STM32的串口通信

本篇文章主要讲解一个在开发过程中经常使用到的一个外设---串口

串口是绝大多数 MCU 中不可或缺的一个外设,同时也是我们开发中经常使用的一种调试手段,所以在STM32的学习中,串口的配置使用也是必须要掌握的。那么,对于新手来讲,串口是什么呢?串口是串行通信接口的简称,即是一种采用串行通信方式的扩展接口,那么什么又是串行通信呢??

2569003da6c316f09452e6808982b23d.png

所谓串行通信就是,在一根数据线上,数据进行一位一位的发送或接收,从而实现双向通信,它适用于远距离数据传输,但缺点是传输速度较慢。

在STM32中,我们使用的是通用同步异步收发器(USART),通信协议采用异步串行通信。什么又是异步串行通信呢?

72bedd90f25d74af857630c3fb67587e.png

我们可以看到它的数据帧 示意图,它每次通信只传输一字节数据,也就是8位数据,由起始位、数据位、校验位、停止位组成,数据传输方式有单工、半双工、全双工3种。

简单来讲,单工就是只有发送方向接收方传输数据的单向通信;半双工是某一时刻由发送方向接收方传输数据的双向通信的方式;全双工就是发送方与接收方可以同时发送或接收数据,从而实现双向通信。

在看实例之前我们先查看下原理图。

8a43c593d3230c1720104ddcf28a214c.png

根据原理图可知,我们所使用的是串口1,所用到的GPIO口为 PA9和PA10,其中,PA9为发送端,PA10为 接收端,接着我们再来看下它的模式配置,根据《STM32F10xxx参考手册》,要配置为全双工模式,它的TX端为推挽复用输出,RX端为浮空输入或带上拉输入。

了解了上述要点,我们结合实例来学习它的配置流程。

① 本讲学习串口这个外设,因此要添加外设的库函数文件。打开串口源文件,来看串口的配置流程。先定义一个GPIO结构体变量,接着在定义串口的结构体变量,接下来配置时钟。注意:不要忘记使能串口的时钟。

② 在下面分别配置 TX RX端口,模式一个为复用推挽输出,一个为浮空输入。其他配置和之前一样。

③ 接着初始化串口的成员变量。首先,模式配置为既有发送又有接收模式,较验配置为无检验,下面的波特率这个参数,为了后续使用的便利性,这里不直接写死,而是传入一个形参,接着停止位为1位字长为 8位,然后为无硬件数据流控制,最后完成串口的初始化配置。

④ 打开 main.c 文件,主函数中,首先仍是调用相关外设的初始化。注意:串口初始化不要忘了传入它的波特率参数,然后在主循环中,先定义了一个变量,接着是用户灯的一个闪烁,然后是等待我们输入一字节数据,接收成功后,它会将这个数据返回发送,我们利用一个串口助手来完成这个实验。

⑤ 编译下载之前,检查下载器中的串口与实验板的接线图。

f9412621753124dd5b9b408367c9ec63.png


⑥ 确认正确接线后,我们编译工程并将代码下载到实验板中。接着打开串口助手,检查是否识别到当前的端口号,正确选择后再检查串口的配置。所有都正确配置后,打开串口,在发送区发送一个字符,这时可以观察到接收区收到了它发送的字符,同时用户灯也会闪烁一次,这样就说明我们的串口通信是成功的。

http://weixin.qq.com/r/ey4gONXE7IiTrZFb93tp (二维码自动识别)

点击链接观看更多相关课程

电堂科技​c.51diantang.com
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值