历史上的今天
今天是:2025年05月23日(星期五)
2019年05月23日 | 对STM32F10xxx中UART通信的一些理解
2019-05-23 来源:eefocus
1.串口通信,一般有UART,USART,I2C,SPI,485通信,can通信
2.UART指通用异步收发传输器,可以实现全双工传输和接收。UART通信时,数据先发低位再发高位。
3.USART指通用同步/异步串行接收/发送器。
4.UART与USART的硬件总线区别?
1.UART: Rxd—–读数据线
Txd—–写数据线
2.USART:Rxd—–读数据线
Txd—–写数据线
RTS—–接收器流控线
CTS—–发送器流控线
5.UART通信模型
6.USART通信模型
相对于UART,每个设备多两条线RTS,CTS
RTS—(发送流控线)(通知另外一个设备)——对应——CTS(接收流控线)
都有一个地线
7.UART发送和接收的可编程波特率,最高达 4.5Mbits/s
8.UART的应用场景:USART应用中大部分时候使用异步的模式,智能卡使用同步模式;
USART/UART作为调试的方法,通过串口助手打印在PC机上;
支持多种外设,例如9轴传感器、电子指南针、串口透传蓝牙、串口透传WiFi;
还可以作为485通信的基础,485可以延长通信距离。
9.UART时序:
字长可以通过编程USART_CR1寄存器中的M位,选择成8或9位。在起始位期间, TX脚处于低电平,在停止位期间处于高电平。
每个字符(每帧信息)由4部分组成:
(1)1位起始位,规定为低电平0;
(2)8~9位数据位,即要发送的有效信息;
(3)1位奇偶校验位(可选);
(4)0.5,1.5,2个停止位,规定为高电平1.
10.USART中的寄存器
一个状态寄存器(USART_SR)
数据寄存器(USART_DR)
一个波特率寄存器(USART_BBR),12位整数和4位小数
控制寄存器1(USART_CR1)
控制寄存器2(USART_CR2)
控制寄存器3(USART_CR3)
一个智能卡模式下的保护时间寄存器(USART_GTPR)
11.USART通信中断原理流程:
(1)恢复默认
(2)打开相应时钟APB
(3)GPIO口初始化
(4)USART模式初始化,波特率,字长,停止位,校验位,硬件流控
(5)使能USART中断
(6)清空USART标志位
(7)使能USART
(8)USART中嵌套向量中断控制器NVIC初始化,优先级组,抢占式优先级和响应式优先级个数
(9)编写中断服务函数
史海拾趣
|
测试仪器用液晶屏 1,液晶屏的尺寸如何给出的?是对角线的尺寸吗? 2,对角线4~5左右的单色液晶屏,要求视场角较大的,有哪些牌子可选择?价格? 3,单片机接液晶屏时,应带有驱动程序吧? 希望了解的朋友指点。… 查看全部问答> |
|
【设计工具】xilinx sp605 PCIe EDK使用方法(之二:pci-e的windows 驱动) $(\'swf_HNg\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMTkxODk3ODQ4/v.sw ...… 查看全部问答> |
|
这个我就不介绍了 直接看视频吧 激发你们的创意!!! $(\'flv_s3f\').innerHTML=(AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'htt ...… 查看全部问答> |
|
昨晚我已经完成了 通过LED闪烁,测试uSer中的任务是否已经成功加入了定时器中断。 然而,最后我们也发现了,main函数的初始化显示出了 这个虽然很简单但已经显示出混乱的迹象。 这是个危险的苗头。 所以我们在继续开始以前,必须先理清条理。 ...… 查看全部问答> |
|
DIY电力线载波模块 通过家庭工频供电线路,实现不同设备之间的数据通讯,控制。。。。。 目前找到一个DIY方案,期待大家的意见和建议 。 MCU部分按个人熟悉对接,主要成本参考,TDA5051(14元),78250(20元)其他待定 1、非隔离 2、隔离 ...… 查看全部问答> |




