6、嵌入式软件开发与8051微控制器知识解析

嵌入式软件开发与8051微控制器知识解析

1. 嵌入式软件开发基础

1.1 实时系统调度与RTOS

在简单的实时应用中,定时器间隔设置有一个经验法则,即间隔要足够短,以确保关键功能能按期望的频率得到处理。对于包含多个并发任务的大型复杂实时系统,则需要使用实时操作系统(RTOS)来进行基于优先级的多任务调度。

RTOS是一个后台程序,它能够控制和调度多个有时间限制的任务的执行与通信,安排资源共享,并在任务间分配关注点。市面上有多种适用于不同微控制器的商用RTOS,如POSIX和CMX - RTX等,它广泛应用于复杂的硬实时嵌入式软件中。

以一个初始化主任务启动两个需要永久运行的任务为例,这两个任务相对独立,一个是主控制任务,另一个用于监控外部事件并通知主控制任务。可以使用状态图以并行模式设计这两个任务。以下是8051 RTX51对该应用模型的实现代码:

#include <reg51.h>
#include <rtx51.h>

void task1 (void) _task_ 1
//task1 is assigned a priority 0 by default
//4 priority levels: 0 - 3 in RTX51
{
    while(1)
    {
        os_wait(K_SIG,0,0);// wait in blocked state
        // for signal to be activated
        // to a ready state
        proc1();
        o
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值