Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
初級會員
|
也可以試試SPRINTF() 的函試,滿好用的喔!
發表於: 2007/11/19 9:17
|
|||
|
Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
資深會員
|
程式debug 的話
就要有勞板主和其他前輩了 我也會的不多 抱歉啦 !!!
發表於: 2007/11/13 17:34
|
|||
|
Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
新會員
|
加了 str[5] 在程式前
可以在watch 看到str 的值變成 i1 但是顯示出來依然是亂碼 是ASCII code 轉換的問題嗎? 請教教我
發表於: 2007/11/13 14:41
|
|||
|
Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
資深會員
|
程式有無錯誤並無細看
但兩個建議 1. AD 初始化程式和OpenLCD() 放在while() 之前執行一次就好 不需要放在迴圈裏面,每次都執行一次 而AD轉換和LCD顯示程式才放在while裡面 2. str[],不指定陣列大小的話,其實和 一般一byte 的變數是一樣的,只佔一個byte, 想當然爾的,有可能會出問題
發表於: 2007/11/13 11:59
|
|||
|
Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
新會員
|
我把我的程式貼過來好了,基本上這是一個由a/d 接收數值,做運算,再把數值顯示到lcd的程式,但其中有三個問題點
第一 問題點 :接收進來的值 i 是一個long 的格式,能做乘除法嗎?如能,該如何做? 第二問題點: ltoa(i1,str)是由 i1 轉換過來的string,我如何能知道他是否有轉換過去,能在watch 裡看到嗎? 第三點 現在我都無法把putrsLCD(str) 正確顯示到lcd上,是因為clear memory嗎?該如何補救 但第一列的 putrsLCD("a/d value is "); 可以正常顯示 請各位高手幫幫忙 感激不盡
#include <p18f4520.h> //納入微控制器定義檔
發表於: 2007/11/13 10:52
|
|||
|
Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
資深會員
|
沒看到程式中有給定 i 值
若i 不是數字資料的話?? str 也沒指定陣列大小 可以嗎??
發表於: 2007/11/13 10:20
|
|||
|
Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
新會員
|
請問那我應該如何做呢?
是否應該再include 甚麼檔進來? 麻煩你了!謝謝
發表於: 2007/11/13 10:13
|
|||
|
Re: 請問lcd string的顯示
|
||||
---|---|---|---|---|
版主
|
ltoa( ) 轉換完後的ASCII Code 字串是存在 RAM 裡,Clear All Memory 不就是把 RAM 清為零嗎? 所以 RAM 的資料就不再是字串的格式了。
發表於: 2007/11/13 9:07
|
|||
|
請問lcd string的顯示
|
||||
---|---|---|---|---|
新會員
|
版大您好:
請問要把一個long的變數(數字)顯示在lcd上 之前用 long i ; char str[]; OpenLCD(); // 初始化LCD模組 WriteCmdLCD( 0x01 ); // 清除LCD顯示資料 LCD_Set_Cursor( 0, 0 ); // 顯示位置回至第0行第0格 delay_ms(1); // 時間延遲 ltoa(i,str); // convert timer to string putrsLCD(str);// 顯示資料 就可以把 i 這個變數顯示出來 但後來我在debug時下了clear all memory的指令 從此之後顯示的數字就不能顯示,都是一堆亂碼 請問是甚麼原因? 還是我又把程式改錯了! 找了很久,都找不出原因! 謝謝
發表於: 2007/11/12 20:57
|
|||
|