在线时间1312 小时
UID3124330
注册时间2015-11-26
NXP金币2828
TA的每日心情 | 开心 2019-3-5 08:47 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
金牌会员
 
- 积分
- 9002
- 最后登录
- 2025-7-17
|
以前都是直接下载freertos,修改一些参数移植到MCU中。现在官方已经提供了参考例程,helloworld,信号量,队列等,可以直接拿来参考学习。
最终还是要为我项目所用。例程列表如图1所示:
图1
本次先熟悉一下hello例程,直接修改例程,使用两个LED建立两个任务,按照常规的配置,初始化和配置好两个任务,启动任务,代码如下所示:
- GPIO_PinInit(GPIOE, 29U, &led_config);
- GPIO_PinInit(GPIOE, 31U, &led_config);
- if (xTaskCreate(LED1_task, "LED1_task", configMINIMAL_STACK_SIZE + 100, NULL, hello_task_PRIORITY, NULL) !=
- pdPASS)
- {
- PRINTF("Task creation failed!.\r\n");
- while (1)
- ;
- }
- if (xTaskCreate(LED2_task, "LED2_task", configMINIMAL_STACK_SIZE + 100, NULL, hello_task_PRIORITY, NULL) !=
- pdPASS)
- {
- PRINTF("Task creation failed!.\r\n");
- while (1)
- ;
- }
- vTaskStartScheduler();
- for (;;)
- ;
复制代码
这只是初始使用,freertos 和 RTT都是常用的RTOS,还是要必须掌握的。后面一边参考,一边再熟悉一下,找个小项目试试,还挺好使的。测试效果(拍的看不出效果)如图2:
‘
图2
|
|