我正在将应有的arduino变成“虚拟”板,以支持更接近DAQ的行为。基本上,我打算使用CmdMessenger来摆脱在Arduino上进行编码并直接通过.net项目对其进行控制。
TFT被硬连线了。
到目前为止,一切都很好。但是,当我尝试实现TFT时会遇到我的问题。理想的情况是动态创建TFT“对象”。
#include <TFT.h>
void TFTBegin()
{
int CS = cmdMessenger.readInt32Arg();
int DC = cmdMessenger.readInt32Arg();
int RESET = cmdMessenger.readInt32Arg();
// TFTscreen = TFT(CS, DC, RESET);
TFT(CS, DC, RESET).begin();
// BELOW CODE IS FOR DEBUGGING AND TEMP ENSURING SCREEN IS SETUP
TFT(CS, DC, RESET).background(0, 0, 0);
TFT(CS, DC, RESET).stroke(255, 255, 255);
TFT(CS, DC, RESET).setTextSize(2);
TFT(CS, DC, RESET).setTextSize(5);
CheckSetup(); // FEEDBACK COMMAND TO CONFIRM SETUP COMPLETE
}
void TFTCommands()
{
enum commands
{
background,
stroke,
setTextSize,
text,
};
int CS = cmdMessenger.readInt32Arg();
int DC = cmdMessenger.readInt32Arg();
int RESET = cmdMessenger.readInt32Arg();
int Command = cmdMessenger.readInt32Arg();
TFT(CS, DC, RESET).begin(); // WITHOUT THIS LINE NOTHING HAPPENS ON THE SCREEN?
switch (Command)
{
case background:
{
Serial.println("test");
int R = cmdMessenger.readInt32Arg();
int G = cmdMessenger.readInt32Arg();
int B = cmdMessenger.readInt32Arg();
TFT(CS, DC, RESET).background(R, G, B);
}
break;
ECT...
TFTBegin函数将按预期工作,并且TFTCommands将更新屏幕,但仅在重新初始化屏幕时才会这样做,这会导致大量延迟。我传统上使用TFT来使用库,并且所有内容都很好,因此仅当采用这种格式时。我还检出了库文件,但看不到任何明显的内容。
任何帮助将不胜感激! 谢谢!