历史上的今天
返回首页

历史上的今天

今天是:2025年02月06日(星期四)

正在发生

2020年02月06日 | STM32单片机UART发送配置的步骤及方法

2020-02-06 来源:elecfans

字符发送的过程描述:在UART的发送过程中先将数据输入到发送数据寄存器中(TDR)此时(TXE)被硬件置1,之后TDR寄存器将数据串行移入到发送移位寄存器中,将数据在TX端口发送,此时(TC)被硬件置1。发送与接收是逆过程。


UART发送配置步骤:

1.通过USART_CR1寄存器上置位UE来激活USART。

2.编程USART_CR1的M位来定义字长。

3.在USART_CR2中编程停止位的位数。

4.如果采用多缓冲器通信,配置USART_CR3中的DMA使能位(DMAT)。按多缓冲器通信中的描述配置DMA寄存器。

5.利用USART_BRR寄存器选择要求的波特率。

6. 设置USART_CR1中的TE位,发送一个空闲帧作为第一次数据发送。

7. 把要发送的数据写进USART_DR寄存器(此动作清除TXE位)。在只有一个缓冲器的情况下,对每个待发送的数据重复步骤7。

8. 在USART_DR寄存器中写入最后一个数据字后,要等待TC=1,它表示最后一个数据帧的传输结束。当需要关闭USART或需要进入停机模式之前,需要确认传输结束,避免破坏最后一次传输。


在配置USART的接收时,除上面的步骤外,还要使能接收中断并且配置中断向量控制器NVIC。


波特率的计算方法:

STM32单片机UART发送配置的步骤及方法

USART的编程:

1.定义USART_InitTypeDef类型的结构体 UART_init

2.使能GPIO的时钟和USART的时钟。(UART1 PA9为TX,PA9为RX)

3.配置UART_init结构体的各参数。 配置波特率、数据位、停止位、奇偶效验位、硬件流、收发模式

4.初始化UART_init结构体的各参数使用函数。

5.使能USART

6.定义GPIO_InitTypeDef类型的结构体GPIO_UART

7.讲相应GPIO引脚(PA10 RX PA9 TX)。

8.初始化GPIO引脚。


在配置接收模式时,还要使能接收中断,并且配置中断向量控制器NVIC。

在发送完数据时,要判断标志TC是否置位,在接收数据时,要判断是否有接收中断请求。

推荐阅读

史海拾趣

EZchip Technologies Ltd公司的发展小趣事

在电子行业中,人才和研发实力是企业成功的关键。EZchip深知这一点,因此一直重视人才团队的建设和研发实力的提升。公司拥有一支由业内顶尖专家和学者组成的研发团队,他们具备丰富的行业经验和深厚的技术功底。同时,EZchip还注重人才培养和引进,通过提供良好的工作环境和福利待遇吸引了一批批优秀人才加入。正是这些优秀的人才和强大的研发实力,为EZchip的持续发展提供了有力保障。

Eink公司的发展小趣事
进入21世纪,E-Ink继续推动电子纸技术的发展。2000年,E-Ink与美国朗讯科技公司合作,成功开发出第一张可卷曲的电子纸和电子墨。随后,在2001年,E-Ink与日本Toppan Printing公司合作,利用Toppan的滤镜技术生产出了彩色电子纸,这是电子纸技术的一大突破。
CDI-DIODE公司的发展小趣事

随着市场竞争的加剧,CDI-DIODE公司意识到传统的营销方式已经无法满足市场需求。于是,公司开始尝试新的营销策略,如线上推广、社交媒体营销等。这些创新的营销方式不仅提升了公司的知名度,也增强了与客户的互动和联系,进一步提升了品牌影响力。

Accetek公司的发展小趣事

Accetek公司创立之初,面临着激烈的市场竞争和技术挑战。然而,创始人凭借对电子行业的深刻理解和前瞻性的眼光,选择了数控雕刻机和激光雕刻机作为公司的主营业务。通过不断的技术研发和市场调研,Accetek成功推出了一系列高质量、高性能的产品,逐渐在市场中站稳脚跟。

EXCELTA公司的发展小趣事

