STM32之库函数开发总结

发布者:码农闲散人最新更新时间:2018-12-26 来源: eefocus关键字:STM32  库函数  开发总结 手机看文章 扫描二维码
随时随地手机看文章

1、使用ST库对外设进行初始化,一般有以下步骤: 

①定义一个xxx_InitTypeDef类型的初始化结构体; 

②根据使用需求,向这些初始化结构体的成员写入特定的控制参数; 

③填充好结构体之后,把这个结构体作为输入参数调用相应的外设库函数xxx_Init();从而实现向寄存器写入控制参数,并配置好外设。 

2、标志位的检查与清除 

对标志位进行检查的库函数,一般命名为xxx_GetFlagStatus()或xxx_GetITStatus(),功能分别为获取事件标志状态和中断标志位状态。 

对标志位进行清除的ST库函数,一般命名为xxx_ClearFlag()或xxx_ClearITPendingBit()函数,功能分别为清除事件标志位和清除挂起的中断标志位。

关键字:STM32  库函数  开发总结 引用地址:STM32之库函数开发总结

上一篇:STM32之SPI模式
下一篇:STM32学习之启动代码注释

推荐阅读最新更新时间:2024-03-16 16:21

STM32 UART DMA实现未知数据长度接收
串口通信是经常使用到的功能,在STM32中UART具有DMA功能,并且收发都可以使用DMA,使用DMA发送基本上大家不会遇到什么问题,因为发送的时候会告知DMA发送的数据长度,DMA按照发送的长度直接发送就OK了,但是使用DMA接收时候就不同了,因为有时候数据接收并不是每一次都是定长的,但是DMA只在接收数据长度和设定数据长度相同的时候才可以触发中断,告诉MCU数据接收完毕,针对这个问题,解决方法如下,有一点复杂,但是很管用。 UART在传输一个字节的时候,首先拉低,传输起始位,然后在是LSB MSB,最后是停止位,停止位是高电平 超时时间 搞过串口通信的都知道,如果串口有协议,一般都是有个超时时间的,超时时间是定义两个帧之间的间
[单片机]
STM32库函数void USART_SendData()的缺陷和解决方法
简介:本文主要谈到了STM32库函数void USART_SendData()存在的一些问题,针对这些问题提到了3个解决方案,一起来看看。 2.1问题及现象 使用USART_SendData()函数非连续发送单个字符是没有问题的;当连续发送字符时(两个字符间没有延时),就会发现发送缓冲区有溢出现象。若发送的数据量很小时,此时串口发送的只是最后一个字符,当发送数据量大时,就会导致发送的数据莫名其妙的丢失。 如: for(TxCounter = 0;TxCounter RxCounter; TxCounter++) USART_SendData(USART1, RxBuffer ); 2.2原因 此API
[单片机]
STM32系统学习——TIM(基本定时器)
一、定时器分类 STM32F1 系列中,除了互联型的产品,共有 8 个定时器,分为基本定时器,通用定时器和高级定时器。基本定时器 TIM6 和 TIM7 是一个 16 位的只能向上计数的定时器,只能定时,没有外部 IO。通用定时器 TIM2/3/4/5 是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,每个定时器有四个外部 IO。高级定时器 TIM1/8是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,还可以有三相电机互补输出信号,每个定时器有 8 个外部 IO。 二、功能框图剖析 基本定时器的核心是时基,通用计时器和高级定时器也有。
[单片机]
<font color='red'>STM32</font>系统学习——TIM(基本定时器)
STM32之IIC通讯升级版--SHT30温湿度读取
针对上篇文章对于程序可移植性不强的问题进行优化,基本思路是首先搭建好IIC底层驱动程序,该程序可用于任何IIC通讯设备,然后针对不同的IIC设备单独编写应用程序,本篇文章仍以SHT30为例。 一、IIC底层驱动之myiic.h #ifndef __MYIIC_H #define __MYIIC_H #include sys.h //IO方向设置 #define SDA_IN() {GPIOC- CRH&=0XFFFF0FFF;GPIOC- CRH|=8 12;} #define SDA_OUT() {GPIOC- CRH&=0XFFFF0FFF;GPIOC- CRH|=3 12;} //IO操作函数
[单片机]
<font color='red'>STM32</font>之IIC通讯升级版--SHT30温湿度读取
STM32之SDIO例程
移植ST官方demo,做了部分修改 #include stm32f10x.h #include sdio_sd.h /* RCC时钟配置 */ void RCC_config(void) { ErrorStatus HSEStartUpStatus; /* RCC寄存器设置为默认配置 */ RCC_DeInit(); /* 打开外部高速时钟 */ RCC_HSEConfig(RCC_HSE_ON); /* 等待外部高速时钟稳定 */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) { /*
[单片机]
STM32:Step1工具安装
工具安装及首次测试 目标描述 教授如何安装STM32编程的主要工具: STM32CubeMX,一种用于设置和图形化编程所有 STM32 板和产品的工具 STM32CubeIDE,用于开发 STM32 软件的免费 IDE STM32CubeProg,一种在STM32内存中加载/监视软件的工具 STM32CubeL4,带有嵌入式示例的STM32L4 MCU软件包 完成本教程后,您应该能够打开 STM32 专业生态系统。 您还应该设法将应用程序从生态系统带到 NUCLEO 板上。 最后,您将能够在调试模式下运行闪烁的 LED 示例。 先决条件 装有 Windows 7(或更高版本)的计算机 安装Java 网络访问 硬件 NUCLEO-L
[单片机]
<font color='red'>STM32</font>:Step1工具安装
STM32单片机的启动文件及FLASH分配
STM32的启动文件 STM32作为一款单片机,它的启动方式很简单,即当Boot配置了从内部Flash启动模式之后,一上电程序就会从0x8000000地址处开始执行文件,因此我们在使用Keil设置程序起始地址的时候,需要将这个Flash地址设置成0x8000000,只有将这个地址设置成0x8000000,生成的hex文件才可以被正常烧录到此地址,单片机上电之后才可以正常启动。而如果使用J-Flash工具烧写Hex文件时,这个地址会自动根据Hex文件解析出来。然而如果当你烧写二进制Bin文件时,还需要手动将单片机的起始地址制定出来,关于Hex文件和Bin文件的异同点,这个又是可以长篇大论一番了,我们下次特别写文章来讲。
[单片机]
<font color='red'>STM32</font>单片机的启动文件及FLASH分配
ST低价32位MCU:传承STM32基因 发展自己的生态系统
日前,意法半导体发布了它最新的STM32F030基于Cortex-M0内核的超值系列微控制器,以0.32美元的批量订货价格引发热议。意法半导体表示:“与同类竞争产品不同的是,STM32F030虽然只有8位微控制器的价格,但在性能和特性上并没有受到任何影响。它保持了原有的内核速度和丰富的外设,传承了STM32F0家族的优异基因。”STM32F030将面向工业控制、消费电子和家用电器三大目标应用。 低价来源于规模经济 打造宽产品线平台 在新品的交流中,意法半导体大中华与亚太区微控制器市场及应用总监James Wiart提供了这样的数据:从2009到2012年,ST在MCU市场的份额翻了一番,年增长率达到市场平均的三倍。其中
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved