HT1621驅動代碼詳細解析

        之前篇博客已經介紹過ht1621這款驅動芯片,一般通用較多的芯片驅動代碼,網上都有資源。但是若完全照搬而沒有理解到位,或者忽略了細節。那麼對於驅動的運用並不會那麼到位甚至會犯很大的錯誤。下面有我的示例,驅動代碼是網上移植的部分:

        STM32庫中對於GPIO口的定義是對應相應寄存器的操作位的,所以一般都有16位即對應GPIO0-GPIO15,不知道這位作者是移植了51代碼還是畫蛇添足。把原本16位的GPIO強制轉換成了8位,導致我定義的GPIO9-GPIO15的IO口都失敗了,我還找芯片手冊,剛好那幾個是有些特殊,差點就要改板子了。

    其實HT1621驅動代碼並不複雜,通信方式就是串口通信,所以發送數據的程序就結合時序圖用類似模擬IIC的方式編寫,具體代碼如下:

        這個是從給定數據的高位寫入,但是對應LCD的RAM其實是4個COM口(一般來說),所以在連續寫入的命令下。C語言對數據類型定義最少都是8位,所以若想把一個SEG口對應4個COM口的數據作爲單個元素(放在單個8位變量),應該改爲從地位寫入較爲方便。其他的數據命令和讀寫都是基於寫入函數的拓展,這裏不再贅述。注意一點,開啓節電命令後,LCD的偏壓發生器關閉,則LCD無法顯示。所以還不如直接關閉了驅動模塊,可能對於聲音模塊還有用吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章