完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
5 串口USART
端口复用+中断+USART 5.1 基本原理 (1)USART
(2)/USART框图 中文参考手册 (3)/波特率计算 衡量通信性能的一个非常重要的参数就是通信速率,通常以比特率(Bitrate)来表示。比特率是每秒钟传输二进制代码的位数,单位是:位/秒(bps)。如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位),这时的比特率为: 10位×240个/秒 = 2400 bps 这里的fCK是给外设的时钟(PCLK1用于USART2、 3、 4、 5, PCLK2用于USART1) USARTDIV是一个无符号的定点数。这12位的值设置在USART_BRR寄存器。 寄存器版:如何通过 USARTDIV 得到串口 USART_BRR 寄存器的值。 假设我们的串 口 1 要设置为 115200 的波特率,而 PCLK2 的时钟为 72M。这样,我们根据上面的公式有: USARTDIV=72000000/(115200*16)= 39.0625 那么:DIV_Fraction=16*0. 0625=1=0X01;DIV_Mantissa=39=0X27; 这样,我们就得到了 USART1->BRR 的值为 0X0271。只要设置串口 1 的 BRR 寄存器值为0X0271 就可以得到 115200 的波特率。 5.2 硬件连接 XCOM串口助手与STM32实现数据串行通信,注意USART相关参数要一致! STM32通过USART1实现与PC机对话,STM32的USART1收到PC机发来的数据后原封不动的返回给PC机显示。 PA9,PA10(串口1)连接到了USB串口电路。 (1)USB/RS232/TTL 在计算机和单片机组成的RS-232串口通信系统中,下位机由单片机系统组成,上位机为普通的PC机。但现在的电脑上,已经不存在串口,所以一般使用USB转串口芯片,把电脑的USB口映射为串口用。
用串口和CH340模块都可以让计算机和单片机进行通信,但是使用CH340更加方便,省去了使用串口的麻烦。CH340是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者USB转打印口。 CH340将普通的串口设备直接升级到USB总线、通过USB总线为计算机增加额外串口。通过外加电平转换器件,可以进一步提供RS232、RS485、RS422 等接口。 (3)/RS-232 RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准,20。RS-232C接口规定使用25针连接器,连接器的尺寸及每个插针的排 列位置都有明确的定义。(阳/公头)
5.3 步骤 main.c文件下的stm32f10x_usart.h文件中可以查到大部分相关函数!
#define USART_REC_LEN 200 //定义最大接收字节数 200 u8 USART_RX_BUF[USART_REC_LEN]; //接收缓冲,最大USART_REC_LEN个字节.末字节为换行符 u16 USART_RX_STA; //接收状态标记
5.4 printf重定向 我们知道C语言中printf函数默认输出设备是显示器,如果要实现在串口或者LCD上显示,必须重定义标准库函数里调用的与输出设备相关的函数。比如使用printf输出到串口,需要将fputc里面的输出指向串口,这一过程就叫重定向。 那么如何让STM32使用printf函数呢? #include “stdio.h”//头文件一定不能忘 int fputc(int ch,FILE *p) //函数默认的,在使用printf函数时自动调用 { USART_SendData(USART1,(u8)ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET); return ch; } |
||||||
|
||||||
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
2197 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1844 浏览 1 评论
1341 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
879 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
2211 浏览 2 评论
2116浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
1031浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
407浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
732浏览 3评论
716浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-15 08:04 , Processed in 1.203883 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191