#include CMSIS_device_header,FREERTOS,这句报错

解决方法,调成1.8.5就行。

#includeRTE_Components.h" #include <cmsis_os2.h> #include "cmsis_os.h" #include <stdio.h> #include "oled.h" #include "key.h" #include "led.h" #define SRC_KEY_PIN GPIO_Pin_0 #define POW_KEY_PIN GPIO_Pin_1 #define LED_PIN GPIO_Pin_13 //定义任务句柄 osThreadId_t LEDTaskHandle; osThreadId_t OLEDTaskHandle; osThreadId_t SpeedTaskHandle; //线程函数 void LEDTask(void const *argument); void OLEDTask(void const *argument); void SpeedTask(void const *argument); void GPIO_Configuration(void); int main(void) { //初始化硬件 GPIO_Configuration(); LED_Init(); KEY_Init(); OLED_Init(); //创建线程 LEDTaskHandle = osThreadNew(LEDTask, NULL, NULL); OLEDTaskHandle = osThreadNew(OLEDTask, NULL, NULL); SpeedTaskHandle = osThreadNew(SpeedTask, NULL, NULL); //启动操作系统 osKernelStart(); while(1); } void GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = SRC_KEY_PIN | POW_KEY_PIN; // PA0和PA1引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = LED_PIN; // PC13引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); } void LEDTask(void const *argument) { while(1) { // 检测按键状态,如果需要进入测试,修改状态并尝试进入测试 // 如果是测试一或测试三,设置LED灯并进入相应状态 // 如果需要退出测试,修改状态,并且清除LED灯 // 通过osDelay(1)控制循环的时间延迟,CPU占用率降低 osDelay(1); } } void OLEDTask(void const *argument) { while(1) { // OLED显示任务 // 通过osDelay(1)控制循环的时间延迟,CPU占用率降低 osDelay(1); } } void SpeedTask(void const *argument) { while(1) { // 速度检测任务 // 通过osDelay(1)控制循环的时间延迟,CPU占用率降低 osDelay(1); } }
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值