|
發布時間: 2020-6-4 09:55
正文摘要:本帖最后由 cheney03 于 2020-6-5 08:33 編輯 例如我現在要設置第3項:彩屏工作窗口設置,有個疑問寄存器地址的值是如何取的,是不是30h~3Fh都可以取?另外程序中 temp=XL>>8;為什么要右移8位? |
紅領巾 發表于 2020-6-5 22:34 //*************寫數據*************// void LCD_DataWrite(unsigned char Data) { cs1=0; rs=0; // 數據讀取或寫入周期 rd=1; //delay_us(5); BUS = Data;//數據總線 wr=0; //delay_us(5);資料寫入 (Data Write) wr=1; //數據讀取 (Data Read) cs1=1; wr=0; //delay_us(5); 指令寫入(CMD Write) wr=1; //狀態讀取(Status Read) cs1=1; 這個是寫數據函數(8位的),現在只是設置工作窗口,X軸左邊、右邊,Y軸左邊、右邊。變量tmp實際應該是8位的,為什么要右移還是搞不懂 |
xuyaqi 發表于 2020-6-5 18:54 謝謝,已經在數據手冊中找到答案了 |
| 你的tmp變量是不是16位的,寄存器應該是8位的。一開始是把tmp變量中的低8位參與LCD_DataWrite()運算,右移8位取出tmp變量中的高8位,再參與LCD_DataWrite()運算 |
| 你的問題,把數據手冊看明白就會解決,我們沒有數據手冊不好回答。 |
| 沒人回答么,自己頂一下! |