产品搜索 SEARCH
您所在的位置:首页 > 技术文章

称重仪表软件设计

作者:  时间:2015-06-22 08:53:08  点击数:

 称重仪表软件设计

    实时操作系统LiC/OS -n是一个基于优先级的抢占式实时内核,程序可读性强,移植性好,代码

固定,可裁剪,非常灵活。至今,从8位到64位,FiC/OS -II己在超过40种不同架构的微处理器上

运行。LiC/O S-II的主要特点有:是优先级可剥夺的实时多任务操作系统;可处理和调度56个用户

任务,任务的优先级可以动态调整;提供任务间通信、同步使用的信号量、邮箱和消息队列;具有

良好的可裁剪性,可尽量减小系统的ROMRAM大小。

    称重仪表软件设计基于LiC/OS-II实时操作系统,分为四个任务和三个中断,即显示任务、键盘

输入任务、通讯任务、数据计算处理任务和外部中断、串口中断、定时器中断。

    1.任务初始化

    系统首先创建2个信号量,用于两个中断和任务之间的通讯。

    void TaskStart (void *data)

    {

    Key_Sem=OSSemCreate(l);//创建按键输入信号量

    CommSem=OSSemCreate(l);//创建串口通讯信号量

    OSTaskCreate(DataProcess_Task, (void *)0, (void *)&TaskStk[0] [1023],  1);

    , 创建数据计算处理任务,优先级最高 /

    OSTaskCreate(CommTask, (void *)0, (void *)&TaskStk[1][1023], 2);

    / 创建通讯任务,优先级次之 /

    OSTaskCreate(KeyScan_Task, (void *)0, (void *)&TaskStk[2] [1023], 3);

    / 创建键盘处理任务,优先级第三 /

    OSTaskCreate(Display_Task, (void *)0, (void *)&TaskStk[3] [1023], 4);

    / 创建显示任务,优先级第四 /

    )

    2.定时中断

    系统设置一个定时器010毫秒产生一个中断,中断发生后,对称重传感器信号进行采集,

将采集到数据放在一个数组中,以便数据计算处理任务对其进行处理。