程序运行问题 求大神
最近在研究电阻屏写了这么一段程序 打算控制LED用 很奇怪的少运行一次#include "TFTLCD.h"#include "TouchScreen.h"
#define YP A1// must be an analog pin, use "An" notation!定义触摸屏幕
#define XM A2// must be an analog pin, use "An" notation!
#define YM7 // can be a digital pin
#define XP6// can be a digital pin
#define TS_MINX 150//定义触摸屏大小
#define TS_MINY 120
#define TS_MAXX 920
#define TS_MAXY 940
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
int ledmode=0;
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
#define PENRADIUS 3
void setup(void) {
pinMode(13, OUTPUT);
Serial.begin(9600);
tft.reset();
tft.initDisplay();
tft.fillScreen(BLACK);
}
#define MINPRESSURE 10
#define MAXPRESSURE 1000
//定义最小最大压力
;
void loop()
{digitalWrite(13, HIGH);
Point p = ts.getPoint();
digitalWrite(13, LOW);
pinMode(XM, OUTPUT);
pinMode(YP, OUTPUT);
if(p.z>MINPRESSURE&&p.z<MAXPRESSURE){led();}
}
void led()
{//led界面显示
tft.fillScreen(BLACK);
char open[]="LED OPEN",close[]="LED CLOSE";
Serial.println("1");
if (ledmode==0){ledmode=1;Serial.println("2");tft.drawString(0, 0, open, RED, 4);delay(500); tft.fillScreen(BLACK);}
else if (ledmode==1){Serial.println("3");ledmode=0;tft.drawString(0, 0, close, YELLOW, 4);delay(500); tft.fillScreen(BLACK);}
}
我声明了一个全局变量 ledmode用来记录LED的开关状态
根据串口显示 我的程序遇到tft.drawString(0, 0, open, RED, 4);少运行一次导致每次显示关的状态
串口记录如下
可以肯定的是变量改变了但是在TFT显示屏上没有表现 很纠结为什么写了很多内容遇到这个问题吧其他都删了还没有解决 哪位大神来帮下忙啊 tft.fillScreen(BLACK); 你把整个屏幕给弄黑了 要么就是你液晶屏没接好 與我情況一樣!問題解決了嗎?不會只你跟我遇到這情況吧! http://www.geek-workshop.com/thread-7379-1-1.html
页:
[1]