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转换
位置:不需要
相关文章
- 问题一:操作系统是什么?你知道哪些操作系统?怎么看自己的操作系统?电脑上怎么找到环境变量?问题二:Java开发工具还有哪些?问题三:软件公司有哪些?
- 解决流氓软件里的.dll文件无法删除问题,简单易懂
- MDK中在stm32下载出现error:flash download failed “cortex-m3”的问题
- 软件架构的历程
- 计算机软件领域的一些哲学相关问题
- ESP32学习 -从STM32工程架构进阶到ESP32架构-sdkconfig:配置ESP-IDF的系统参数(如任务堆栈大小、Wi-Fi SSID),通过文本文件或 menuconfig 修改。 .ioc:图形化配置STM32的外设(如GPIO、UART),生成初始化代码,不可直接编辑文本。 Q3: 为什么ESP32需要 components 目录?
- <<面向模式的软件架构2-并发和联网对象模式>>读书笔记
- win7下面运行软件崩溃的问题:CLR20r3
- Proteus(或类似软件)仿真时常出现的Time step too small问题的解决。
- 电商系统的演变可以看出架构演变 Dubbo入门 远程过程调用 需要解决的问题