0

我对 Nextion NX4024T032_011 有疑问。我可以从 Nextion 向 Arduino 发送数据,但问题是 arduino 中的 Tx led 闪烁。就我在串行端口上观察到的,来自 arduino 的数据不被 Nextion 接受,我只能在打开串行监视器后看到“recvRetCommandFinished err”:recvRetCommandFinished err

在 nextion 中创建的 GUI 是:Nextion GUI

如果我按下串行监视器中的按钮,我可以查看:串行输出但数字未打印并且在显示中增加或减少

我正在使用这个库:Arduino mega 2560 的 Nextion 库,使用Serial2进行通信

NexConfig.h

#define nexSerial Serial2

Arduino代码:

    #include "Nextion.h"

void t0PopCallback(void *ptr);
void b0PopCallback(void *ptr);
void b1PopCallback(void *ptr);

NexText t0 = NexText(0, 3, "t0");
NexButton b0 = NexButton(0, 1 ,"b0");
NexButton b1 = NexButton(0, 2, "b1");

char buffer[100] = {0};

NexTouch *nex_listen_list[] = 
{
    &t0,
    &b0,
    &b1,
    NULL
};

void t0PopCallback(void *ptr)
{
    dbSerialPrintln("t0PopCallback");
    t0.setText("50");
}

void b0PopCallback(void *ptr)
{
    uint16_t len;
    uint16_t number;

    dbSerialPrintln("b0PopCallback");

    memset(buffer, 0, sizeof(buffer));
    t0.getText(buffer, sizeof(buffer));

    number = atoi(buffer);
    number += 1;

    memset(buffer, 0, sizeof(buffer));
    itoa(number, buffer, 10);

    t0.setText(buffer);

    digitalWrite(LED_BUILTIN, HIGH);
}

void b1PopCallback(void *ptr)
{
    uint16_t len;
    uint16_t number;

    dbSerialPrintln("b1PopCallback");

    memset(buffer, 0, sizeof(buffer));
    t0.getText(buffer, sizeof(buffer));

    number = atoi(buffer);
    number -= 1;

    memset(buffer, 0, sizeof(buffer));
    itoa(number, buffer, 10);

    t0.setText(buffer);

    digitalWrite(LED_BUILTIN, LOW);
}

void setup(void)
{
    pinMode(LED_BUILTIN,OUTPUT); 

    nexInit();
    t0.attachPop(t0PopCallback);
    b0.attachPop(b0PopCallback);
    b1.attachPop(b1PopCallback);
    dbSerialPrintln("setup done");
}

void loop(void)
{
    nexLoop(nex_listen_list);
}

recvRetCommandFinished err 中将 err更改OK的任何提示

4

1 回答 1

0

这是 NexHardware.cpp 中函数“recvRetCommandFinished()”的返回

如果你分析这个文件,你会发现什么时候收到这个字符串:

recvRetCommandFinished err

这意味着 arduino 无法从 Nextion 附加到的序列中读取响应,在 NexConfig.h 中指定

我有一个类似的问题,当我修改我的硬件连接时,我可以弄清楚电子设备上发生了什么,而不是草图。

于 2020-01-11T18:08:12.907 回答