找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1622|回復: 3
打印 上一主題 下一主題
收起左側

求程序思路 可暫停arduino計時器

[復制鏈接]
跳轉到指定樓層
樓主
ID:1038254 發(fā)表于 2022-7-4 11:05 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實現(xiàn),謝謝大家

IMG_20220704_110437.jpg (2.1 MB, 下載次數(shù): 79)

IMG_20220704_110437.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:827243 發(fā)表于 2022-7-5 09:31 | 只看該作者
思路如下,請參考。
  1. void main(void) {
  2.     int timerCount[5]={0,0,0,0,0};      //5個計時器
  3.     char timerPtr;          //計時器指針
  4.     char timerShowPtr;      //計時器顯示指針
  5.     char timerStat;         //計時狀態(tài)  1 計時 0 停止計時
  6.     timerPtr=0;   //初始狀態(tài)為全零
  7.     timerShowPtr=0;
  8.     timerStat=0;
  9.     while (1) {
  10.         if (timerStat==1) {
  11.             timerCount[timerPtr]++;
  12.         }
  13.         else {
  14.             顯示當前計時器 timerCount[timerShowPtr];
  15.         }
  16.     }
  17. }

  18. void exint0() interrupt 0 {     //按鍵1中斷
  19.     timerStat=1-timerStat;      //計時和停止計時切換
  20. }

  21. void exint1() interrupt 2 {     //按鍵2中斷
  22.     if (timerStat==0) {   //停止計時中
  23.         timerShowPtr++;
  24.         if (timerShowPtr>=5) timerShowPtr=0;
  25.     }
  26.     else {      //計時中
  27.         timerPtr++;
  28.         if (timerPtr>=5) timerPtr=0;
  29.         timeCount[timerPtr]=0;
  30.     }
  31. }
復制代碼

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:1038254 發(fā)表于 2022-7-6 11:21 來自觸屏版 | 只看該作者
daemondong 發(fā)表于 2022-7-5 09:31
思路如下,請參考。

為啥顯示錯誤,求解,大佬

IMG20220706112124.jpg (1.76 MB, 下載次數(shù): 84)

IMG20220706112124.jpg
回復

使用道具 舉報

地板
ID:161164 發(fā)表于 2022-7-6 18:52 | 只看該作者
gbgb52 發(fā)表于 2022-7-6 11:21
為啥顯示錯誤,求解,大佬

因為他給的是8051的代碼,只是給一個思路
你需理解后,以Arduino的C++寫出來
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表