OpenEdv-开源电子网

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

STM32 IO口模拟串口

[复制链接]

34

主题

127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1067
金钱
1067
注册时间
2012-1-7
在线时间
157 小时
发表于 2016-6-2 15:11:27 | 显示全部楼层 |阅读模式
  最近项目中STM32的串口资源紧张,于是使用IO口进行模拟串口,参考http://ziye334.blog.163.com/blog/static/2243061912014,使用原子哥的Mini STM32 V3.2开发板进行实验。IO口模拟串口的思路也比较简单,一切按照串口协议进行操作即可。对于发送,计算好不同波特率对应的延时时间进行数据发送即可。对于接收,稍微复杂。通过外部中断检测接收管脚的下降沿,检测到起始信号后开启定时器,定时器按照波特率设定好时间,每隔一段时间进入定时器中断接收数据,完成一个字节后关闭定时器。
  测试Demo说明:
   * TXD : PC13
   * RXD : PB14
   * 波特率:9600 ,1-8-N
   *Demo功能: 接收11个数据,然后把接收到的数据发送出去。


   SoftWareSerial.zip (310.61 KB, 下载次数: 1414)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11535
金钱
11535
注册时间
2014-4-1
在线时间
1313 小时
发表于 2016-6-2 16:11:30 | 显示全部楼层

这实验有助于理解串口通信的本质。


回复 支持 反对

使用道具 举报

3

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2015-8-12
在线时间
19 小时
发表于 2016-8-10 14:19:43 | 显示全部楼层
很有参考价值的啊
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2016-4-18
在线时间
35 小时
发表于 2016-10-14 19:30:29 | 显示全部楼层
                if(OI_RXD)
                {
                        recvData |= (1 << (recvStat - 1));
                }else
                {
                        recvData &= ~(1 << (recvStat - 1));
                }
这一段能详细解释一下吗?谢谢
回复 支持 反对

使用道具 举报

2

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2016-4-18
在线时间
35 小时
发表于 2016-10-14 20:33:58 | 显示全部楼层
临窗望雪 发表于 2016-10-14 19:30
if(OI_RXD)
                {
                        recvData |= (1

我理解了:
PORTA = (1《7)

给整个PORTA赋值,作用等价于PORTA = 0x80,将1000 0000这个数赋予PORTA,将指
定的第7位置1,其余各位置0。只不过这里包括了两个步骤,即先是括号中的1《7操作,
表示将0x01这个数左移7位,其值变成0x80,再将它赋予PORTA。
回复 支持 反对

使用道具 举报

8

主题

163

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5501
金钱
5501
注册时间
2013-3-16
在线时间
648 小时
发表于 2017-3-8 10:09:54 | 显示全部楼层
正好需要这玩意来调试调试
回复 支持 反对

使用道具 举报

0

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2018-6-17
在线时间
57 小时
发表于 2018-8-31 21:57:13 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

83

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3538
金钱
3538
注册时间
2017-7-10
在线时间
388 小时
发表于 2018-12-19 17:25:54 | 显示全部楼层
挺好的,感谢分享
回复 支持 反对

使用道具 举报

7

主题

105

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
金钱
1027
注册时间
2016-1-28
在线时间
135 小时
发表于 2019-4-11 14:26:39 | 显示全部楼层
谢谢分享~~
回复 支持 反对

使用道具 举报

3

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2020-5-14
在线时间
32 小时
发表于 2021-12-10 16:17:03 | 显示全部楼层
xiexie  mark
回复 支持 反对

使用道具 举报

11

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2017-8-9
在线时间
89 小时
发表于 2021-12-28 14:35:49 | 显示全部楼层

谢谢分享~~
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 23:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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