关于延时函数的问题: 哪位高手能给我讲下,这个i的值是怎么确定的? 这个值是Zigbee的一个IAR烧录程序

void yanshi_680us(void){ int i=1700; while(i--);}
2025-01-05 17:41:12
推荐回答(2个)
回答1:

根据晶振、时钟设置计算出指令运行周期T,预设两个i值,仿真运行后,看设的两个i值函数运行完成后CPU REGISTER中的cyclecount分别增了多少,cyclecount*T便是不同I下函数运行时间,呈线性关系的。以此作个线性方程,求680US的I值。

回答2:

何必搞这么复杂,你是想用2530当一个单片机使用的话有点浪费;如果是为了通信,那协议栈里面有很多时间管理函数可以调用,根本不必从底层编程,因为zigbee协议栈里面有内置的osal小型操作系统