如何用汇编编写定时器1替代delay延时的程序?
如题,如何用汇编编写定时器1替代delay延时的程序?
定义一全局变量,两字节, 初始化定时器,假定定时器初值为6,在12M晶体的情况下,每中断一次为250us, 在定时器的中断处理程序中,首先判断全局变量是否为0,若为0结速中断服务, 若不为0则将该全局变量--,然后退出; 再设计一个DELAY延时函数,该函数的入口变量为需要延时的时间,以250us为单位, 在delay函数中首先将全局变量设置为入口变量置,然后判断全局变量是否为0,若为0则退出, 否则继续等待全局变量为0
delay是通过时钟中断实现计时的, 你要自己写,当然可以 但是你是否觉得你能够处理好时钟中断? 在保护模式下,访问底层必须是运行在核心态 在类unix系统中可以通过捕捉信号的方式来实现类似的功能,但是精度不如系统的delay函数
答:1、你调用OSTimeDly或者OSTimeDlyHMSM,意味着该任务CPU使用权会被没收,然而你开启一个定时器之后,该任务还可以使用CPU。 2、举例子:如...详情>>