»
(008)CubeIDE实现USB外设*
(018)C99 的指针*
(019)C99 只有值赋值,没有move*
(022)POSIX线程库pthread的同步锁*
(023)POSIX线程库pthread的多线程*
(027)C99标准库中的计时与等待 *
(028)C语言中的高精度计算库GMP *
(029)C语言中的Web服务*
(030)C语言中的字符转码ICU*
(031)从几个方面显然C语言比C++效率高*
🕹️(032)中断处理函数中调用FreeRTOS的函数
在中断处理函数中调用FreeRTOS的系统调用,需要使用...FromISR版本的函数,比如,操作信号量:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef* huart){
BaseType_t xHasTaskWoken = pdFALSE;//函数返回填充,是否有task被唤醒
if(huart->Instance == USART1){
xSemaphoreGiveFromISR(sem,&xHasTaskWoken);
portYIELD_FROM_ISR(xHasTaskWoken);// 如果有task任务被唤醒,立即触发FreeRTOS的任务调度
}
}