Documentation
For Arduino users
CompDualStateButton_v0_32.ino
How to Use
This example shows that when the dual state button component on the Nextion screen is released, the text of Text component will change one every time.
Author
huang xianming (email:xianm.nosp@m.ing..nosp@m.huang.nosp@m.@ite.nosp@m.ad.cc)
Date
2015/11/11 2016/12/25 bring HMI up to v0.32 to avoid too old issues by Patrick Martin, no other changes made
#include "Nextion.h"
/*
* Declare a dual state button object [page id:0,component id:1, component name: "bt0"].
*/
NexDSButton bt0 = NexDSButton(0, 1, "bt0");
NexText t0 = NexText(0, 2, "t0");
char buffer[100] = {0};
/*
* Register a dual state button object to the touch event list.
*/
NexTouch *nex_listen_list[] =
{
&bt0,
NULL
};
/*
* Dual state button component pop callback function.
* In this example,the button's text value will plus one every time when it is released.
*/
void bt0PopCallback(void *ptr)
{
uint32_t dual_state;
NexDSButton *btn = (NexDSButton *)ptr;
dbSerialPrintln("b0PopCallback");
dbSerialPrint("ptr=");
dbSerialPrintln((uint32_t)ptr);
memset(buffer, 0, sizeof(buffer));
/* Get the state value of dual state button component . */
bt0.getValue(&dual_state);
if(dual_state)
{
t0.setText("HI! OPEN STATE");
}
else
{
t0.setText("HI! OFF STATE");
}
}
void setup(void)
{
/* Set the baudrate which is for debug and communicate with Nextion screen. */
/* Register the pop event callback function of the dual state button component. */
bt0.attachPop(bt0PopCallback, &bt0);
dbSerialPrintln("setup done");
}
void loop(void)
{
/*
* When a pop or push event occured every time,
* the corresponding component[right page id and component id] in touch event list will be asked.
*/
nexLoop(nex_listen_list);
}