找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2640|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

求教以下超聲波測(cè)距單片機(jī)程序哪有問(wèn)題,求教大神

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:255744 發(fā)表于 2017-11-30 18:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
500黑幣
問(wèn)題如下:
如果只是打開(kāi)電源燒錄上去(電源開(kāi)關(guān)有三檔,第一檔是關(guān)閉,第二檔是用于調(diào)試,不轉(zhuǎn)動(dòng)車輪,第三檔打開(kāi)讓車輪轉(zhuǎn)動(dòng)),調(diào)試得到的返回值和執(zhí)行是沒(méi)有問(wèn)題的。
但是當(dāng)開(kāi)啟第三檔,讓車輪轉(zhuǎn)動(dòng)后,就會(huì)同時(shí)執(zhí)行if和else,并且else得到的值永遠(yuǎn)是0.
請(qǐng)各位高手指點(diǎn)下,謝謝各位大神
  1. void main()
  2. {
  3. int xx;          //儲(chǔ)存超聲波測(cè)距的值
  4. uart_Init();      //初始化串口



  5. while(1)
  6. {
  7. xx=GetF_juli();    //獲取超聲波測(cè)距的值
  8. if(xx>30)
  9. {

  10. printf("%d\n",xx);  //輸出獲取的值,用于調(diào)試
  11. Forward();        //執(zhí)行前進(jìn)
  12. Delay_nms(100);   //延遲

  13. }

  14. else
  15. {

  16. back();           //執(zhí)行后退

  17. printf("%d\n",xx);  //輸出獲得的值,用于調(diào)試
  18. delay_nms(100);   //延遲

  19. }

  20. }

  21. }
復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:79358 發(fā)表于 2017-12-1 13:41 | 只看該作者
看看你的執(zhí)行前進(jìn)Forward();  函數(shù)里面有沒(méi)有對(duì)所謂測(cè)到的距離XX進(jìn)行操作,導(dǎo)致其值發(fā)生了變化
回復(fù)

使用道具 舉報(bào)

板凳
ID:230826 發(fā)表于 2017-12-1 14:29 | 只看該作者
沒(méi)原理圖,代碼不完整,讓人無(wú)法判斷
回復(fù)

使用道具 舉報(bào)

地板
ID:256142 發(fā)表于 2017-12-1 15:11 | 只看該作者
首先,同時(shí)執(zhí)行if和else是不可能的,直觀的你可以加個(gè)延時(shí)對(duì)比一下,else得到的值永遠(yuǎn)是0,得查看一下GetF_juli()這個(gè)函數(shù),會(huì)不會(huì)是溢出了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表