当前位置: 首页 > wzjs >正文

espcms易思企业网站管理系怎么做app推广

espcms易思企业网站管理系,怎么做app推广,软件技术适合女生学吗,怎么做物流网站1、void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, const GPIO_InitTypeDef *pGPIO_Init) GPIO外设属于是任何芯片的最基础功能 ,STM32各个系列的GPIO初始化都是一致的,有不同的是部分系列在IO复用使用了单独一个成员属性Alternate 来表明这个IO的具体复用功…

1、void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, const GPIO_InitTypeDef *pGPIO_Init)

GPIO外设属于是任何芯片的最基础功能 ,STM32各个系列的GPIO初始化都是一致的,有不同的是部分系列在IO复用使用了单独一个成员属性Alternate 来表明这个IO的具体复用功能,但是一些旧系列并没有这个属性,因此在编写程序时需要注意本系列单片机是否存在这个属性。

static void MX_GPIO_Init(void)
{GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_GPIOA_CLK_ENABLE();  //使能需要使用的GPIO组的时钟__HAL_RCC_GPIOB_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5; //选择使用的GPIO管脚GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;  //选择使用的模式GPIO_InitStruct.Pull = GPIO_NOPULL;          //选择上下拉模式GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; //选择GPIO的速度HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);}

2、void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)

GPIO的复位配置函数,函数传参同上。值得注意的是STM32调用此函数之后对应的GPIO口的配置被恢复到未配置之前的状态也就是模拟输入模式,这也是STM32所有的IO上电或者复位后的初始化模式。

3、GPIO_PinState HAL_GPIO_ReadPin(const GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)

读取IO口的电平状态函数,此函数不区分GPIO的输入输出模式,电平状态都可以直接读取。

    if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_4) == GPIO_PIN_SET){HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);}else{HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);}

4、void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)

GPIO口的输出电平设置,只能使用在GPIO口为输出模式的情况下。

//设置(输出)高电平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);//设置(输出)低电平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);

5、void HAL_GPIO_WriteMultipleStatePin(GPIO_TypeDef *GPIOx, uint16_t PinReset, uint16_t PinSet)

同组GPIO多个IO同时控制函数,本函数可以对同一组的IO口两种电平状态同时输出。相当于控制多个IO设置高电平和设置低电平一条函数完成。前提是必须同一个GPIO组。并非所有的系列都可以使用本函数。

		 HAL_GPIO_WriteMultipleStatePin(GPIOB,GPIO_PIN_4,GPIO_PIN_5);
//设置GPIOB4低电平 设置GPIOB5高电平
//相当于
//设置PB5(输出)高电平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);//设置PB4(输出)低电平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET);

优点是是一条语句可以替代多条语句,IO口可以通过或运算组合,另外本函数操作属于原子操作,无法被中断打断,这在有操作系统和实时控制行业中非常有用。

6、void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)

GPIO口翻转目前电平状态的函数,属于经常使用的重点函数。常用在控制LED灯闪烁的场景。

void HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);
//让PB4输出当前电平状态相反的电平

7、HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)

GPIO口配置锁死函数。其目的是为了防止在配置好IO口后在程序中其他地方再次修改IO的配置造成故障,使用本函数后当前的IO模式不能被修改,除非程序复位后才能修改。

HAL_GPIO_LockPin(GPIOB,GPIO_PIN_4);
//GPIOB4 的当前的配置无法被修改

8、void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)

外部中断请求处理函数,首先配置GPIO的模式为上升沿或者下降沿监测,GPIO口作为中断口使用的时候不属于复用功能。随后设置外部中断线的优先级并启动本中断。STM32 中一旦开启了中断即必须有对应的中断服务函数,否则可能会造成死机。

​​在HAL_GPIO_EXTI_IRQHandler函数中会调用一个回调函数来完成最终的中断处理,因为不同系列调用的回调函数不一致,因此需要打开本函数内部找到具体调用哪一个回调函数。例如在H5系列中回调函数区分上升沿和下降沿,按照需要调用。

  __HAL_RCC_GPIOA_CLK_ENABLE();__HAL_RCC_GPIOB_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_0;GPIO_InitStruct.Pull = GPIO_PULLDOWN;GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;HAL_GPIO_Init(GPIOA,&GPIO_InitStruct);HAL_NVIC_SetPriority(EXTI0_IRQn,0,1);  //设置优先级HAL_NVIC_EnableIRQ(EXTI0_IRQn);        //开启外部中断void EXTI0_IRQHandler()  //中断服务函数
{HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);//响应中断请求函数
}void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin)
{switch(GPIO_Pin){case GPIO_PIN_0://具体任务实现break;}
}
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{}

http://www.dtcms.com/wzjs/130684.html

相关文章:

  • 网站短链接生成百度关键词搜索怎么弄
  • 甘肃省环保建设申报网站广州seo服务
  • 深圳网站设计多少钱网络兼职平台
  • 廊坊百度提升优化临安网站seo
  • 丽江建设信息网站网站关键字优化技巧
  • 0735郴州招聘信息网赣州网站seo
  • 深圳全网推广公司抖音seo公司
  • 做网站服务器配置怎么选百度搜索广告推广
  • 为什么做网站都用php百度信息流推广和搜索推广
  • 成都营销网站建设高端seo服务
  • 企业网站开发课程百度大搜
  • 网站开发参考文献2016十大免费网站推广
  • 加拿大28怎么做网站代理苏州手机关键词优化
  • 网站制作报价表网站推广服务商
  • 网站建设广告平台推广百度站长seo
  • 微商货源类网站源码出售网站平台
  • 杭州专业网站建设seo实战密码电子书
  • 沈阳手机网站建设百度账号注册中心
  • 自己做网站的流程电商网站运营
  • 钟山县住房和城乡建设局网站百度seo霸屏软件
  • 网站备案法律网站的优化
  • 做软件开发的网站有哪些系统优化软件十大排名
  • 网站做产品的审核工作国际网站平台有哪些
  • wordpress xml文件分割器湖南seo优化排名
  • 中英文网站 程序苏州推广排名
  • 淘宝网站图片维护怎么做百度指数批量
  • wordpress无法开始安装威海百度seo
  • 微信做的团购网站魔方优化大师官网下载
  • 建网360 网站建设alexa排名查询统计
  • php网站开发如何赚钱2022最近比较火的热点话题