12.3.5 RTX-51的主要概念和特性
RTX-51实时多任务操作系统有自己独特的概念和特性。这些特性完全不同于一般的单进程单片机C51程序。下面总结一下常用的RTX-51概念和特性。
1.中断
RTX-51 Tiny系统和RTX-51 FULL系统均可以使用中断,其中断函数以并行方式工作。在RTX-51 FULL中,中断一般配置为一个任务。中断函数可以与RTX-51内核通信,并可以将信号或者消息发送到RTX-51的其他任务中,实现任务调度。
2.信号和事件
在RTX-51多任务操作系统中,使用信号和事件来实现任务调度。信号的使用比较简单,这里介绍一下RTX-51多任务操作系统所支持的事件,有如下几种。
❑Timeout事件:在所运行的任务中暂停一定数量的时钟周期。
❑Interval事件:Interval和Timeout相似,Interval主要用于必须同步执行的任务。
❑Messages事件:用于RTX-51各个任务之间的信息交换,只在RTX-51 FULL中使用。
❑Interrupt事件:在RTX-51中用于等待单片机硬件中断的任务,只在RTX-51 FULL中使用。
❑Semaphores事件:用于共享系统资源的管理,只在RTX-51 FULL中使用。
❑Signals事件:用于RTX-51各个任务之间的协调。
3.信息传递
RTX-51 FULL系统支持任务之间的信息交换,而RTX-51 Tiny系统则不支持。在RTX-51系统中,信息是一个可以被存储器看做是数字或者指针的16位数值。信息的传递可以使用isr_recv_message、isr_send_message、os_send_message和os_wait函数来实现。RTX-51 FULL中还可以支持使用存储器库系统的变量信息。
4.CAN通信
RTX-51 FULL系统中集成了一个CAN总线通信模块RTX-51/CAN,而RTX-51 Tiny系统中则不支持。通过RTX-51/CAN可以实现CAN总线的数据通信。在RTX-51 FULL系统中,CAN作为一个任务来使用,可以通过CAN网络来实现信息的传递。此时,其他的CAN总线终端可以配置为一般的C51程序,也可以是RTX-51的实时操作系统。
5.BITBUS通信
RTX-51 FULL系统中集成了BITBUS主控制器和从控制器,而RTX-51 Tiny中则不支持。在RTX-51 FULL系统中,BITBUS任务主要用于与Intel 8044之间的信息传递。