ILI9325液晶驅動示例

2021-06-04 19:34:37 字數 1176 閱讀 5344

一.指令暫存器(從gram跳轉到這裡的方法是rs=0)

reset 這個是復位,不需要我解釋了吧

cs :片選它的作用是除了字面上的意思外,還有個和spi匯流排的nss腳一樣的作用:重新定義資料頭,如果通訊重出現資料錯位的話這個腳就起到作用了

rd :讀(下降沿生效)

wr :寫(上公升沿生效)

db0-db17 :資料腳

二。gram--是個矩陣,每個點對應螢幕上的乙個點(從指令暫存器跳轉到這裡的方法是將指令暫存器的位址寫0x0022(這裡是指令暫存器的出口))

1.底層協議和基本函式(後面我具體講)

2.操作暫存器 來實現初始化 其**比較複雜上網或者找朋友要份**抄一下,想深入研究的朋友可以找份中文的暫存器說明看下。只要屏來做顯示用的朋友沒有必要看了

3。劃定具體顯示區域,預設是位址每寫一位會自動加1超過分界回自動迴圈(一般是 x為 0-239 ,y為 0-319。當然也可以定義更小的區域) 這個在暫存器0x0050,0x0051,0x0052,0x0053裡操作。

4.把gram指標移動到指定位置,類似1602液晶游標的作用,它不會顯示出來。指令是行座標是操作 0x0020暫存器 列座標是操作 0x0021暫存器

5。會了上面這些接著就簡單了 初始化--劃顯示區域--移動gram座標到想要的起始位置--寫0x0022把指標移動到gram--對資料埠賦值,wr每個上公升沿9325會把該值寫進gram並顯示出來(保證rs為高)

6.至於還有個8位匯流排,硬體是接db10-db17。軟體操作和16位匯流排是一樣的,就是乙個 16位指令分兩次來寫而已。不管是資料還是位址都先寫高8位就行

7.基本協議也就是時序,其實有了上面的解釋很容易自己寫出時序了。我簡單講下吧。先cs=0; rs = 0; p1 =0; (命令位址高8位都是0) 然後給個上公升沿wr = 0;wr = 1; 指令暫存器的位址操作就完成了。光寫位址是完全沒用的,後面肯定要跟個資料(0x0022是出口它特殊)寫資料的時序和上面一樣,就是要保證wr上公升沿的時候rs為高電平。

8.知道了這些不必傻乎乎的每寫乙個指令或者資料就去操作一次cs,也不必每刷一幀屏都去操作一次起始座標。因為它會迴圈的。顯示區域設定在暫存器0050-0053裡面,你不去修改它是不會變的,不用反覆劃定他。

9.讀資料,讀和寫基本一樣。就是rd下降沿生效和wr上公升沿生效的區別,友情提醒一下,讀資料要等待資料穩定,速度比寫慢一點,具體請看手冊。

932 漂亮陣列

對於某些固定的 n,如果陣列 a 是整數 1,2,n 組成的排列,使得 對於每個 i j,都不存在 k 滿足 i k j 使得 a k 2 a i a j 那麼陣列 a 是漂亮陣列。給定 n,返回任意漂亮陣列 a 保證存在乙個 解題思路 關於漂亮陣列的性質 首先,不存在 k 滿足 i k j 使得 ...

9 3 2 自然連線(NATURAL JOIN)

9.3.2 自然連線 natural join 自然連線 natural join 是一種特殊的等價連線,它將表中具有相同名稱的列自動進行記錄匹配。自然連線不必指定任何同等連線條件。圖9.9給出了典型的自然連線示意圖。圖9.9 自然連線 自然連線自動判斷相同名稱的列,而後形成匹配。缺點是,雖然可以指...

Leetcode932 漂亮陣列

題目 解題思路 使用遞迴的方法。由題目可知,給定乙個n,給出符合條件的排列。遞迴使大問題變成小問題,將n縮小,縮小到可以輕鬆解決的的大小,所以當n為1時,遞迴結束,返回1.如何將結果合併呢?我們知道當某個陣列排序符合條時,假設該陣列為a,那麼ka n也是符合條件的陣列,k是a的倍數,也就是說a的線性...