「让你军转民,你干成中东军火商?」

第五十四章 厂长,您可得多来技术科啊!

上一页 简介 下一页

第五十四章 厂长,您可得多来技术科啊!(2/3)

是这个思路。”

“状态机的核心是三个东西,状态,事件,动作。”

“当前状态收到一个事件,执行对应的动作,然后迁移到下一个状态,你把这三个东西定义清楚了,程序就不会乱。”

李援朝连连点头,手里的笔飞快地在本子上记着。

“林默拉过一把椅子坐下,拿起桌上的一块飞控板,指着上面的主控芯片。

“还有你这程序架构,别把所有功能都塞在主循环里。”

“中断优先级要分清楚,姿态解算最高优先级,遥控指令第二,图传第三,日志记录最低。”

“姿态解算的周期要固定,比如说每十毫秒中断一次,算一次姿态,调一次PID,这样飞控的响应速度才能跟得上。”

“我之前是把所有东西都放主循环里。”

李援朝挠了挠头,有点不好意思,“跑一遍下来,姿态解算的时间不固定,有时候长有时候短,飞机就不太稳。”

“那是因为你主循环的执行时间不是恒定的。”

林默把飞控板放下,拿起笔在纸上画了一个时序图,“你设一个定时器中断,每五毫秒触发一次,中断服务程序里只做三件事。”

“读传感器,算姿态,调PID。主循环里跑那些不要求实时性的东西,比如图传,日志,遥控指令解析。”

“这样一来,姿态控制的实时性就保证了。”

李援朝盯着那个时序图看了半天,一拍大腿,“厂长,您这一说我就明白了!这就是把实时任务和非实时任务分开处理!”

林默笑了笑,“对,这叫前后台系统架构,前台是中断服务程序,处理紧急的事,后台是主循环,处理不紧急的事。”

“你把这个框架搭好了,后续加功能就不会乱。”

李援朝兴奋的手里的笔都快把本子戳穿了。

他在对微处理器和软件编程不算精通。

林默来了之后,他才开始系统地接触这些新东西。

每次林默来技术科,他都恨不得把脑子里的疑问全部倒出来,让林默一一解答。

“厂长,还有一个问题。”

李援朝翻了两页本子,指着上面的一行字,“上次您说的PID参数整定方法,我试了一下,比例和积分调好了,但微分项一直拿不准。”

“调大了飞控容易抖,调小了又响应太慢。”

林默想了想,拿起笔在纸上画了一个曲线图,解释道:

“微分项的作用是预测误差的变化趋势


本章还未完,请点击下一页继续阅读
上一页 目录 下一页 存书签

相关推荐

让你军转民,你干成中东军火商?