求助,Arduino编程问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2051|回复: 3

[未解决] 求助,Arduino编程问题

[复制链接]
发表于 2020-11-27 01:24 | 显示全部楼层 |阅读模式
本帖最后由 weewee 于 2020-11-27 09:03 编辑

新手小白请教各位前辈有关Arduino编程运算问题

使用array
把输入的数字输出一次,再变成 * 号
每十就换行
不是数字或输入超过十位数(0至99)就输出一次输入,然后再输出 "incorrect input"

例如20就是
20
**********
**********

例如hello就是
hello
incorrect input

例如1000也是
1000
incorrect input


感激万分
arduino_ch.jpg
 楼主| 发表于 2020-11-27 01:26 | 显示全部楼层
请教一下如果用下面的代码应该怎么改

char buf[100] = {0};  // this is an array
char inChar;
bool stringComplete = false;
int i = 0;

// declare the function
char ConvertString(char);

void setup()
{
  // Initialize serial and wait for port to open
  Serial.begin(115200);
  while (!Serial)
  {
    // Wait for serial port to connect, needed for native USB port only
  }
}

void loop()
{
  while (Serial.available())
  {
    inChar = (char)Serial.read();

    if (inChar == '\n')   // change '\n' to '~' when using Tinkercad
    {
      buf[i++] = inChar;  // last character is newline
      buf[i] = 0;         // string array should be terminated with a zero
      stringComplete = true;
    }
    else
    {
   
      buf[i++] = inChar;
    }
  }

  if (stringComplete)
  {
    Serial.print(buf);    // the printing of string will be stopped when zero is reached
    stringComplete = false;
    i = 0;
  }
}

发表于 2020-11-27 09:36 | 显示全部楼层
应该不难,手里没板子。
发表于 2020-11-30 14:28 | 显示全部楼层
这种问题类似于,你好用英语怎么讲
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 18:46 , Processed in 0.148325 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表