飞控整个软件代码运行在定时器调度模式,同时对各个外设模块中断优先级进行了合理设计,确保程序运行的实时性和稳健性。其中对实时性、周期性要求高的比如:传感器数据采集、姿态解算、惯性导航、控制等任务,采用定时器调度的方式执行,其它耗时且对周期性要求不高的子任务例如:电压采集、按键扫描、显示屏刷新、地面站发送、加速度计标定、磁力计标定、遥控器行程标定、参数保存等放在while(1)里面,利用中断空闲的时间去执行。飞控上电复位后,
单片机会首先根据官方启动文件定义来初始化堆栈指针、程序计数器、堆栈大小、中断向量表.