Arduino lcd 顯示問題
請問各位大大 最近在研究使用Android藍芽連接Arduino顯示LCD輸入Hello Worid後來再輸入Apple
不過字都無法清除乾淨 還有殘留
請各位大大幫忙
以下是我的程式
#include <Wire.h>
#include <LiquidCrystal.h>
#define MAX_BTCMDLEN 128
byte cmd;
int len = 0;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
char str;
int insize, ii, tick;
void setup() {
Serial.begin(115200);
Serial3.begin(115200);
lcd.begin(16, 2);
}
void loop() {
tick = 0;
insize=0;
ii=0;
len=0;
while ( tick<MAX_BTCMDLEN ) {
if ( (insize=(Serial3.available()))>0 ){
delay(10);
for ( ii=0; ii<insize; ii++ ){
cmd[(len++)%MAX_BTCMDLEN]=char(Serial3.read());
}
} else {
tick++;
}
}
if ( len ) {
sprintf(str,"%s",cmd);
Serial.println(str);
lcd.clear();
lcd.print(str);
cmd[(len++)%MAX_BTCMDLEN] = 0;
}
}
你是不是忘了清畫面
這間公司的
http://www.ltc.com.tw/product_info.php/products_id/60591
序號指令RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1清屏0 0 0 0 0 0 0 0 0 1 回復 2# BlackJa
有阿lcd.clear()這個不是清理螢幕的嗎? 回復BlackJa
有阿lcd.clear()這個不是清理螢幕的嗎?
z887925 發表於 2015-5-31 16:14 http://www.robofun.net/forum/images/common/back.gif
加延遲時間試看看. 你的型號要不要丟出來看看.
我還沒玩到LED = = 只能猜流程面... 回復 4# BlackJa
Arduino型號為MEGA 2560有加延遲試過了好像只是增加清平時間而已
還是無法清除乾淨 我又看了一下你的程式 這段有少嗎?
通常不是要有 = 或是 <> 我有沒有看錯..?len = 0 才清除 或是 len <>0 ?
if ( len ) {
sprintf(str,"%s",cmd);
Serial.println(str);
lcd.clear();
lcd.print(str);
cmd[(len++)%MAX_BTCMDLEN] = 0;
}
頁:
[1]