久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8506|回復: 10
收起左側

為什么單片機串口一直發數據,我程序只想讓他發送一次

[復制鏈接]
ID:514790 發表于 2019-6-9 02:59 | 顯示全部樓層 |閱讀模式
主程序運行,while(1)
{
     當按下按鍵時,調用串口發送函數Uart1SendStr(strsend);
}
發送的數據沒有問題,就是在第一次按下按鍵后就一直開始發送,本意是想按一下發送一次的,求解答!
中斷程序:
void Uart1Isr() interrupt 4
{
    if (TI)
    {
        TI = 0;
    }
    if (RI)
    {
        RI = 0;
    }
    busy = 0;
}
回復

使用道具 舉報

ID:94031 發表于 2019-6-9 09:08 | 顯示全部樓層
設個標志來判斷,只發一次。
回復

使用道具 舉報

ID:489598 發表于 2019-6-9 10:04 | 顯示全部樓層
清中斷標志位了?還有就是有可能按鍵按下多次觸發了,給按鍵加個延時試試
回復

使用道具 舉報

ID:517466 發表于 2019-6-9 11:11 | 顯示全部樓層
首先確認你的按鍵處理中有沒有防抖動處理。沒有的話,很容易出現連續發送情況。加入防抖動處理,并且要保證在按鍵松開以后,視為一次完整的按鍵按下,在這之后再執行按鍵的對應處理,就不會發生連續發送了。
你的按鍵的處理程序沒列出來,所以很難判斷是哪里出了問題。
防抖處理邏輯:
      按鍵按下?
         是
            延時20ms
               這個案件被按下?
                  是
                     按鍵是否被松開了?
                        是
                           執行這個按鍵被按下的處理
回復

使用道具 舉報

ID:557425 發表于 2019-6-9 11:16 | 顯示全部樓層
給按鍵加個延時
回復

使用道具 舉報

ID:542241 發表于 2019-6-9 11:27 | 顯示全部樓層
少個按鍵抖動的判斷
回復

使用道具 舉報

ID:558226 發表于 2019-6-9 15:31 | 顯示全部樓層
初始化設置標志
回復

使用道具 舉報

ID:514790 發表于 2019-6-9 17:18 | 顯示全部樓層
suncat0504 發表于 2019-6-9 11:11
首先確認你的按鍵處理中有沒有防抖動處理。沒有的話,很容易出現連續發送情況。加入防抖動處理,并且要保證 ...

你好,我是在運行按鍵處理程序后,獲得其鍵值,再根據鍵值來執行相應的函數程序,這個相應的程序是發送數據
回復

使用道具 舉報

ID:93224 發表于 2019-6-9 17:24 | 顯示全部樓層
肯定是你按鍵的問題,好好看看按鍵的程序有沒有去抖動什么的
回復

使用道具 舉報

ID:517466 發表于 2019-6-9 22:48 | 顯示全部樓層
5anXR 發表于 2019-6-9 17:18
你好,我是在運行按鍵處理程序后,獲得其鍵值,再根據鍵值來執行相應的函數程序,這個相應的程序是發送數 ...

根據鍵值處理場合,判斷鍵值合適,立即清除這個鍵值(復位),然后執行對應鍵值的處理程序。鍵值不復位,下次即使沒有任何按鍵,由于這個鍵值依舊被保持,還會執行對應這個鍵值的處理程序。
就是說,在中斷處理中建立鍵值后,在鍵值的判斷處理過程中,在處理完成返回之前一定要清除這個鍵值。避免下次有效串口數據發送之前,依舊使用之前的鍵值進行處理。
串口中斷:收到鍵值,保存到變量中。
主循環處理:鍵值=xx?
                        是
                             {
                               鍵值=0;// 鍵值復位,等待下一次串口發送鍵值時設置
                               調用對應這個鍵值的處理
                             }
                          
回復

使用道具 舉報

ID:222006 發表于 2019-6-10 01:12 | 顯示全部樓層
按一次發送一次就在按鍵函數里面處理RI 和 TI好了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 搞av.com| 日韩一区av | 成人在线观看免费观看 | 91亚洲国产成人久久精品网站 | 日韩一二三区视频 | 男人午夜视频 | 91社区视频 | 久久久久国产 | 欧美在线视频一区二区 | 久久久综合网 | 久久精品久久久久久 | 91视频电影 | 亚洲高清视频一区二区 | 亚洲精品麻豆 | 丁香婷婷成人 | caoporn免费| 国产精品欧美一区二区三区不卡 | 91在线精品播放 | 国产一区二区电影网 | 中文字幕精品一区 | 精品小视频 | 一区二区成人 | 久久一区视频 | 精品国产乱码久久久久久丨区2区 | 日本天堂视频 | 色综合久久久久 | 欧美午夜精品久久久久免费视 | 日韩av黄色| 波多野吉衣久久 | 黄网站免费入口 | 特黄色一级毛片 | 久久亚 | 999久久久久久久久6666 | 国产精品视频久久久 | 一区二区三区四区在线视频 | 久久99网站 | 国产高清在线观看 | 欧美视频成人 | 欧美激情在线一区二区三区 | 亚洲欧美视频 | 成人在线激情 |