Robofun 機器人論壇

標題: Arduino lcd 顯示問題 [打印本頁]

作者: z887925    時間: 2015-5-29 00:40
標題: Arduino lcd 顯示問題
請問各位大大 最近在研究使用Android藍芽連接Arduino顯示LCD
輸入Hello Worid  後來再輸入Apple
不過字都無法清除乾淨 還有殘留
請各位大大幫忙
以下是我的程式
#include <Wire.h>
#include <LiquidCrystal.h>

#define MAX_BTCMDLEN 128

byte cmd[MAX_BTCMDLEN];
int len = 0;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

char str[MAX_BTCMDLEN];
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;
    }
}


作者: BlackJa    時間: 2015-5-29 22:40
你是不是忘了清畫面

這間公司的
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
作者: z887925    時間: 2015-5-31 16:14
回復 2# BlackJa


有阿lcd.clear()這個不是清理螢幕的嗎?
作者: BlackJa    時間: 2015-5-31 23:41
回復  BlackJa


有阿lcd.clear()這個不是清理螢幕的嗎?
z887925 發表於 2015-5-31 16:14



加延遲時間試看看. 你的型號要不要丟出來看看.
我還沒玩到LED = = 只能猜流程面...
作者: z887925    時間: 2015-6-3 11:14
回復 4# BlackJa


Arduino型號為MEGA 2560有加延遲試過了好像只是增加清平時間而已

還是無法清除乾淨
作者: BlackJa    時間: 2015-6-10 01:04
我又看了一下你的程式 這段有少嗎?
通常不是要有 = 或是 <> 我有沒有看錯..?  len = 0 才清除 或是 len <>0 ?
if ( len ) {
        sprintf(str,"%s",cmd);
        Serial.println(str);
        lcd.clear();
        lcd.print(str);
        cmd[(len++)%MAX_BTCMDLEN] = 0;
    }




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2