这几天闲来无事用扳子跑了一下超声波测试,效果还不错,在mbed平台下,代码比较简单(代码来自于网络)
- #include "mbed.h"
- Ticker tick;
- Timer timer;
- RawSerial prtOut(USBTX, USBRX);//TX,RX
- DigitalOut plus27(D7);
- DigitalOut myled0(LED1);
- InterruptIn plusIn28(D8);
- //Define Avarible
- int32_t js;
- float all,begin,end;
- void tipInt(void){plus27=1;wait(0.000008f);plus27=0;}
- void PlusIn28(void){
- if(D8){
- timer.start();
- begin=timer.read_us();
- }
- while(plusIn28){}
- end=timer.read_us();
- }
- int main(){
- prtOut.baud(115200);
- myled0.write(0);
- tick.attach(&tipInt,0.1f);
- plusIn28.rise(&PlusIn28);
- while(true){
- js++;
- myled0.write(1);
- all=(end-begin)/57;
- prtOut.printf("Begin=%6.2f end=%6.2f all=%6.2f\r\n",begin,end,all);
- }
- }
复制代码 上个串口助手显示的图,精度还算可以的
|
平台是不错,最大的问题是,这个小板子的在这个平台只有20K可用的(尽管说是32k),所以写一点还可以,再加个模块恐怕就超了。
windows10商店里直接查这个名字就可以安装