打印
[STM32F4]

【STM32F446ZE】 工程建立第一步,FreeRTOS移植

[复制链接]
1725|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 湛只为无双 于 2016-4-9 11:09 编辑

想着用F446ZET6进行设计,第一步就想到了先把FreeRTOS给移植了,然后昨天花费了点时间,从以前的工程里面把文件拷贝过来,重新添加到刚开始建立的模板工程里。通过建立三个LED闪烁任务,还有一个串口发送任务,来进行任务的调度显示。
第一步还是先把工程文件打包上来:
STM32F446_FreeRTOS.zip (841.5 KB)
在工程里面整体的架构很简单,主要就是启动文件,内核文件,官方的库文件,用户自己的文件以及FreeRTOS移植的文件。

关于底层驱动的问题在用户文件里面已经写好了,三个LED等,串口3的数据发送,剩下的最主要就是main.c了,完成主要函数的调用和编写。
#include "main.h"
#include "FreeRTOS.h"
#include "task.h"

void vREDTask( void *pvParameters );
void vGRETask( void *pvParameters );
void vBLUETask( void *pvParameters );
void vUARTTask( void *pvParameters );
int main(void)
{
        LED_Init();
        USART3_Init();
       
        xTaskCreate( vREDTask, ( signed portCHAR * ) "RED", 512, NULL, tskIDLE_PRIORITY+8, NULL );
        xTaskCreate( vGRETask, ( signed portCHAR * ) "GRE", 512, NULL, tskIDLE_PRIORITY+9, NULL );
        xTaskCreate( vBLUETask,( signed portCHAR * ) "BLUE",512, NULL, tskIDLE_PRIORITY+10, NULL );
        xTaskCreate( vUARTTask,( signed portCHAR * ) "UART",512, NULL, tskIDLE_PRIORITY+11, NULL );
       
        vTaskStartScheduler();
       
        while(1);
       
}

void vREDTask( void *pvParameters )
{
        while(1)
        {
                LED_RED^=1;
                vTaskDelay(100);
        }
}

void vGRETask( void *pvParameters )
{
        while(1)
        {
                LED_GRE^=1;
                vTaskDelay(200);
        }
}

void vBLUETask( void *pvParameters )
{
        while(1)
        {
                LED_BLUE^=1;
                vTaskDelay(400);
        }
}
void vUARTTask( void *pvParameters )
{
        while(1)
        {
                vTaskDelay(500);
                u3_printf("21ic 串口任务测试\r\n");
        }
}
在主函数里面建立的是三个LED闪烁任务和串口发送任务,三个闪烁任务的名字也分别对应了LED灯的颜色——RED、GRE、BLUE。
在建立的LED灯任务里面,具体操作涉及了不同的闪烁频率,分别是100ms、200ms、400ms的翻转间隔。
而串口任务里面,就是发送固定的字符串到电脑上,通过开发板自带的串口调试功能就可以完成数据的接收和发送。
最后就是结果的显示:

还有三个LED灯的闪烁:

完成这一步的工作以后,剩下的就是建立不同的任务实现不同的功能了,也完成了系统设计的第一步。
最近在思考一个关于这个板子的设计方案,后面也会逐步完成相关的分享内容,敬请期待。。。。
沙发
湛只为无双|  楼主 | 2016-4-9 11:10 | 只看该作者
沙发就自己占了,嘿嘿

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

171

帖子

9

粉丝