你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NucleoF042 超声波HC-SR04

[复制链接]
leo121_3006061 发布时间:2017-10-3 21:00
这几天闲来无事用扳子跑了一下超声波测试,效果还不错,在mbed平台下,代码比较简单(代码来自于网络)1 v2 q' f- E8 W7 R5 M" d* k
4 z( Z: x5 P) |
  1. #include "mbed.h"7 ]4 Y4 u, o: x& ^
  2. % d/ f& `+ ~( l$ ^' |' f
  3. ' q+ G2 z* ~9 c. a

  4. + o& K2 m0 n* i; m
  5. Ticker tick;0 z0 g  G1 H) r3 W8 O
  6. Timer timer;
    1 D" n! X5 i4 n4 M7 v$ q) O: [, S, g
  7. RawSerial prtOut(USBTX, USBRX);//TX,RX
    # x# d- {6 k" J* z/ s- N
  8. DigitalOut plus27(D7);
    ' w/ a. \7 L3 t$ p
  9. DigitalOut myled0(LED1);
    7 i" K, I9 B2 {
  10. InterruptIn plusIn28(D8);
    & q) s9 [% \4 x6 L4 q2 z9 [
  11. # j5 \/ w3 @  O' V* F$ c! j# I
  12. //Define Avarible1 e( n, l& H) v# j4 z" m
  13. int32_t js;/ W5 E* T7 c2 K4 z) u: i
  14. float all,begin,end;4 \) c4 }" ?2 E: `
  15. 0 f/ e$ V3 v8 [. _1 [/ B
  16. void tipInt(void){plus27=1;wait(0.000008f);plus27=0;}
    6 ~+ E3 O6 G7 n9 u2 `) m) M& B
  17. void PlusIn28(void){9 M. T2 z8 B( e/ J* q" K1 u
  18. if(D8){5 a& U5 C! N# u5 @
  19.   timer.start();/ r( l2 k' U  E% D" {
  20.   begin=timer.read_us();8 W6 ]8 a3 D  a! M
  21. 6 f/ B- ]0 o, Q# C5 M8 h; x8 w
  22. }
    # ~- p& `( N9 x0 E
  23. while(plusIn28){}& }. S9 N6 ~3 p
  24. end=timer.read_us();/ `! t, X5 Q, J1 }6 X
  25. }, o; s$ d# C2 q3 B) L" m6 F
  26. int main(){
    , E9 O6 H& P/ I+ L* R: O) Y; |7 A+ K
  27. prtOut.baud(115200);
    9 \& T0 N. f5 V8 |( |& e1 l- ~
  28. myled0.write(0);/ r5 u: u: Z7 ?3 k0 n3 g+ G; A
  29. tick.attach(&tipInt,0.1f);
    / x; z  s: Q7 f# a
  30. plusIn28.rise(&PlusIn28);
    - y! |8 ?2 P% ^! @, W
  31. while(true){
    ( n9 S% u1 h+ b7 p1 ^: f/ S
  32.   js++;
    7 x4 X9 {1 O6 S0 b" {
  33.   myled0.write(1);
    3 I$ b" N  [- M
  34.   all=(end-begin)/57;
    : i9 k0 c* t8 S0 }
  35.   prtOut.printf("Begin=%6.2f end=%6.2f all=%6.2f\r\n",begin,end,all);1 `* v' `: W9 G* F
  36. }
    # L+ H3 V: \8 b! e) ]
  37. }
复制代码
上个串口助手显示的图,精度还算可以的
6 T, Y+ z! V2 \6 K) {- z) A sr04.jpg ) `3 O8 I( V0 R$ y# {) v
: `7 H$ \! p% w) C1 z5 a
6 X: G( s* ~, f7 t
赞 收藏 评论9 发布时间:2017-10-3 21:00

举报

9个回答
epochal 回答时间:2017-10-4 08:31:06
谢谢分享!
MrJiu 回答时间:2017-10-5 10:15:01
C++的啊。。。。
asmhai 回答时间:2017-10-5 11:40:35
谢谢楼主的分享!
asmhai 回答时间:2017-10-5 11:42:06
mbed开放平台好啊,
leo121_3006061 回答时间:2017-10-5 11:47:10
asmhai 发表于 2017-10-5 11:421 ?" l, f# z* ?- M2 a% J# L0 C
mbed开放平台好啊,
( L" S; T6 i) [8 B; Z5 Y
平台是不错,最大的问题是,这个小板子的在这个平台只有20K可用的(尽管说是32k),所以写一点还可以,再加个模块恐怕就超了。
asmhai 回答时间:2017-10-5 13:05:45
有20K可用,是少了点,
斜阳 回答时间:2017-10-11 13:15:10
这个串口助手可分享么??
leo121_3006061 回答时间:2017-10-12 20:58:15
斜阳__ 发表于 2017-10-11 13:15) S4 ^, w* d) a5 M6 x7 ^7 h
这个串口助手可分享么??

" V0 A# u4 v! Z/ f( qwindows10商店里直接查这个名字就可以安装
simin666 回答时间:2018-8-7 02:32:18
谢谢分享!
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版