误入、人间 发表于 2017-9-23 09:19:00

新手上路,,麻烦大佬们看看这个arduino与1602LCD连接的一个小程序,谢谢了

        我想实现的功能是:从串口输入一个串数字,然后在lcd显示出来,,当我按下唯一的那个按键(一端接+5V一端接数字口9)的时候,arduino能将那串数字存储起来,然后将lcd清零,再重新输入一串数字的时候,可以将第二串数字加上第一串数字的数值,在lcd上显示。我写的程序如下:

#include <LiquidCrystal.h> //申明1602液晶的函数库
#define KEY 9

LiquidCrystal lcd(12,11,10,5,4,3,2); //4数据口模式连线声明
String comdata,val;


void setup()
{
lcd.begin(16,2);
Serial.begin(9600);
pinMode(KEY,OUTPUT);
}
void loop()
{
   
    lcd.home();      //把光标移回左上角,即从头开始输出   
    lcd.print("WEIGHT:"); //显示
    lcd.setCursor(0,1);   //把光标定位在第1行,第0列
      
      
    while(Serial.available()>0)
   {
      
      comdata+=char(Serial.read());
      delay(2);
      
    }
    if(comdata.length()>0)
    {
      lcd.print(comdata);      //显示
      comdata="";
}

if(digitalRead(KEY)==HIGH)
   {
    delay(20);
    if(digitalRead(KEY)==HIGH)
    {
    //lcd.clear();
    val=comdata;    //存储数据
      //Serial.flush();
      lcd.print("0.0000");
      delay(1000);
    }
   }
else

while(Serial.available()>0)
   {
      
      comdata=val+char(Serial.read());
      delay(2);
      
    }
    if(comdata.length()>0)
    {
      lcd.print(comdata);      //显示
      comdata="";
}

   

}

感觉有点弄不清楚,,麻烦各位大佬帮忙看看,,感谢感谢

误入、人间 发表于 2017-9-23 10:13:09

可以有偿的:'(:'(:'(私聊个微信支付宝都行

通幽境 发表于 2017-9-23 11:12:57

看你的代码,建议还是先学习下

误入、人间 发表于 2017-9-23 11:39:55

通幽境 发表于 2017-9-23 11:12
看你的代码,建议还是先学习下

那请问大佬,想解决这种问题,,应该从哪方面去着手啊,那些基础实例都做过了,能不能推荐下有什么好书看下,,谢谢了:handshake:handshake:handshake

通幽境 发表于 2017-9-23 12:28:26

可以去学下C语言

单片机菜鸟 发表于 2017-9-23 12:50:19

建议还是先把基础学好吧
页: [1]
查看完整版本: 新手上路,,麻烦大佬们看看这个arduino与1602LCD连接的一个小程序,谢谢了