一步步點亮led之軟硬體分析

2022-09-07 01:00:17 字數 832 閱讀 3469

剩下的4顆led燈:正極接+3.3v,負極接soc的乙個引腳:

d22:  gpj0_3

d23:  gpj0_4

d24: gpj0_5

d25:pwmtout1(gpd0_1)

因此,為了點亮led,我們可以讓那些對應的引腳為低電平。

下面開始分析軟體方面的問題。如何操控這些引腳為低電平?

gpio是晶元的引腳,我們在設計電路的時候就已經將led的引腳接在這些特定引腳了。我們可以通過程式設計來控制gpio的模式和輸入輸出值來操控引腳的狀態,繼而間接地控制led。

下面的問題就是如何程式設計控制gpio引腳的狀態?

答案是暫存器,每乙個gpio都有其對硬的暫存器,我們可以通過配置他的對應的暫存器來改變gpio引腳的狀態。

gpj0con(0xe0200240):(gpj0 control)gpj0控制暫存器,用來配置各個引腳的工作模式

gpj0dat(0xe0200244):(gpj0 data)當引腳配置為input/output模式時,暫存器的相應位和引腳的電平高低對應

gpj0pud:(pull up down)控制引腳的內部弱上啦、下拉

gpj0drv:(driver)配置gpj0引腳的驅動能力

gpj0conpdn:低功耗模式下的控制暫存器

gpj0pudpdn:低功耗模式下上下拉暫存器

注:在驅動led點亮時,應將gpj0con配置為output模式,同時將gpj0dat對應的位設定為0;

一步步點亮LED之彙編點亮LED

gpj0con埠一共有8個埠,分別記住 gpj0 0 gpj0 7 相關暫存器為gpj0con gpj0dat gpj0con暫存器中設定8個引腳的工作模式 32 8 4,每個引腳分到4位,譬如gpj0 0位bit0 bit3,我們就給 它寫入0001得到輸出模式 1 需要控制的引腳 gpj0 3 ...

一步步點亮LED6 流水燈效果

1 流水燈原理分析 流水燈又叫跑馬燈,實現的效果就是 挨著的led依次點亮熄滅 同時只有1顆led亮的 2 流水燈編寫 使用迴圈 led1亮延時 led2亮延時 led3亮延時 迴圈 4 總結 跟著朱老師一步步做實驗根本不難。程式設計操控硬體的步驟 1 分析硬體工作原理 2 分析原理圖 3 分析資料...

一步步學ROS

最近因為看svo的 裡面用到catkin決定要好好看ros,年前學會基本操作。啟動節點 rosrun package name executable name 檢視節點 rosnode list 注 rosout 節點是乙個特殊的節點,通過 roscore 自動啟動 檢視特定節點的資訊 rosnod...