在项目开发过程中,启动代码多数不需要开发人员自己编写,它可由ARM模板提供,根据自身使用情况对启动代码作相应修改。主程序负责整个系统对子程序的响应和调用,有效地管理系统软、硬件。子程序模块负责完成各自的指定功能,并供主程序调用。在具体设计过程中,需要重点考虑系统的实时性、同步性,以及误差补偿等问题。
由上述分析可得,电子罗盘系统软件代码着重体现在传感器数据采集、姿态解算、误差补偿、数据收发等几个方面,下面将详细介绍各个模块的软件设计。
4.3 主函数
为了更好地了解电子罗盘系统的实际操作流程,有必要先引入电子罗盘系统的主函数流程图,如图4.2所示。
由图4.2可以看出,电子罗盘系统上电后先完成系统初始化工作,将铁电存储器中的定标数据读取到数组中,同时进行温度采集,在温度采集中应关闭所有中断,否则温度读取不正确,温度计算完毕后打开中断。计算磁偏角,磁偏角由电子罗盘所在位置的经纬度、高度及年月日通过磁偏角计算程序得到。
该系统将两个控制引脚设置为输入口,通过跳线帽改变其电平。其中一个引脚的高低决定是运行主程序还是定标程序,另一个引脚的高低决定是运行主程序还是测定 LPC2366抗干扰电子指北仪算法研究(7):http://www.751com.cn/zidonghua/lunwen_8578.html