进入21世纪后,Excelta公司意识到国际市场的巨大潜力。为了拓展海外市场,公司制定了详细的国际化战略,并在全球范围内建立了多个生产基地和销售网络。通过与国际知名企业的合作和交流,Excelta不断吸收先进技术和管理经验,提升了自身的核心竞争力。同时,公司还积极参与国际展会和论坛,提升了品牌知名度和影响力。

ALCOA公司的发展小趣事

ALCOA,全称美国铝业公司,其发展历程可追溯至19世纪末。当时,铝在地球上蕴藏丰富,但提炼单质的铝却十分困难。年轻的查尔斯·霍尔(Charles Hall)发明了用电解方式生产单质铝的方法,并于1889年获得专利。随后,他与艾尔弗雷德·亨特(Alfred E. Hunt)船长合作,投资建厂,开始批量生产铝。这一技术创新不仅推动了铝产量的快速上升,还使得铝这种曾经比金子还贵的金属逐渐走进了人们的日常生活。

问答坊 | AI 解惑

2. 模拟开关灯

2. 模拟开关灯 1. 实验任务 如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。 2. 电路原理图 图4.2.1 3. 系统板上硬件连线 (1) ...…

查看全部问答>

哪个帮我搞下这个东西,,十万着急..明天就要交差,,,时间不够

哪个帮我搞下这个东西,,十万着急 ..PROFIBUS协议在变频器上的应用,,上网查下资料..我估计时间不够,,这个工作可以帮我整理不??你也可以提高自己,,我分心就绝对不行,,..还有MODEMBUS的资料 1...PROFIBUS协议在变频器上的应用,, 2.   ...…

查看全部问答>

请问高手们我用的是89c51F的单片机现在对用c语言来开发有问题,急等。。。

在large : XDATA模式下,如何实现掉电保存,我这样写,现在已写入就死机。 void Write_Flash_address (unsigned char block,unsigned int startaddress,unsigned char *p,unsigned int len) {         unsigned int i=0; ...…

查看全部问答>

Wince 语言支持问题

    系统的默认语言是繁体中文,在用浏览器浏览网页的时候简体中文会变成乱码。比如说浏览土豆网,其首页的文字成为乱码,进入它的一个子网又可以看到简体中文。浏览器用的是Wince 自带的。…

查看全部问答>

求教,wince cab manager的使用方法?

       哪位高手知道wince cab manager的使用方法?请赐教下。…

查看全部问答>

嵌入式 单片机 嵌入式系统。 arm。是什么关系

嵌入式  单片机   嵌入式系统。  arm。都有什么不一样,它们之间是什么关系 还有C写嵌入式在哪写啊, 看了很多介绍,越看越乱。 上面写的,哪个用开发板呢。 比如我想用c语言控制开发板上的哪些灯亮,或控制 ...…

查看全部问答>

谁知道ST技术支持电话吗

                                 在网上找答案速度太慢了,直接联系技术支持会快点,谁知道电话号码告诉一下…

查看全部问答>

请教各位:C语言编的程序,为什么进不了main()函数

本帖最后由 dontium 于 2015-1-23 13:21 编辑 我用的是2407,C语言编的程序,为什么就进不了main()函数 复位向量写的是_c_int0,没错啊 换了别的程序go main可以直接跳进main()函数 有谁知道怎么回事 …

查看全部问答>

用TI的SwitcherPro 软件生成基于TPS54128的电路不能实现预期要求

我按照软件的提示输入了最小输入电压3.6V最大输入电压5.2V。输出电压3.3V输出最大电流1A。软件然后生成的电路如下。但是我由于买元器件的限制,我把电路调整如下然后我就按照这个电路做的PCB,焊接好元件后测试,实际需要输入电压到4V才有输出,并 ...…

查看全部问答>

跪求高手解决STM32低功耗问题

低功耗问题已经搞了一段很长时间了,没头绪,希望高手指点. 目前进入STOP模式和外部中断退出都OK. 问题是进入低功耗后电流还有10~30MA 而且是波动的. 我在进入休眠的操作是: 1.将不用的外设模块关闭电源(已关闭) 2.将无用的IO设置成上拉输入模式 ...…

查看全部问答>