嗯!问题是!您的外部中断使用外部中断,定时器也是如此。外部中断的优先级高于定时器。因此,在程序结束时,应该首先执行一个外部中断!那么你的程序会先进入外部中断服务。我以前做过一个数码管显示的超声波测距。可以参考一下:includedefineeucharunsignedardeneddefineuintunsignedcharcodeledtab[]= {,,,,,,,,。
这个主要看你买的超声波模块。一般这个模块可以自动收发超声波,但是需要满足一定的时序才能启动这个模块。当接收到数据时,它将产生一个中断并通知MCU。通过计时可以实现距离测量。S=vt(t=T/因为往返),v=。RX是串行端口接收完成标志位。当串行端口接收到一个完整的数据帧时,RX由hard置1,用户需要手动清0才能接收下一个字节。while({while(!RX);//等待串口接收,保存数据TR,,///开始计数while(RX);//等待清除。
uintgewei=
感谢您的来访,获取更多精彩文章请收藏本站。
© 版权声明
THE END
暂无评论内容