1.中断
1.寄存器:具有固定地址值的内存空间,对于soc来说具有特殊的功能的变量。
2.中断:当cpu处理事件时,外界发生紧急请求,要求cpu暂停当前工作去处理这个紧急事件,处理完之后回到原来中断的地方,继续原来的工作。
3.中断源:产生中断请求的事件本身
4.中断向量表:中断函数的入口地址的数组(函数指针数组)
中断的流程
1.中断源发送中断请求(向kernel)
2.检查cpu是否响应中断,并检查中断请求是否被屏蔽;
3.检查中断优先级(中断嵌套)
4.保护现场
5.执行中断处理函数
6.恢复现场
代码流程
允许中断的初始化
中断处理函数
定时器
定时器遇到整形溢出(65536)时会产生一个中断信号
通过设置TH0和TH0给计数初始值,每次加一的时间是工作频率的倒数,可以算出加到溢出所需的时间来控制时间
为了防止寄存器短时间多次改变引起错乱,可以先改变临时变量再赋给寄存器。
不在作用域但是没销毁的变量不能直接访问,可以间接。