1、 架构组成:程序代码分为四种结构
a) 顺序执行代码
定义:按照顺序逐行执行的代码
优点:是思路简单,代码可靠不易被干扰。
缺点:占用资源
用途:只用来各种变量、函数的定义,硬件的初始化程序
位置:main.c的开始一直到main函数的while函数之前
b) 空闲执行代码
定义:在CPU空闲的时候才执行的代码
优点:不占用资源
缺点:执行的实时性不能保证
用途:非实时任务,调试信息输出,不重要的状态指示
位置:main.c的main函数的while函数内部
c) 中断执行代码
定义:由软硬件事件打断整个程序而执行的代码
优点:可以保证实时性,各种中断可以安排优先顺序
缺点:关系相对复杂,互相之间容易干扰
用途:触发性的代码,比如接收数据,响应外部设备,按钮的相应
位置:stm32f10x_it.c内部
d) 循环执行代码
定义:按照时间周期执行的代码
优点:定期自动执行
缺点:实时性不好
用途:需要周期执行的任务,状态检查及相关信息输出,数据记录
位置:stm32f10x_it.c的SysTickHandler内部
e) DMA自动代码
定义:不需要主程序干预,外设自动执行
优点:自动刷新数据,不占用CPU资源
缺点:不能控制
用途:数据通信存储,AD转换
位置:不需要
相关文章
- EF架构~linq to entity的随机排序问题
- ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)
- STM32下载调试驱动问题
- MySQL 8.0.23中复制架构从节点自动故障转移的问题
- thinkphp3.2.2前后台公用类架构问题分析
- 【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分析(下)
- 【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分析(中)
- 【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分析(上)
- thinkphp3.2.2前后台公用类架构问题
- ELK日志分析平台架构剖析和常见问题