OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 317|回复: 0

第七课:串口通讯UART1~UART4

[复制链接]

13

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
270
金钱
270
注册时间
2026-3-22
在线时间
17 小时
发表于 2026-8-12 14:46:59 | 显示全部楼层 |阅读模式
串口通讯是一种非常经典且至今仍广泛使用的设备通信方式。它的核心思想是将数据拆分成一位一位(bit)的二进制信号,通过一根数据线按顺序进行传输。相较于一次能传多位数据的并行通信,串口虽然速度慢一些,但硬件简单、成本低,尤其适合长距离通信。
STC32G系列单片机具有2组USART-LIN/SPI,全双工同步/异步串行通信接口(USART1和USART2)支持LIN,SPI,可省电模式唤醒。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。
STC32G 系列单片机的串口1、串口2均有4种工作方式,其中两种方式的波特率是可变的,另两种是固定的,以供不同应用场合选用。用户可用软件设置不同的波特率和选择不同的工作方式。主机可通过查询或中断方式对接收/发送进行程序处理,使用十分灵活。 串口1、串口2的通讯口均可以通过功能管脚的切换功能切换到多组端口,从而可以将一个通讯口分时复用为多个通讯口。
今天这节课我们来讲如何在YXRA-SDK中开发串口通讯。
打开YXRA-SDK工具,新建STC32G项目,打开设备视图(创建或引入时会自动打开)。我们将串口1放到设备视图中,设置其波特率以及数据位数,并允许串口中断,其他串口如果有测试条件,与串口1的开发方式一致。为了能观察串口是否工作正常,我们在中断方法中将收到的数据直接发送出去。这样就开发完成了。
点击项目编译,系统弹出检测到配置冲突,因为我们设置串口1的波特率发生器为定时器2,但我们并没有将定时器2放到设备视图中。细心的开发者会发现,系统并不是因为没有定时器2而中止编译,因为通过可视化配置中没有定时器2,并不代表整个项目中没有初始化定时器2,所以允许开发者继续编译。
我们把定时器2加到设备视图中,并配置好,点击项目编译,如果配置不当,系统依然会弹出检测到配置冲突,按检测到的冲突处理一下。
本次示例是通过P3.0、P3.1通过USB转串口与电脑连接,相当于电脑与STC32G12K128已经在物理上串口连接好。接着把编译好的hex用官方工具下载到开发板上(官方实验箱单独的串口),就可以用串口助手进行通讯测试了。






stcproject.zip

33.95 KB, 下载次数: 0

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-8-22 21:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表