STM32利用库函数编程
库函数是STM32生产厂家封装好的函数库,方便用户编程。
USART 库函数
USART库函数包括三种初始化函数,1—缺省值初始化,2—普通初始化,3—结构体类初始化,一般情况下,我们选择第三种初始化方式
第一步:配置使能位(包括波特率,数据位,停止位,校验位)
先定义一个结构体变量:USART_InitTypeDef USART_InitStructure ,
然后根据该结构体的相关配置参数,配置实际需要的参数。
USART_InitStructure.USART_BaudRate = 9600; //波特率设置为9600
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //数据长度为8位
USART_InitStructure.USART_StopBits = USART_StopBits_1; //1位停止位
USART_InitStructure.USART_Parity = USART_Parity_No; //无奇偶校验位
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //关闭数据流控制
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx ; //收发模式任选
USART_Init(USART1, &USART_InitStructure); //给结构体成员赋值
USART_Cmd(USART1 ,ENABLE); //USART1使能
配置好了USART1的功能,下面可以调用这个函数,进行发送并在USART1#窗口中显示
u8 i ,data = 'A'; //定义变量
//利用for循环,显示连续20个字符
for(i=0;i<20;i++)
{
USART_SendData(USART1,data);
data++;
while( USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET) ; ; //判断USART_SR寄存器中TXE/TC 位
}
此时,可以编译程序,编译成功,进行Dubug.
关键字:STM32 固件库
引用地址:
STM32学习002_固件库介绍
推荐阅读最新更新时间:2024-03-16 15:41
【STM32】通用定时器的输入捕获(实例:输入捕获)
STM32F1xx官方资料: 《STM32中文参考手册V10》-第14章 通用定时器 通用定时器输入捕获概述 输入捕获的工作原理 在通用定时器框图中,主要涉及到最顶上的一部分(计数时钟的选择)、中间部分(时基单元)、左下部分(输入捕获)这三个部分。这里主要讲解一下左下部分(输入捕获),其他两个部分可以参考文章:【STM32】通用定时器的基本原理(实例:定时器中断)。 输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6、TIM7,其他的定时器都有输入捕获的功能。下面以一个简单的脉冲输入为例,简单地讲述一下输入捕获用于测量脉冲宽度的工作原理: 先设置输入捕获为上升沿检测,记录
[单片机]
STM32 控制lcm液晶ILI9341驱动的液晶驱动程序(续)
在做项目的过程中遇到了这个问题,感觉文章写得不错,共享给对FSMC的使用怀有疑惑的同伴们! LCD有如下控制线: CS:Chip Select片选,低电平有效 RS:Register Select寄存器选择 WR:Write写信号,低电平有效 RD:Read读信号,低电平有效 RESET:重启信号,低电平有效 DB0-DB15:数据线 假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多): 如果情况如下: DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。 CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效) RS为1(表示DB0-15上传递的是
[单片机]
STM32中定时器的时钟源
STM32中有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生。 下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图: 从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,图中的蓝色部分。 下面以定时器2~7的时钟说明这个倍频器的作用:当APB1的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APB1的频率;当 APB1的预分频系数为其它数值(即预分频系数为2、4、8或16)时,这个倍频器起作用,定时器
[单片机]
STM32关于USART的问题集锦
1、STM32103USART1死机 问:voidUSART_Receive(USART_TypeDef*USARTx) { if(USART_GetFlagStatus(USARTx,USART_FLAG_RXNE)==SET) { USART_ClearFlag(USARTx,USART_FLAG_RXNE); s =USART_ReceiveData(USART1); delay(1000); s =USART_ReceiveData(USART1); delay(1000); s =USART_ReceiveData(USART1); delay(1000); write_c
[单片机]
STM32学习之通用定时器的使用
简介:STM32一共有8个通用16位Timer,其中TIMER1和TIMER8是高级定时器,其它的TIMER2~TIMER7是普通定时器。此外还有一个Systick(系统滴答定时器),这个定时器通常在操作系统中作为系统的任务切换周期。还有一个RTC,是一个毫秒定时器,支持秒级中断,用来做实时时钟计数器。看门狗定时器 也可以算一个。 8个定时器中,Timer1 和Timer8是由APB2(输出最高频率为72MHZ)预分频后,再通过一个倍频器得到时钟频率,最高为72MHz。Timer2~Timer7则是由APB1(输出最高频率为36MHZ)预分频后,再通过一个倍频器得到时钟频率,最高为36MHz。 1、如何进行程序编写 这
[单片机]
基于STM32芯片的指纹识别系统设计与实现
引言 指纹识别是根据每个人指纹的不变性和唯一性进行身份识别的一门技术。随着社会的发展,嵌入式的指纹识别技术越来越受到市场的青睐,成为近年研发的重点,但目前的嵌入式指纹算法大多在实时性和准确度上还存在不足,需要进一步优化算法,以实现准确高效的指纹识别。 本研究设计、实现一种基于STM32芯片的指纹识别系统,通过指纹传感器采集指纹数据,指纹算法处理指纹数据实现指纹识别,同时结合VC++平台建立人机交互界面对指纹图像数据显示。 1、系统硬件设计 1.1、结构组成及特点 本研究采用ARMcortex-M3内核的32位处理器STM32F-103ZET6作为主控制器,该芯片内部采用哈佛结构、其中集成有64KB的RAM和512KB的FL
[单片机]
STM32单片机串口一键下载电路与操作方法详解
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。 3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 要了解STM32的几种启动模式. BOOT0接GND,BOOT1接GND.那就是正常的启动模式,从flash加载代码. 而BOOT0接V3.3,BOOT1接GND.则是ISP模式,也就是串口更新代码. 其次,你要了解STM32 ISP下载代码的过程. 首先BOOT0接V3.3,然
[单片机]
ST低价32位MCU:传承STM32基因 发展自己的生态系统
日前,意法半导体发布了它最新的STM32F030基于Cortex-M0内核的超值系列微控制器,以0.32美元的批量订货价格引发热议。意法半导体表示:“与同类竞争产品不同的是,STM32F030虽然只有8位微控制器的价格,但在性能和特性上并没有受到任何影响。它保持了原有的内核速度和丰富的外设,传承了STM32F0家族的优异基因。”STM32F030将面向工业控制、消费电子和家用电器三大目标应用。
低价来源于规模经济
打造宽产品线平台
在新品的交流中,意法半导体大中华与亚太区微控制器市场及应用总监James Wiart提供了这样的数据:从2009到2012年,ST在MCU市场的份额翻了一番,年增长率达到市场平均的三倍。其中
[单片机]