ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:1.90MB ,
资源ID:8267964      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8267964.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(144 stm32 USART串口的应用.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

144 stm32 USART串口的应用.docx

1、144 stm32 USART串口的应用一、串行通信的基本概念(一)通信的基本概念通信,最少要有两个对象,一个收,一个发。通信方式分为同步通信和异步通信。1同步通信和异步通信(1)同步通信 一般情况下同步通信指的是通信双方根据同步信号进行通信的方式(使用同一个时钟)。比如通信双方有一个共同的时钟信号,大家根据时钟信号的变化进行通信,如:SPI,I2C(2)异步通信:指数据传输速度匹配依赖于通信双方有自己独立的系统时钟,大家约定好通信的速度。异步通信不需要同步信号,但是并不是说通信的过程不同布,如:串口。缺点:因为使用的是不同的时钟,在传输数据时容易产生误差,当数据量大了之后误差就可能会很大。优

2、点:不受时钟的限制2串行通信和并行通信的区别串行通信:指的是同一时刻只能收或发一个bit位信息。因此只用1根信号线即可。并行通信:指的是同一时刻可以收或发多个bit位的信息,因此需要多根信号线才行3单工、半双工、全双工 单工:要么收,要么发,只能做接收设备或者发送设备。比如收音机 半双工:可以收,可以发,但是不能同时收发, 比如对讲机 全双工:可以在同一时刻既接收,又发送。 手机4常见通信总结SPI和IIC一般用于同一个设备上的两个芯片之间的通信,SPI和IIC的线实在板子上的那些个走线。一般都是用于近距离通信。UART用于两个设备之间的通信。(二)USART介绍 通用同步异步收发器(USAR

3、T)灵活地与外部设备进行全双工数据通信,满足外部设备对工业标准NRZ异步串行数据格式的要求。USART通过小数波特率发生器提供了多种波特率。它支持同步单向通信和半双工单线通信;还支持LIN(局域互联网络),智能卡协议与IrDA(红外数据协会)SIR ENDEC规范,以及调制解调操作(CTS/RTS)。而且,它还支持多处理器通信。但依然是常用来当做串口,进行调试打印。*UART是异步通信,USART是可以进行同步通信的 USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32 单片机),通常情况同步信号很少使用,因此USART和一般单片机UART使用方式是一样的,都

4、使用异步模式。(三)串口的电路连接两头都要接地。开发板和PC相连需要转换器是因为电平不同。(四)STM32f051串口串口2是连接wifi芯片的STM32F051内置多达两个通用同步 / 异步收发器( USART1 和 USART2 ),通信速度可达 6 Mbit / s(五)串口的通信协议 0 1 0 1 0 0 0 0 0 0 TXD 串口输出0x05波形图、低位先发送:一般串口通信能够传输5-8位,但是我们的32板子能够传输8-9位。数据位的位数要事先设置好。奇偶校验位:数据位+奇偶校验位中的1的个数。1:数据位+奇偶校验位中1的个数为奇数。0:数据位+奇偶校验位中1的个数为偶数。(六)

5、波特率 在串行通信中,用“波特率”来描述数据的传输速率。所谓波特率,既每秒传送的二进制位数,其单位为bps(bits per second)。它是衡量串行数据速度快慢的重要指标。 国际上规定一个标准的波特率系列: 110、300、600、1200、1800、2400、4800、9600、115200、14.4Kbps、19.2Kbps、例如:115200bps、指每秒传送115200位。通信双方必须设置同样的同学速率才能正常通信 注意:实际的数据没这么多,还包括起始位,结束位,校验位二、串口寄存器介绍我们一般来说的配置方式为8N1,8:数据位有8位N:没有奇偶校验位1:1位停止位(一) 控制寄

6、存器USART_CR1(二) 控制寄存器USART_CR2(三) 波特率寄存器USART_BRR需要用到响应的公式来配置,但是我们用cubemax 来配置的话,就不需要知道这个公式,都是用图形化做出的。(四)中断和状态寄存器USART_ISR(五)串口数据的接收与发送当不用FIFO方式的时候,先把数据放到TDR寄存器中,然后一位一位的发送1数据接收寄存器USART_RDR2 数据发送寄存器USART_TDR三、Stm32实现串口数据的收发(一)串口硬件原理图注意:如果无法识别串口,清装好ch340串口驱动(二)CubeMX中串口的配置波特率,数据位,校验位.(三)串口发送一个字符void Ua

7、rt_Putchar(uint8_t ch) while(!(USART1-ISR &(1TDR = ch; /发送字符void Uart_Putstring(uint8_t *str) while(*str != 0) Uart_Putchar(*str); str+; (四)串口接收一个字符 uint8_t Uart_Getchar(void) while(!(USART1-ISR & (1RDR; /返回收到的字符四、HTL串口库函数的使用及printf的实现(一)HAL库中串口的收发函数Stm32f0xx_hal_uart.c 文件中功 能:串口的发送函数原 型:HAL_UART_Tr

8、ansmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)参 数:huart:串口号 Pdata:发送的数据 Size:发送的数据长度 Timeout:超时,单位:毫秒。功 能:串口的接收函数原 型:HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)参 数:huart:串口号 Pdata:接受的数据,收数据的buf Size:接受的数据长度,buf长度 Ti

9、meout:超时,单位:毫秒。*注意buf的清空,不然会一直在接受。(二)Printf()实现串口重定向 printf函数调用的是c库中的fputc函数。因此我们如果重新写了fputc函数,就可以改变printf函数的功能,可以向串口打印输出。intfputc(intch,FILE*f) while(USART1-ISR&(1TDR=(uint8_t)ch; returnch; 五、作业请描述串口通信协议串口通信的协议顺序有起始位、数据位、奇偶校验位、停止位。起始位:因TX/RX是拉高状态平时为高电平,因此需要给一个低电平作为起始位。数据位:传送数据内容位数,数据位的位数要事先设置好。我们用cubemx设置。Stm32中,一般有奇偶校验就是9,没有奇偶校验就是8.奇偶校验位:数据位+奇偶校验位中的1的个数。1:数据位+奇偶校验位中1的个数为奇数。0:数据位+奇偶校验位中1的个数为偶数。停止位:高电平12位表示数据传输完毕。1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1