以前学习单片机嵌入式开发都是懵懵懂懂,反反复复的思考后突然若有所思。其实我们可以把MCU看作一个人,单片机的每个程序任务可以看作人每天工作的事情。
①主程序就是一个人每天要干的事情,从main函数开始到结束看作早上开始工作到下班,日复一日年复一年工作就有了while(1)这个无限循环。
②中断可以看成在工作的时候有紧急情况发生。定时器中断可以看作设定了一个闹钟提醒下午到点要和主任开会,下午照常在工作在写一个实验报告,突然闹钟响了提示要去开会,但是没写完的报告得先ctrl+s保存等到开会结束了再回来接着写,然后去开会就是去处理定时中断处理程序内容。会议结束就必须把刚才定的闹钟提示关闭,然后回去继续打开没写完的实验报告继续写;外部中断可以看作在工作的时候突然老婆打电话说她生了一个女儿(我想老婆生孩子的时候该陪产)叫马上去医院,但是还得把没写完的报告得先ctrl+s保存等到看了老婆孩子再回来接着写,外部中断处理程序就是去看老婆孩子,看完了又回来开始写实验报告。
③中断优先级设定就是把“与领导开会”和“看老婆孩子”哪一个定为更重要,肯定看老婆孩子比与领导开会更重要,所以看老婆孩子的中断优先级更高。当在工作写实验报告时,突然开会的闹钟响了且老婆的电话也响了,但是没写完的报告得先ctrl+s保存等到开会结束了再回来接着写,开会的事情给领导说回来再开,然后处理最重要的看老婆孩子,回到办公室和领导去开会,开完会把刚才定的闹钟提示关闭,然后回去继续打开没写完的实验报告继续写。
④独立看门狗可以看成公司派来监视你一天工作是否正常的人,他有自己的粮食但是自己不能吃饭需要你每天早上给他喂,这就是要定时喂狗。假如你每天正常工作就会定时的在早上喂他,突然一天加班办公室门坏了被锁在了办公司回不了家,就是程序出了问题跑飞了,第二天早上就喂不了监视的人,他觉得你可能有问题被困了,但是还有实验报告得写呀,然后他就有权力让一切重新开始,开启新的人生继续写实验报告,同时也从办公室解救出来了,否者可能一辈子被困办公室出不来。