新手入门
- 积分
- 15
- 金钱
- 15
- 注册时间
- 2021-12-11
- 在线时间
- 3 小时
|
1金钱
请教坛友,FREERTOS一创键任务IO口就虚空是怎么回事?灯也不亮,把任务屏蔽掉灯就亮了. 难道任务能影响IO?MINI版程序改成R6的就不行了。
void LedTask1(void)
{
while(1)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12);
vTaskDelay(1000); // 睡眠1000ms
}
}
/**********************************************/
/* */
/* LED亮 */
/* */
/**********************************************/
void LedTask2(void)
{
while(1)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12);
vTaskDelay(1000); // 睡眠1000ms
}
}
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); // 一定要将优先级分组设置分组方式4!!!
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); // 不使用JTAG调试,对应的IO口作为普通IO口使用
LED_Init();
/* 创建LED1任务 */
xTaskCreate((TaskFunction_t)LedTask1, // 任务函数指针
"LED_TASK1", // 任务名称
40, // 堆栈深度(字)
NULL, // 任务参数为空
1, // 任务优先级
NULL ); // 任务句柄为空
/* 创建LED2任务 */
xTaskCreate((TaskFunction_t)LedTask2, "LED_TASK2", 40, NULL, 2, NULL );
/* 启动任务调度器(操作系统开始运行) */
vTaskStartScheduler();
/* 不应该运行到这里 */
while(1)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12);
}
}
|
最佳答案
查看完整内容[请看2#楼]
看下使用的芯片是大容量还是小容量的,需要用对应的驱动文件与下载算法,仿真看下使用任务有没有可以正常跑起来代码
|