【问题标题】:Morse Code with Arduino使用 Arduino 的摩尔斯电码
【发布时间】:2017-12-23 17:10:03
【问题描述】:

我正在学习编写 Arduino 代码,为此,我尝试用英语制作一个摩尔斯电码转换器。这是我的代码,我面临以下问题:

   Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\Kunal Gehlot\OneDrive\Documents\Arduino\Morse_CODE\Morse_CODE.ino: In function 'void setup()':

Morse_CODE:16: error: request for member 'length' in 'in', which is of non-class type 'char [28]'

   for (int i = 0; i < in.length; i++) {

                          ^

Morse_CODE:18: error: request for member 'lentgh' in 'in', which is of non-class type 'char [28]'

   n = in.lentgh[i];

          ^

exit status 1
request for member 'length' in 'in', which is of non-class type 'char [28]'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

这是我的代码:

int Speaker1 = 4;
int Speaker2 = 6;
int LED = 2;
int Relay = 12;
char n = 0;
char in[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";

void setup() {
  pinMode(Speaker1, OUTPUT);
  pinMode(Speaker2, OUTPUT);
  pinMode(LED, OUTPUT);
  pinMode(Relay, OUTPUT);
  for (int i = 0; i < in.length; i++) {
    n = in.lentgh[i];
    switch (n) {
      case 'A' :
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'B' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'C' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'D' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'E' :
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'F' :
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'G' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'H' :
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'I' :
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'J' :
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'K' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'L' :
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'M' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'N' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'O' :
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'P':
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'Q':
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'R':
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'S':
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'T':
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'U':
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'V':
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'W':
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'X':
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'Y':
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case 'Z':
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(300);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(100);
        digitalWrite(Speaker1, HIGH);
        delay(100);
        digitalWrite(Speaker1, LOW);
        delay(300);
        break;
      case ' ' :
        delay (700);
        break;
    }
  }
}

void loop() {
}

我对这个项目的唯一目标是从串行监视器中获取输入文本并将其分解为每个单独的字母,我还将在列表中添加符号并将其转换为 LED 中的摩尔斯电码,继电器用于电脉冲和扬声器。

【问题讨论】:

  • 你从哪里得到lengthin.lentgh[i] 应该做什么?
  • 请不要将问题固定为答案,否则新读者很难看出问题所在。正如您所做的那样,添加答案是正确的方法。谢谢!
  • 注意到并抱歉,会注意的

标签: string arduino


【解决方案1】:

正如其他人在 cmets 中指出的那样,您应该使用 strlen() 来查找 Arduino 中字符数组的长度。 strlen() 是标准 Arduino 库的一部分,因此您无需添加任何特殊的#include 语句即可使用它。

如果您使用 sizeof(in),代码将发送缓冲区中的每个字符,即使您感兴趣的字符串小于缓冲区。

例如,假设 in[] = "ABC"; sizeof(in) 错误地返回 4,因为 "ABC" 在 'C' 字符之后有一个隐藏的 0 字节。 strlen(in) 在这种情况下返回 3,即正确的数字。

所以,

for (int i = 0; i

应该是

for (int i = 0; i

【讨论】:

    【解决方案2】:

    而不是使用 in.lentgh[i],sizeof(in) 应该用于 for 循环的条件。

    已解决的代码:

    int Speaker1 = 4;
    int Speaker2 = 6;
    int LED = 2;
    int Relay = 12;
    char n = '0';
    char in[]= "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
    
    void setup() {
    
      pinMode(Speaker1, OUTPUT);
      pinMode(Speaker2, OUTPUT);
      pinMode(LED, OUTPUT);
      pinMode(Relay, OUTPUT);
    
      for (int i = 0; i < sizeof(in); i++) {
      delay (1200);
      n = in[i];
    
        switch (n) {
    
    case 'A' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'B' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'C' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'D' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'E' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'F' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'G' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'H' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'I' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'J' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'K' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'L' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'M' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'N' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'O' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'P' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'Q' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'R' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'S' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'T' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'U' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'V' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'W' :
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'X' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'Y' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case 'Z' :
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(300);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(100);
            digitalWrite(Speaker1, HIGH);
            delay(100);
            digitalWrite(Speaker1, LOW);
            delay(300);
            break;
    case ' ' :
            delay (700);
            break;
        }
    
    
      }
    
    
    }
    
    void loop() {
    
    }
    

    【讨论】:

    • sizeof 是缓冲区的大小,不一定是字符串的长度。使用strlen
    • 没关系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    相关资源
    最近更新 更多