OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4605|回复: 2

正点原子MiniFly V1.2学习笔记一

[复制链接]

10

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2018-5-25
在线时间
34 小时
发表于 2019-6-28 16:08:39 | 显示全部楼层 |阅读模式
本帖最后由 Dluffy 于 2019-6-28 16:06 编辑

       前言:       这笔记本来我是写在博客上的,边学边写的。所以想着也分享到这里来,大家一起学习,我有理解错的,大家也好帮忙指正。目前我还没有飞机,先学软件,后面再考虑买个飞机玩玩。     

     之前看过原子哥的FreeRTOS开发手册,但是对整个项目用FreeRTOS 怎么架构还不是很清楚。由于最近工作需要上FreeRTOS,所以决定通过MiniFly来学习一下FreeRTOS的架构。
一、main 函数
int main()
{
        systemInit();                        /*底层硬件初始化*/        
        xTaskCreate(startTask, "START_TASK", 300, NULL, 2, &startTaskHandle);        /*创建起始任务*/
        vTaskStartScheduler();        /*开启任务调度*/
        while(1){};
}
      main函数很简洁,初始化硬件-----然后建立一个开始任务-----接下来开启系统调度。
     内容比较多的是在初始化硬件中,需要把用到的IO,串口,变量、信号量,队列等初始化完。


二、开始任务

       开始任务创建了10个任务,在前面用序号1-10标出来了。方便后面对照。开始任务的作用就是创建其它任务,创建完后就把自己给删除了。
       因为调度器已经开启,所以在这里创建任务时,需要进入临界保护,就是关中断



      使用printf函数需要重定义, 现在暂时没有找到在哪里重定义了。


三、每个文件结构

       每个.c文件就是一个模块,每个模块都有以下内容组成:
        1、包含需要的头文件
        2、定义本模块用到的变量,用关键字static限制了变量只在本模块使用
        3、声明本模块的函数,方便本模块写在前面的函数可以调用写在后面的函数。
        4、编写本模块函数

例子如下图:








正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2019-4-23
在线时间
24 小时
发表于 2019-6-28 18:25:42 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2019-7-19
在线时间
2 小时
发表于 2019-7-20 08:53:16 | 显示全部楼层
顶,支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-1-31 19:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表