【stm32_3】嵌入式软件系统架构

张开发
2026/4/6 8:43:05 15 分钟阅读

分享文章

【stm32_3】嵌入式软件系统架构
一、轮询式系统轮询式系统 在裸机开发的程序运行时先对所有的硬件进行初始化然后在主程序中写一个死循环顺序地处理各种事件。优点简单可靠的方式适用于在只需要按照顺序执行并且没有外部事件的影响的情况下。缺点实时性差。程序的运行过程中出现如按键等需要外部检测的事件轮询系统的实时响应能力变得很差。int main(){//1. 对所有的硬件进行初始化LED、BEEP、KEY......//2.进入死循环while(1){ //点灯//警报//按键}}二、前后台系统前后台系统增加中断的概念。如果外部事件发生则在中断中进行处理主程序在轮询系统中运行。中断被称为前台主程序中的while(1)就称为后台。执行顺序 发生异常中断中断会终止后台程序的运行→跳转到对应的中断服务函数中处理处理完成后→继续执行后台的程序。优点提高程序的实时响应能力避免造成外部事件的缺失。//中断被称为前台void IRQ(void){//}//轮询式主程序int main(){//对所有的硬件进行初始化LED、BEEP、KEY......//对中断配置和使能//轮询式系统while(1){//}}三、多任务系统多任务系统的外部事件也是在中断中进行响应但是外部事件的处理是任务中进行处理。任务具有优先级优先级高的任务先处理。程序就会被分割为一个个的任务任务是一个独立的死循环并且不能返回可以由操作系统进行任务的调度。//任务1void * task1(void *arg){while(1){//}}//任务2void * task2(void *arg){while(1){//}}int main(){//1.对所有的硬件进行初始化//2.创建任务并设置任务的属性(优先级、内存分配、时间片)//3.交给系统的调度器去执行}

更多文章