我用的是4M晶振,需要1微秒延时,如何编写C程序 50
用4M晶振,需要1微秒的延时,求相应的C程序我现在用的是:#definedelay_1us()asm("nop");asm("nop");asm("nop");asm("...
用4M晶振,需要1微秒的延时,求相应的C程序
我现在用的是:
#define delay_1us() asm("nop");asm("nop");asm("nop");asm("nop");
不知道能不能用,我要求的1微秒不需要非常精确
还请高手指点
我不会用示波器测试,怎么测试? 展开
我现在用的是:
#define delay_1us() asm("nop");asm("nop");asm("nop");asm("nop");
不知道能不能用,我要求的1微秒不需要非常精确
还请高手指点
我不会用示波器测试,怎么测试? 展开
展开全部
试试这个:
void delay_1us(void)
{
unsigned char i;
for(i=0;i<N;i++);//其中N的值根据延时需要设定
}
由于延时时间很短,建议用示波器测试下,根据具体要求设定N的取值。
你手头有硬件没有?简单的单片机电路板就可以,你可以写个简单的程序调用延时1us的函数,产生一个周期2us的方波从单片机的某个管脚输出,然后用示波器测试这个管脚就可以确定N的值了。关于示波器的用法,找个会用的人试试就知道了。
void delay_1us(void)
{
unsigned char i;
for(i=0;i<N;i++);//其中N的值根据延时需要设定
}
由于延时时间很短,建议用示波器测试下,根据具体要求设定N的取值。
你手头有硬件没有?简单的单片机电路板就可以,你可以写个简单的程序调用延时1us的函数,产生一个周期2us的方波从单片机的某个管脚输出,然后用示波器测试这个管脚就可以确定N的值了。关于示波器的用法,找个会用的人试试就知道了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询