您当前的位置:首页 > 美文摘抄 > 内容

十分钟邮箱怎么用,十分钟邮箱怎么用英语说(HAL库学习系列第8篇---回调函数总结)

关于【十分钟邮箱怎么用】,十分钟邮箱怎么用英语说,今天乾乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、十分钟邮箱怎么用2、STM32 HAL库学习系列第8篇---回调函数总结

1、十分钟邮箱怎么用

十分钟邮箱用法:打开十分钟邮箱的软件主页,系统就会自动生成邮箱,默认情况下临时邮箱会维持10分钟,可以借此接收各种验证邮件。

倘若感觉时间不够用,还可以点击左上角按钮,唤起列表将10分钟邮箱延长时间为100分钟邮箱。

2、STM32 HAL库学习系列第8篇---回调函数总结

十分钟邮箱怎么用,十分钟邮箱怎么用英语说(HAL库学习系列第8篇---回调函数总结)

普通函数与回调函数的区别:就是ST将中断封装,给使用者的API,就是标准库的中断函数

对普通函数的调用:

调用程序发出对普通函数的调用后,程序执行立即转向被调用函数执行,直到被调用函数执行完毕后,再返回调用程序继续执行。从发出调用的程序的角度看,这个过程为“调用-->等待被调用函数执行完毕-->继续执行”

对回调函数调用:

调用程序发出对回调函数的调用后,不等函数执行完毕,立即返回并继续执行。这样,调用程序执和被调用函数同时在执行。当被调函数执行完毕后,被调函数会反过来调用某个事先指定函数,以通知调用程序:函数调用结束。这个过程称为回调(Callback),这正是回调函数名称的由来。

位置:stm32f4xx_hal_xxx.c 中

定义为虚函数

__weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

串口回调:stm32f4xx_hal_uart.c

voidHAL_UART_IRQHandler(UART_HandleTypeDef*huart);

voidHAL_UART_TxCpltCallback(UART_HandleTypeDef*huart); //发送回调

voidHAL_UART_TxHalfCpltCallback(UART_HandleTypeDef*huart);

voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart); //接收回调

voidHAL_UART_RxHalfCpltCallback(UART_HandleTypeDef*huart);

voidHAL_UART_ErrorCallback(UART_HandleTypeDef*huart);

voidHAL_UART_AbortCpltCallback(UART_HandleTypeDef*huart);

voidHAL_UART_AbortTransmitCpltCallback(UART_HandleTypeDef*huart);

voidHAL_UART_AbortReceiveCpltCallback(UART_HandleTypeDef*huart);

举例:

我使用的stm32的两路串口收发,两个串口接收中断处理有问题,我现在的处理方式是这样的

voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart) { if(huart==&huart2) { uRX_buf[RX_cont++]=RX_buf;// HAL_UART_Transmit_DMA(&huart2, uTX_buf, 8); if(RX_cont>63) { RX_cont=0; } } else if(huart==&huart4) { uRX_buf[RX_cont++]=RX_buf4; if(RX_cont>63) { RX_cont=0; }// HAL_UART_Receive_IT(&huart4,&RX_buf4,1);//¡ä??¨²?¨®¨º¨¹?D?? }

定时器回调:stm32f4xx_hal_tim.c

voidHAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef*htim); //周期运行回调,配置定时进入中断

voidHAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef*htim);//输出比较回调

voidHAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef*htim);

voidHAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef*htim);

voidHAL_TIM_TriggerCallback(TIM_HandleTypeDef*htim);

voidHAL_TIM_ErrorCallback(TIM_HandleTypeDef*htim);

GPIO:

GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin);//读引脚状态

voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin,GPIO_PinState PinState); //写状态

voidHAL_GPIO_TogglePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin); //翻转电平

HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin); //锁存引脚状态

voidHAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin); //实际调用的是下边的中断回调函数

voidHAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin); //引脚触发之后的回调函数,按键中断函数

举例; cube配置时开启中断触发模式

voidHAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { switch(GPIO_Pin) { caseGPIO_PIN_12:LED0_Toggle();break; caseGPIO_PIN_13:LED1_Toggle();break; caseGPIO_PIN_14:LED2_Toggle();break; caseGPIO_PIN_15:LED3_Toggle();break; default:break; } }

本文关键词:十分钟邮箱网页版,十分钟邮箱登录,十分钟邮箱怎么用英语说,十分钟邮箱怎么发邮件,十分钟临时邮箱怎么用。这就是关于《十分钟邮箱怎么用,十分钟邮箱怎么用英语说(HAL库学习系列第8篇---回调函数总结)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 订婚戒指戴哪个手指,求婚戒指戴哪个手指(左右手各手指皆可佩戴喔)

下一篇: 腾讯微博登录网页版登录qq(腾讯qq微博登陆首页)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号