使用ST的Nucleo入坑Arduino,开发确实简单,分享个变频灯

2019-12-10 18:29发布

1. 安装STM32 Core支持包
2. 选择对应的板
3. 打开例程测试
4. 自由发挥

  1. int  UserButton = PC13;
  2. bool NeedBlink = false;
  3. int  KeyPreStatus = HIGH;    // 默认为未按下
  4. int  PressCnt  = 0;
  5. int  TimeCnt = 0;
  6. void setup() {
  7.   // put your setup code here, to run once:
  8.   pinMode(LED_BUILTIN, OUTPUT);
  9.   pinMode(UserButton, INPUT);
  10. }

  11. void loop() {
  12.   // 按键控制变频闪烁
  13.   if(NeedBlink == true) {
  14.     if(digitalRead(LED_BUILTIN) == HIGH) {
  15.       digitalWrite(LED_BUILTIN, LOW);
  16.     }
  17.     else {
  18.       digitalWrite(LED_BUILTIN, HIGH);
  19.     }
  20.     NeedBlink = false;
  21.   }
  22.   
  23.   if(digitalRead(UserButton) == KeyPreStatus)  // 按键扫描,消抖
  24.   {
  25.     if(KeyPreStatus == LOW) {
  26.       PressCnt++;
  27.       if((PressCnt % 50) == 0) {   // 50ms
  28.         NeedBlink = true;
  29.       }
  30.     }
  31.     else {
  32.       TimeCnt++;
  33.       if(TimeCnt > 1000) {    // 1s
  34.         TimeCnt = 0;
  35.         NeedBlink = true;
  36.       }  
  37.     }
  38.   }
  39.   else {
  40.     KeyPreStatus = digitalRead(UserButton);
  41.     PressCnt = 0;
  42.   }
  43.   
  44.   delay(1);
  45. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。