打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
STM32库函数汇总

1.GPIO初始化函数 第1个参数设置GPIO端口,第二个为结构体设置模式

  GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);  

2.读取输入电平函数

  uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);  读取某个GPIO输入的电平,实际操作IDR寄存器,有返回值

  uint8_t  GPIO_ReadInputData(GPIO_TypeDef* GPIOx);  读取一组GPIO输入的电平,实际操作IDR寄存,有返回值

3.读取输出电平函数

  uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);  读取某个GPIO输出的电平,实际操作ODR寄存器,有返回值

  uint8_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);读取某组GPIO输出的电平,实际操作ODR寄存器,有返回值

4.设置输出电平函数

  GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);  设置高电平实际操作,BSRR寄存器

  GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);  设置低电平,实际操作BRR寄存器

Gpio复用功能配置函数

5.  
改变指定管脚的映射关系。即配置指定管脚的复用功能。

void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource,uint8_t GPIO_AF)

函数参数说明:GPIOx:gpio的分组/gpio端口;GPIO_PinSource:具体要配置成复用功能的管脚(如GPIO_Pin_0   GPIO_Pin_1这样的宏定义);GPIO_AF:选择该管脚要使用的复用功能。

5.使能时钟函数

  RCC_APB2PeriphColckCmd();

 

6.开启重映射时钟

  GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);参数1可以是串口,SWJ等很多种类型

7.设置中断优先级分组

  void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);  在misc.c文件中

8.设置抢占优先级和响应优先级

  void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);需要设置通道,抢占优先级,响应优先级,使能通道等

9.串口相关函数

  void USART_Init();串口初始化:波特率,数据字长,奇偶校验,硬件流控以收发使能

  void USART_Cmd(形参1,形参2);使能串口,形参1是串口位,形参2是ENABLE;

  void USART_ITConfig(形参1,形参2,形参3);使能中断,形参1是串口位,形参2是要开启中断的类型,形参3是ENABLE;

  void USART_SendData(形参1,形参2);发送数据到串口,DR,形参1是串口位,形参2是要发送是数据

  uint16_t USART_ReceiveData(形参1);接收数据,从DR读取接收到的数据,形参1值是串口位

  FlagStatus USART_GetFlagStatus();获取状态标志位

  void USART_ClearFlag();清除状态标志位

  ITStatus USART_GetITStatus(形参1,形参2)获取中断标志位;参数1值是串口位,参数2是要获取的状态

  void USART_ClearITPendingBit();清除中断状态标志位

  USART1_IRQHandler();USART中断函数,产生中断后进入,函数在核心文件中;

10.外部中断函数

  GPIO_EXTILineConfig(参数1,参数2);设置中断线的映射关系,参数1与参数2为要中断的IO

  EXTI_Init();初始化外部中断线,触发方式,

  EXTI_GetITStatus();判断中断状态是否发生

  EXTI_ClearlTPendingBit();清除中断线上的标志位

11.独立看门狗实验

  IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);形参后面跟ENABLE,取消写保护

  IWDG_SetPrescaler(uint8_t IWDG_Prescaler);设置预分频系数

  IWDG_SetReload(uint16_t Reload);设置重装载值

  IWDG_Enable();使能看门狗

  IWDG_ReloadCounter();喂狗

12.窗口看门狗

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);使能窗口看门狗

  WWDG_SetPrescaler();设置预分频系数

  WWDG_SetWindowValue();设置上窗口值 

  WWDG_EnableIT();  开启窗口看门狗中断

  NVIC_Init();中断初始化

  WWDG_Enable();使能看门狗,设置初始计数器值

  WWDG_SetCounter();喂狗 设置计数器值

  WWDG_IRQHandler();编写中断服务函数

13.通用定时器

  TIM_TimeBaseInit(TIM3, &TIM_Timesture);  初始化通用定时器

  TIM_GetITStatus(TIM3,TIM_IT_Update);  获取定时器标志位  发生中断后标志位置1 SET

  TIM_ClearITPendingBit(TIM3,TIM_IT_Update);清除定时器标志位

  TIM_ITConfig(TIM3, TIM_IT_Update,ENABLE);开启定时器中断

  TIM_Cmd(TIM3, ENABLE);  使能通用定时器

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
STM32GPIOLIB
零死角玩转stm32
初识stm32的GPIO
stm32.cube(一)
初学者对STM32GPIO库函数的理解
串口通讯的原理、代码实现及注释
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服