完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
1. 串口通信
通信双方(cpu与外部设备)之间通信的两种方式:
1.1.1 按数据传送方向分类 ▶单工: 数据传输只支持数据在一个方向上传输,如图: ▶半双工: 运行数据在两个方向上传输,但是在同一时刻只允许在一个方向上传输。可理解为:可改变方向的单工传输。 ▶全双工: 允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发生设备和接收设备都有独立的接收和发送能力。 1.1.2 按数据的通信方式分类 **▶同步通信:**带时钟同步信号传输。 即要求接收端时钟频率和发送端时钟频率一致;一旦开始时,发送方要以固定的节奏去发送数据,而接收方要以同样的节奏时刻做好接收数据的准备。 -SPI,IIC通信接口 **▶异步通信:**不带时钟同步信号。 收发双方可以有各自自己的时钟;异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,接收方是在数据的起始位和停止位的帮助下实现信息同步的。 -UART(通用异步收发器),单总线 通俗的讲,异步是你扔出去一个内容,对方靠着内容前后他能嗅到的异样在人潮之中发现了它,把这个内容存下来;而同步是对方在时刻等着你发布号令,你告诉对方我要发送了哦,然后双方一拍即合。 1.1.3 常见的串行通信接口 ◉UART:通用异步收发器 ◉USART:通用同步异步收发器 有3个USART和2个UART 1.1.4 UART异步通信方式引脚连接方式 -RXD:数据输入引脚。数据接收 -RTD:数据输出引脚。数据发送 ①芯片1和芯片2的连接方式: ②芯片与PC机的引脚连接方式: 说明:PC机的串口是DB9,与芯片的串口的TTL电平不兼容,所以需要通过RS232转换器,将芯片串口的TTL电平转换为232电平,因此才可以进行通信。 1.1.5 串口通信过程 数据接收过程: 数据来源于外部设备,一位一位的传输到芯片的数据接收引脚(RXD),传输的速度由波特率来决定。 数据发送过程: 类似于数据接收。 1.1.6 通信过程需定义的参数 ①起始位 ②数据位(8位或9位) ③奇偶校验位 ④停止位(1,15,2位) ⑤波特率设置 例如: 2. 串口通信配置 2.1 常用库函数 2.2 串行通信的配置步骤
都是访问串口的SR状态寄存器,唯一不同是,USART_GetITStatus()会判断中断是否开启,如果没开启,也会返回false。 ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint32_t USART_IT) 该函数不仅会判断标志位是否置1,同时还会判断是否使能了相应的中断。所以在串口中断函数中,如果要获取中断标志位,通常使用该函数。------串口中断函数中使用。 FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint32_t USART_FLAG) 该函数只判断标志位。在没有使能相应的中断时,通常使用该函数来判断标志位是否置1。------做串口轮询时使用。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
1634 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4741 浏览 0 评论
4231 浏览 9 评论
3824 浏览 16 评论
4400 浏览 1 评论
4213浏览 3评论
2381浏览 0评论
3395浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 15:02 , Processed in 0.715673 second(s), Total 77, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1441