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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關(guān)于如何讓Arduino串口打印一次或者兩次的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:816562 發(fā)表于 2024-12-11 15:25 來自手機(jī) | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
50黑幣
寫了一段代碼,按下按鍵引腳輸出高電平,并切串口打印相應(yīng)字符,松開按鍵引腳輸出低電平,串口打印相應(yīng)字符,現(xiàn)在問題是不管是高電平還是低電平串口都在一直打印,想問問各位大佬怎樣才能讓串口打印一次或者兩次字符?源代碼,初學(xué)寫的比較爛,大佬湊合看!
源碼如下:


void setup()
{
  Serial.begin(19200);
  pinMode(3, INPUT_PULLUP);
  pinMode(13, OUTPUT);
  digitalWrite(13,LOW);
}

void loop()
{
  if (!digitalRead(3))
   {
    digitalWrite(13,HIGH);        
    Serial.print("1a");
    delay(1000);
    }
     
    else
   
  {
    digitalWrite(13,LOW);
    Serial.print("1b");
    delay(1000);
   }
                     
}

最佳答案

查看完整內(nèi)容

bool lastButtonState = HIGH; // 初始假設(shè)按鍵未按下(由于使用了PULLUP電阻) void setup() { Serial.begin(19200); pinMode(3, INPUT_PULLUP); // 使用內(nèi)部上拉電阻 pinMode(13, OUTPUT); digitalWrite(13, LOW); } void loop() { bool currentButtonState = !digitalRead(3); // 按鍵按下時引腳為LOW if (currentButtonState != lastButtonState) // 檢查按鍵狀態(tài)是否改變 { if (cur ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:583948 發(fā)表于 2024-12-11 15:25 | 只看該作者
bool lastButtonState = HIGH;  // 初始假設(shè)按鍵未按下(由于使用了PULLUP電阻)

void setup()
{
  Serial.begin(19200);
  pinMode(3, INPUT_PULLUP);  // 使用內(nèi)部上拉電阻
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
}

void loop()
{
  bool currentButtonState = !digitalRead(3);  // 按鍵按下時引腳為LOW

  if (currentButtonState != lastButtonState)  // 檢查按鍵狀態(tài)是否改變
  {
    if (currentButtonState)  // 按鍵按下
    {
      digitalWrite(13, HIGH);
      Serial.println("Button pressed: 1a");  // 使用println換行,方便閱讀
      lastButtonState = currentButtonState;  // 更新狀態(tài)
    }
    else  // 按鍵松開
    {
      digitalWrite(13, LOW);
      Serial.println("Button released: 1b");  // 使用println換行,方便閱讀
      lastButtonState = currentButtonState;  // 更新狀態(tài)
    }
  }

  // 這里可以添加一個小的延時來減少CPU的占用,但注意不要太大以免影響響應(yīng)速度
  // delay(10);  // 可選,根據(jù)需要調(diào)整
}
回復(fù)

使用道具 舉報

板凳
ID:88256 發(fā)表于 2024-12-11 18:16 | 只看該作者
loop里面的程序是一直在循環(huán)運(yùn)行的,肯定會一直打印,要加一個變量用來記錄按鍵狀態(tài),只要讀取到的按鍵狀態(tài)和記錄的不一樣,就更改變量并執(zhí)行相應(yīng)的操作。
回復(fù)

使用道具 舉報

地板
ID:816562 發(fā)表于 2024-12-11 20:33 來自手機(jī) | 只看該作者
zpwgf 發(fā)表于 2024-12-11 17:49
bool lastButtonState = HIGH;  // 初始假設(shè)按鍵未按下(由于使用了PULLUP電阻)

void setup()

感謝大佬解惑,大佬的代碼完美實(shí)現(xiàn),把代碼最后的延時加上了,不然按鍵時有抖動,感謝!
回復(fù)

使用道具 舉報

5#
ID:816562 發(fā)表于 2024-12-11 20:33 來自手機(jī) | 只看該作者
hhdsdy 發(fā)表于 2024-12-11 18:16
loop里面的程序是一直在循環(huán)運(yùn)行的,肯定會一直打印,要加一個變量用來記錄按鍵狀態(tài),只要讀取到的按鍵狀態(tài) ...

感謝指點(diǎn)!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人av一区二区三区 | 日本久久久久久 | 看黄在线 | 国产精品色 | 国产一级网站 | 中文字幕一区在线观看视频 | 久久久精品一区二区 | 久久中文字幕一区 | 国产成人精品一区二区在线 | 国产专区视频 | 亚洲欧美日韩精品 | 国产日韩欧美一区 | 一级黄色短片 | 国产精品精品 | 91精品久久久久 | 亚洲男人天堂 | 国产在线a | 高清视频一区二区三区 | 亚洲欧美另类在线 | 免费一区二区三区 | 91午夜在线| 久久99精品久久久久久狂牛 | 久久精品99 | 成人免费看黄网站在线观看 | 欧美一区二区小视频 | 亚洲夜射| 欧美一区不卡 | 人人人人人爽 | 亚洲视频在线播放 | 日韩手机在线看片 | 婷婷久久五月天 | 欧美成ee人免费视频 | 久久久久久久久综合 | 午夜天堂精品久久久久 | av在线一区二区三区 | 色综合美女 | 欧美精品一区二区在线观看 | 成人免费一区二区三区视频网站 | 国产在线一区观看 | 欧美日韩亚洲一区 | 99精品视频一区二区三区 |