基于μCOSⅡ与蓝牙无线通信的智能车运行调试方法RunTimeDebugMethodofSmartCarBasedonμC/OSⅡandBluetooth黄松涛傅博王成罡(山东大学,山东大学红苹果队)摘要:本设计以第十一届“恩智浦”杯全国大学生智能车竞赛为背景,提出了一种新型的运行调试方法。基于操作系统以及蓝牙无线通信的优越性能,实现在OLED显示屏上显示与调整车体参数,能够方便的实现实时调试。实际测试表明,基于本方案的运行调试可以在小车运行中及时发现问题,具有优越的便利性与实用性,有效加快调试进程。关键词:操作系统OLED蓝牙无线模块运行状态下调试I.引言在以往的智能车的调试中,车模调试往往需要进行反复的程序下载。本方案通过将程序固件下载到程序存储器中,避免了繁琐的反复下载程序,将影响车模性能的的具体PID参数以及各种其他参数,比如平衡角度、坡道电感均值检测、速度给定等参数。通过OLED显示并且用四向按键设置,用蓝牙无线发送给小车控制板,保存到Flash中,从而实现运行调试。II.μC/OSⅡ操作系统的性能分析uC/OSII是一个可以基于程序存储器运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合微处理器和控制器。uC/OSII可以简单的视为一个多任务调度器,在这个任务调度器之上完善并添加了和多任务操作系统相关的系统服务,如信号量、邮箱等。在本方案中,根据实现任务的机理,把程序分配成若干任务,并给任务赋予不同的优先级以便于任务的调度。OSStatInit();//统计任务优先级最低OS_ENTER_CRITICAL();//进入临界区(无法被中断打断)OSTaskCreate(Task_SYSTEMLED,(void*)0,(OS_STK*)&SYSTEMLED_STK[SYSTEMLED_STK_SIZE-1],SYSTEMLED_TASK_PRIO);//创建LED随系统使用率闪烁OSTaskCreate(Task_BEEP,(void*)0,(OS_STK*)&BEEP_STK[BEEP_STK_SIZE-1],BEEP_TASK_PRIO);//创建蜂鸣器任务OSTaskCreate(Task_COLLECT,(void*)0,(OS_STK*)&COLLECT_TASK_STK[COLLECT_STK_SIZE-1],COLLECT_TASK_PRIO);//创建采集任务OSTaskCreate(Task_ARITHMETIC,(void*)0,(OS_STK*)&ARITHMETIC_TASK_STK[ARITHMETIC_STK_SIZE-1],ARITHMETIC_TASK_PRIO);//创建算法任务OSTaskCreate(Task_KEY,(void*)0,(OS_STK*)&KEY_TASK_STK[KEY_STK_SIZE-1],KEY_TASK_PRIO);//创建按键扫描任务OSTaskCreate(Task_OLED,(void*)0,(OS_STK*)&OLED_TASK_STK[OLED_STK_SIZE-1],OLED_TASK_PRIO);//创建OLED任务OSTaskCreate(Task_UART,(void*)0,(OS_STK*)&UART_TASK_STK[UART_S...