问题描述
我目前在有关Nextion和Arduino方面遇到问题。我处于程序的早期阶段,正在尝试使他们交流。它似乎起作用,但仅部分起作用。该程序应该打开和关闭继电器,并更改文本以及一些背景色(文本框)。该程序确实可以运行,但不会更改显示屏上的文本。随之而来的是,当您单击它时,它甚至没有发送应该应该发送的Serial.println。继电器仍然被激活。代码应该没有什么大问题,所以我想知道发生了什么。我将代码包括在内:第一个是我正在谈论的代码,非常“ 原始”,第二个是我实际要使用的代码。任何有关其为何无法正确通信(更改文本,不以串行方式打印等)的线索,将不胜感激。 (这件事对我来说很重要,因为我需要他们之间进行完美的沟通,互相发送值和执行推/弹出动作)。
谢谢您的时间。
P.S。我是这个平台的新手,所以,请不要着火了,而是尝试解释我应该做些什么/更好地解释它。
Arduino "blueprint",RX and TX connected on D16,D17 (RX2,TX2
id
有用的一个:
#include <doxygen.h>
#include <NexButton.h>
#include <NexCheckBox.h>
#include <NexConfig.h>
#include <NexCrop.h>
#include <NexDualStateButton.h>
#include <NexGauge.h>
#include <NexGpio.h>
#include <NexHardware.h>
#include <NexHotspot.h>
#include <Nexnumber.h>
#include <NexObject.h>
#include <NexPage.h>
#include <NexPicture.h>
#include <NexProgressBar.h>
#include <NexRadio.h>
#include <NexRtc.h>
#include <NexScrolltext.h>
#include <NexSlider.h>
#include <NexText.h>
#include <NexTimer.h>
#include <Nextion.h>
#include <NexTouch.h>
#include <NexUpload.h>
#include <NexVariable.h>
#include <NexWaveform.h>
//#include <Nextion.h>
NexButton bOn = NexButton (0,2,"b0");
NexButton bOff = NexButton (0,3,"b1");
NexText ldOn = NexText (0,5,"t0");
NexText ldOff = NexText (0,7,"t1");
NexText FcX = NexText (0,10,"t2");
NexTouch *nex_listen_list[] = {
&bOn,&bOff,NULL
};
unsigned long t1,dt;
// ------------------------------
void setup() {
Serial.begin(9600);
Serial2.begin(9600);
delay (3500);
Serial.println("SetUp");
delay (1500);
Serial.println("GO !");
nexInit();
bOn.attachPop(bton,&bOn);
bOff.attachPop(btoff,&bOff);
pinMode(13,OUTPUT);
pinMode(22,OUTPUT);
pinMode(27,INPUT_PULLUP);
digitalWrite(13,HIGH);
digitalWrite (22,LOW);
}
// ------------------------------
void loop() {
nexLoop(nex_listen_list);
dt = millis() - t1;
if (dt > 25) {
updateNextion();
t1 = millis();
}
}
// ------------------------------
void bton(void *ptr) {
Serial.println();
ldOn.Set_background_color_bco(2024);
digitalWrite(13,HIGH);
digitalWrite(22,HIGH);
}
// ------------------------------
void btoff(void *ptr) {
Serial.println();
ldOff.Set_background_color_bco(63488);
digitalWrite(13,LOW);
digitalWrite(22,LOW);
}
// ------------------------------
void updateNextion() {
if (!digitalRead(27)) {
FcX.Set_background_color_bco(63488);
FcX.Set_font_color_pco(65504);
FcX.setText("END");
Serial.println();
}
else {
FcX.Set_background_color_bco(65535);
FcX.setText("");
Serial.println();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)