一,前言
之前ti的335無(wú)法驅(qū)動(dòng)st7735s的0.96寸的屏掖蛤,其實(shí)買(mǎi)家給的code好像我也無(wú)法用傻昙。等于st7735s的0.96寸的65k彩屏我從來(lái)沒(méi)點(diǎn)亮過(guò)。所以我雙11買(mǎi)了邏輯分析儀素标,那么調(diào)試和spi的屏應(yīng)該是比較方便的。
二萍悴,點(diǎn)亮st7735s
- 先點(diǎn)亮屏幕头遭,證明硬件是正常的
網(wǎng)上找了code說(shuō)能點(diǎn)亮,我先嘗試了下癣诱,它是gpio模擬spi的计维,確實(shí)能點(diǎn)亮,說(shuō)明屏幕是正常的撕予。 -
cs鲫惶,sck,mosi改成spi2.
結(jié)果配置的時(shí)候cs無(wú)法自動(dòng)控制实抡,所以改成手工控制欠母。
image.png -
點(diǎn)不亮屏幕
哈哈欢策,邏輯分析儀上場(chǎng)了。用控制變量法是我最擅長(zhǎng)的調(diào)試方法赏淌。正常驅(qū)動(dòng)屏幕的波形猬腰。
image.png
默認(rèn)為高電平,上升沿猜敢,而且是第二沿輸出值姑荷。所以我改了下。結(jié)果依然無(wú)法點(diǎn)亮
image.png
問(wèn)題就出在連邏輯分析儀都無(wú)法解析缩擂。原來(lái)是clock默認(rèn)值為低鼠冕。gpio初始化的時(shí)候是高電平,為什么輸出是低電平胯盯?我想了下加了個(gè)內(nèi)部上拉電阻懈费,哈哈,輸出高電平了博脑。屏幕點(diǎn)亮了憎乙,但是為花屏。 - 解決花屏
我又對(duì)比了下叉趣,write data是16bit的泞边,我連續(xù)2個(gè)8bit傳輸,改了下也是花屏疗杉。還是看UM吧阵谚!um寫(xiě)的是第一個(gè)上升沿,clock默認(rèn)為低電平呢~我又該了spi初始化配置烟具,依然是花屏梢什。再次檢查代碼,原來(lái)是我write data函數(shù)中手誤rd沒(méi)有設(shè)置為高電平導(dǎo)致的問(wèn)題朝聋。
三嗡午,硬件連接
image.png
用spi2驅(qū)動(dòng)的波形,這是21M的8分頻冀痕。
image.png
改成4分頻荔睹,spi波特率為5.12M依然正常。不過(guò)我理解大部分slave設(shè)備能支持5m波特率為上限了金度,我還是不要弄那么快
四应媚,小結(jié)
問(wèn)題解決咯,靠的就是邏輯分析儀猜极。反正是上升沿就可以,然后write16bit也完全可以用2個(gè)8bit的消玄,cs一直為低也不要緊跟伏。工欲善其事必先利其器丢胚!