打印
[STM32F1]

[MsgOS]hello world!

[复制链接]
1078|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
[MsgOS]MsgOS源码来了
https://bbs.21ic.com/forum.php?mo ... amp;fromuid=1131700
(出处: 21ic电子技术论坛)


[MsgOS]让系统跑起来
https://bbs.21ic.com/forum.php?mo ... amp;fromuid=1131700
(出处: 21ic电子技术论坛)


[MsgOS]shell初体验
https://bbs.21ic.com/forum.php?mo ... amp;fromuid=1131700
(出处: 21ic电子技术论坛)





源码也有了,程序也能跑起来了,接下来就该大家熟悉的"hello world!"了
修改app文件夹下的app.c如下所示,编译运行,在shell界面会每秒打印输出一次"hello world!"
void   hello_world(uint32 data,void *ptr)
{
    static uint32 n=0;
    printf("hello world!n=%d\r\n",n++);   
}

void   App_Init(uint32 data,void *ptr)
{
        stdio_mount("rtt");
    msg_send(hello_world,0,NULL,1000,0,MSG_OPT_REPEAT);
}
MSG_REG(App_Init,0,NULL,0,0,0);

说明:
1.App_Init是应用代码的入口函数
2.stdio_mount("rtt");//将rtt设备挂载到系统标准输入输出上,这样就可以使用标准库<stdio.h>中的printf(),scanf()等标准输入输出流函数了。同时系统shell的输入输出也是使用标准库输入输出的。
3.msg_send(hello_world,0,NULL,1000,0,MSG_OPT_REPEAT);发送消息给系统。让hello_world函数每1000毫秒执行一次。
其中msg_send函数的原型为msg_st  *msg_send(msg_f  msgf,uint32 data,void *ptr,uint32  time,uint08  priority,uint16  opt);
输入参数:
msgf:类型是函数指针msg_f ,是消息执行时的回调函数,确定了这个消息要“干什么”
           函数指针msg_f的定义是typedef    void   (*msg_f)(uint32 data,void *ptr);有两个输入参数
data:类型是uint32 ,对应于msgf的第一个参数
ptr:  类型是void *,对应于msgf的第二个参数。data和ptr一同决定了msgf被回调执行时的输入参数。
time:类型是uint32,延时或周期时间,单位毫秒。MsgOS系统心跳固定为1毫秒,而其他家系统一般是可变的。
priority:类型是uint08,执行线程优先级,priority决定了消息在哪个线程中执行。
              MsgOS最多可有33个线程,最少两个线程,每个线程有唯一的优先级,或者说每个优先级里只能有一个线程。priority数值越大优先级越高,高              优先级线程可抢断低优先级线程执行。系统启动后会默认启动两个线程分别是:
             1.idle线程,优先级最低(-1)总是就绪状态,用于统计cpu空闲率。
             2.base线程,优先级为0,是消息执行的最低优先级
opt:类型是uint16 ,决定消息的一些特定属性,可选项有MSG_OPT_NONE,MSG_OPT_IRQ,MSG_OPT_PERIODIC,MSG_OPT_REPEAT
输出参数:类型是msg_st  *,即发送消息使用的消息体指针,如果为NULL说明消息发送失败。


结语:msg_send函数是 MsgOS最重要的函数,msg_send函数是 MsgOS最重要的函数,msg_send函数是 MsgOS最重要的函数(重要的事情说三遍

QQ截图20160616164415.jpg (59.35 KB )

QQ截图20160616164415.jpg
沙发
ROOTHer| | 2016-6-17 11:08 | 只看该作者
有点意思

使用特权

评论回复
板凳
科技猎人|  楼主 | 2016-6-17 11:46 | 只看该作者

可是没多少人关注啊。是大家开发单片机都不用操作系统嘛?

使用特权

评论回复
地板
lxj19901115| | 2018-1-12 13:43 | 只看该作者
大神,有讨论交流的QQ群么,想进一步了解,

使用特权

评论回复
5
mintspring| | 2018-1-12 14:03 | 只看该作者
相当不错,可惜啊,太多了,我不知道用哪个。

使用特权

评论回复
6
734774645| | 2018-1-12 20:42 | 只看该作者
看似好简单。

使用特权

评论回复
7
xixi2017| | 2018-1-14 15:39 | 只看该作者
把玩一下就行了。

使用特权

评论回复
8
heisexingqisi| | 2018-1-14 17:13 | 只看该作者
这种小系统太多了,,不过项目中用到的就那两种。

使用特权

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

本版积分规则

31

主题

192

帖子

8

粉丝