四会防撞车出租, 四会防撞车租赁, 肇庆防撞车出租   防撞车的直列泵 ECU 的软件的主程序设计方法?
来源: admin   发布时间: 2024-06-29   103 次浏览   大小:  16px  14px  12px
四会防撞车出租, 四会防撞车租赁, 肇庆防撞车出租

     四会防撞车出租, 四会防撞车租赁, 肇庆防撞车出租   防撞车的直列泵 ECU 的软件的主程序设计方法?    在完成了各个任务子程序和中断子程序后,就可以建立 ECU 工程的主程序了。主程序首先要初始化微控制器的各个模块及外围硬件;再调用 OSInit初始化μC/OS-Ⅱ所有的变量和数据结构;然后,通过调用 OSTaskCreate依次创建各个任务;最后调用OSStart启动系统,开始多任务调度。系统软件初始化是软件运行的准备阶段,它为 ECU 所有内部子系统及外部接口电路设定正确的上电后状态,包括各控制模块对应的初始化变量、工况标志位的初始值等。具体来说,需要初始化的有如下功能: 

 (1)系统中各模块的初始化设置,如 PWM 模块、定时器模块、A/D 转换模块、RTI模块、EEPROM 模块、μC/OS-Ⅱ的初始化等;  

(2)变量初始化赋值,包括增量 PID 参数、数字滤波系数等变量的初始化赋值; 

(3)串行通信初始化,比如选择串口通道、设置串口发送接受缓冲区、设置波特率等; 

(4)中断的初始化,如完成中断向量和中断服务程序的设置、设置外部中断触发模式等。

    四会防撞车出租, 四会防撞车租赁, 肇庆防撞车出租 

      本文中将最大任务数 OS_MAX_TASKS 定义为 15,在满足系统运行需要的同时节省了RAM 资源的占用。使用μC/OS-Ⅱ设计控制系统时,除了中断堆栈外,每个任务都要有自己的堆栈。当任务被中断的时候,任务堆栈要保存此时各寄存器的值。此外参数传递和局部变量也占用堆栈,在进行设计时要仔细考虑,在资源充足的情况下,堆栈应选的大一些,在资源紧张的情况下,可在调试过程中逐渐缩小堆栈的大小。本文任务堆栈TASK_STK_SIZE 设定为 256Byte。 

     在μC/OS-Ⅱ的调度下,系统通过中断服务 ISR 完成硬件相关操作,通过任务 Task完成控制参数的计算与设置,通过设置消息邮箱实现中断、任务之间的触发逻辑,这种结构设计较好地分离了硬件相关操作和控制算法,充分利用实时操作系统的管理功能,提高了 CPU 的利用率,满足了系统对实时性的严格要求,同时提高了系统运行的稳定性和可靠性,整个软件开发效率得到显著提高,开发的程序易读易懂,便于维护。

    四会防撞车出租, 四会防撞车租赁, 肇庆防撞车出租