Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2414|回復: 5
打印 上一主題 下一主題

Arduino lcd 顯示問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2015-5-29 00:40:06 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
請問各位大大 最近在研究使用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;
    }
}

2#
發表於 2015-5-29 22:40:08 | 只看該作者
你是不是忘了清畫面

這間公司的
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
3#
 樓主| 發表於 2015-5-31 16:14:14 | 只看該作者
回復 2# BlackJa


有阿lcd.clear()這個不是清理螢幕的嗎?
4#
發表於 2015-5-31 23:41:59 | 只看該作者
回復  BlackJa


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



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


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

還是無法清除乾淨
6#
發表於 2015-6-10 01:04:35 | 只看該作者
我又看了一下你的程式 這段有少嗎?
通常不是要有 = 或是 <> 我有沒有看錯..?  len = 0 才清除 或是 len <>0 ?
if ( len ) {
        sprintf(str,"%s",cmd);
        Serial.println(str);
        lcd.clear();
        lcd.print(str);
        cmd[(len++)%MAX_BTCMDLEN] = 0;
    }
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-6-8 15:42 , Processed in 0.220173 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表