硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1221|回复: 7
收起左侧

[有问必答] 新手小白对串口的疑问

[复制链接]

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2021-11-21 11:57:07 | 显示全部楼层 |阅读模式
串口收发都是用的DR寄存器,读和写都是操作该寄存器的内容,如果同时收发不会存在数据覆盖吗?书上说DR包含TDR和RDR,可是DR明明只有8位啊,这点有点迷,还请大佬解答
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107627
QQ
发表于 2021-11-21 12:04:28 | 显示全部楼层
这个时候要看参数手册,F4的发送和接收寄存器是独立的。
QQ截图20211121120323.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107627
QQ
发表于 2021-11-21 12:06:38 | 显示全部楼层
实际操作上,根据你是读还是写,自动做硬件区分
QQ截图20211121120612.png
回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2021-11-21 12:20:28 来自手机 | 显示全部楼层
其实就是两个独立的寄存器,一个寄存器负责发送,一个寄存器负责接收,你的读写操作由芯片自动分配到对应的寄存器,不会冲突。只不过这两个寄存器的名字和地址相同,DR寄存器就对应火车站,TDR就是火车站的入口,是你出发的地方;RDR就是火车的出口,你到达后的出口。但火车站的入口和出口都在火车站,对吧?
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2021-11-21 12:37:04 | 显示全部楼层
eric2013 发表于 2021-11-21 12:06
实际操作上,根据你是读还是写,自动做硬件区分

首先谢谢,然后收发的时候虽然都是对DR进行赋值,根据收发的不同,可以理解成对不同的存储区域进行操作么?
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2021-11-21 12:38:22 | 显示全部楼层
ghslfgkkl88 发表于 2021-11-21 12:20
其实就是两个独立的寄存器,一个寄存器负责发送,一个寄存器负责接收,你的读写操作由芯片自动分配到对应的 ...

这个确实容易理解些,谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107627
QQ
发表于 2021-11-22 01:20:42 | 显示全部楼层
cobut 发表于 2021-11-21 12:37
首先谢谢,然后收发的时候虽然都是对DR进行赋值,根据收发的不同,可以理解成对不同的存储区域进行操作 ...

可以的,同一个地址两块单元,通过读写来区分不同单元。
回复

使用道具 举报

5

主题

192

回帖

212

积分

高级会员

积分
212
发表于 2021-11-22 09:36:56 | 显示全部楼层
ghslfgkkl88 发表于 2021-11-21 12:20
其实就是两个独立的寄存器,一个寄存器负责发送,一个寄存器负责接收,你的读写操作由芯片自动分配到对应的 ...

这解释非常不错
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-8 14:12 , Processed in 0.257618 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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