完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、USART简介
USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。 主要特点:
USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。控制寄存器为所有的模块共享。 时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成。发送时钟引脚XCK仅用于同步发送模式下,发送器部分由一个单独的写入缓冲器(发送UDR)、一个串行移位寄存器、校验位发生器和用于处理不同帧结构的控制逻辑电路构成。使用写入缓冲器,实现了连续发送多帧数据无延时的通信。 接收器是USART模块最复杂的部分,最主要的是时钟和数据接收单元。数据接收单元用作异步数据的接收。除了接收单元,接收器还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收UDR)。接收器支持与发送器相同的帧结构,同时支持帧错误、数据溢出和校验错误的检测。 二、USART图示 三、基于寄存器与基于固件库的stm32 LED流水灯例子的编程方式差异比较: 1、基于寄存器方式的开发特点: (1)具体参数更直观; (2)程序运行占用资源少。 但是它的缺陷也不可忽视,如下: (1)开发速度慢; (2)程序可读性差; (3) 维护复杂。 上述缺陷直接影响了开发效率,程序维护成本,交流成本。通常情况下,只有在频繁调用的中断服务函数时利用直接配置寄存器的方式。 2、基于固态库方式开发,也就是直接调用库函数,特点就是: (1)外设交流方便; (2)查错简单; (3)对主控制器STM32上手简单。 总的来说基于寄存器:资料丰富,容易理解,适合新手学习。 基于固件库:可移植性强,更贴近底层,要求对工作原理有深入理解,适合有丰富经验的人使用。 四、STM32的USART串口通信程序实例
修改的代码如下
点击魔法棒 进入后选择debug,在Use下选择J-Link连接 setting 一切就绪,点击load将程序烧录进芯片 打开野火的串口调试助手 可以看到STM32系统给上位机(win10)连续发送“hello windows! 当上位机给stm32发送“Stop,stm32”后,stm32停止发送。 任务完成! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 11:10 , Processed in 0.772590 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号