字体
关灯
返回目录 阅读足迹 更多章节
第(2/3)页
是这个思路。”
  “状态机的核心是三个东西,状态,事件,动作。”
  “当前状态收到一个事件,执行对应的动作,然后迁移到下一个状态,你把这三个东西定义清楚了,程序就不会乱。”
  李援朝连连点头,手里的笔飞快地在本子上记着。
  “林默拉过一把椅子坐下,拿起桌上的一块飞控板,指着上面的主控芯片。
  “还有你这程序架构,别把所有功能都塞在主循环里。”
  “中断优先级要分清楚,姿态解算最高优先级,遥控指令第二,图传第三,日志记录最低。”
  “姿态解算的周期要固定,比如说每十毫秒中断一次,算一次姿态,调一次PID,这样飞控的响应速度才能跟得上。”
  “我之前是把所有东西都放主循环里。”
  李援朝挠了挠头,有点不好意思,“跑一遍下来,姿态解算的时间不固定,有时候长有时候短,飞机就不太稳。”
  “那是因为你主循环的执行时间不是恒定的。”
  林默把飞控板放下,拿起笔在纸上画了一个时序图,“你设一个定时器中断,每五毫秒触发一次,中断服务程序里只做三件事。”
  “读传感器,算姿态,调PID。主循环里跑那些不要求实时性的东西,比如图传,日志,遥控指令解析。”
  “这样一来,姿态控制的实时性就保证了。”
  李援朝盯着那个时序图看了半天,一拍大腿,“厂长,您这一说我就明白了!这就是把实时任务和非实时任务分开处理!”
  林默笑了笑,“对,这叫前后台系统架构,前台是中断服务程序,处理紧急的事,后台是主循环,处理不紧急的事。”
  “你把这个框架搭好了,后续加功能就不会乱。”
  李援朝兴奋的手里的笔都快把本子戳穿了。
  他在对微处理器和软件编程不算精通。
  林默来了之后,他才开始系统地接触这些新东西。
  每次林默来技术科,他都恨不得把脑子里的疑问全部倒出来,让林默一一解答。
  “厂长,还有一个问题。”
  李援朝翻了两页本子,指着上面的一行字,“上次您说的PID参数整定方法,我试了一下,比例和积分调好了,但微分项一直拿不准。”
  “调大了飞控容易抖,调小了又响应太慢。”
  林默想了想,拿起笔在纸上画了一个曲线图,解释道:
  “微分项的作用是预测误差的变化趋势
第(2/3)页
本章还未完,请点击下一页继续阅读
上一页 目录 下一页
都在看:紫宸囚龙:少年帝王破阵录异界骨龙操作指南状元郎官场:重生后我权势滔天1848大清烧炭工陆逢时玄幻:我有机甲,鬼才愿意去修仙知道我地位后,前妻悔哭了绣球你都接了,还说不是我相公?九州成神记