微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 用定时器写us延时函数,不懂其中的计算过程,求助

用定时器写us延时函数,不懂其中的计算过程,求助

时间:10-02 整理:3721RD 点击:
一直以来对定时计数器就搞不清楚,想这次彻底搞懂,主要是不懂怎么计算,下面这段程序while中不知道是干嘛的,求助!

void Delay_us(unsigned int k)
{
T1CNTL=0;
T1CNTH=0;
T1CC0L = 32;
T1CC0H = 0x00;
T1CTL = 0x02; //模,从0x0000到T1CC0反复计数。
while(k)
{
while(!(T1CNTL >= 25));
k--;
}
T1CTL = 0x00;
}

好好看书

你没想法,别人也帮不了你

简单来讲 k 是 while 循环的次数 所以 外面的while 是在计算的单位次数, 内部的while 是在读取timer1 的计算器低位
但是感觉这个不是中断控制阿, 是通过反复读计算器来实现delay的

定时器函数还是比较好理解的啊,楼主的思路有点乱。

定时器函数还是比较好理解的啊,楼主的思路有点乱。

这程序也是6,啰里啰嗦的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top