新手入门
- 积分
- 6
- 金钱
- 6
- 注册时间
- 2020-7-19
- 在线时间
- 4 小时
|
11金钱
本帖最后由 ZHMS 于 2022-5-3 23:42 编辑
单独运行code_run()没有问题,如果同时运行code_run2中的dth11的值获取也没有问题但是运行,烟雾MQ2值获取就有问题直接卡死。
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_init(168); //初始化延时函数
LED_Init(); //初始化LED
uart_init(115200); //初始化串口
usart2_init(usart2_baund);//初始化串口2,用于与指纹模块通讯
PS_StaGPIO_Init(); //初始化FR读状态引脚
KEY_Init(); //按键初始化
RC522_Init(); //初始化射频卡模块
button_init();
W25QXX_Init();
xTaskCreate((TaskFunction_t ) start_task,
(char* ) "start_task",
(uint16_t ) START_STK_SIZE,
(void * ) NULL,
(UBaseType_t ) START_TASK_PRIO,
(TaskHandle_t* ) &StartTask_Handler);
vTaskStartScheduler(); //开启任务调度
}
void start_task(void * pvParameters)
{
//创建Task1
xTaskCreate((TaskFunction_t ) task1_task,
(char* ) "task1_task",
(uint16_t ) TASK1_STK_SIZE,
(void * ) NULL,
(UBaseType_t ) TASK1_TASK_PRIO,
(TaskHandle_t* ) &Task1Task_Handler);
//创建Task2
xTaskCreate((TaskFunction_t ) task2_task,
(char* ) "task2_task",
(uint16_t ) TASK1_STK_SIZE,
(void * ) NULL,
(UBaseType_t ) TASK2_TASK_PRIO,
(TaskHandle_t* ) &Task2Task_Handler);
vTaskDelete(StartTask_Handler); //NULL
}
void task1_task(void * pvParameters)
{
shake_hand();
OLED_Init(); //OLED显示屏初始化
while(1)
{
code_run();
}
}
void task2_task(void * pvParameters)
{
DHT11_Init();
Adc_Init();
while(1)
{
code_run2();
}
}
|
-
|