STM32如何實現不同埠下引腳的資料輸入輸出?

時間 2021-06-12 00:32:53

1樓:

這樣的硬體設計是不合理的,但這不意味著LCD沒法使用,如果LCD介面分散在PORTD和E,那你在輸出資料的時候要特別小心。譬如使用了PORTD的高八位和PORTE的低八位,然後你要輸出16位資料(譬如0x4E96),那麼必須進行兩次操作。且必須注意不可改變PORTD的低8位和PORTE的高8位的管腳值。

GPIOD

->ODR&=

0xFFFFFF96

;GPIOE

->ODR&=

0xFFFF4EFF

;注意,所有暫存器的操作都是32位操作,但因為GPIO的管腳只有16個,你也可以以16位操作ODR,自己心裡明白就可以了。

這樣,寫一次TFT-LCD的管腳就需要兩條指令,效率是比較低的。事實上,彙編語句會有6條,因為首先要讀出原有ODR的數值,再進行與操作,最後再寫入ODR。所以,除非迫不得已,操作LCD盡量不要把資料埠分散在不同的GPIO端。

2樓:pengruojing

一般來說,如果是8080或6800介面的LCD,只要能同時在這些埠(分散接在D埠和E埠)同時輸出正確資料即可,但是可能執行效率會降低一些(因為要額外的操作分配資料)

STM32如何實現對步進電機的精準定位

硬體實戰君 第一 選擇一款好的驅動器很重要。根據你的應用需求,選擇合適的驅動器,要達到精確控制需要驅動器有細分功能。比如32細分控制模式時電機運動會更平滑。第二 使用步進電機加減速控制演算法。步進電機給脈衝就能轉,脈衝停止電機就會停止,這是人盡皆知的。但是電機在變頻啟動時會出現丟步,高速突然停止時會...

STM32程式如何加密更安全?

meijc119 1,如果板子上有外部儲存器,可以先編寫乙個程式,利用演算法把id計算得到一些值存入外部儲存器,然後再燒寫真正的程式,真正的程式去校驗外部儲存器的資料是否合法即可 2,利用板子上按鍵組合,或是上電按住某些鍵,程式在這個時候利用演算法把id計算得到一些值存入程式區 stm8為EE區 程...

如何系統地入門學習stm32?

無際微控制器 我從事微控制器開發多年,用過非常多晶元,有stc 中穎 GD 新唐 BLE Zigbee NXP 還有一些中國產SOC等等,唯獨ST的讓我最省心,不管是STM8還是STM32。省心只要是體現在穩定,只需要按照常規方法配置就不會有亂七八糟奇奇怪怪的問題出現。之前碰到過最蛋疼的晶元,有些F...