国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1561|回復: 0
打印 上一主題 下一主題

【教程8】瘋殼·ARM功能手機-GPIO實驗教程

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2022-8-12 14:44:05 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
ARM功能手機
——瘋殼·開發板系列
GPIO實驗教程   




   
    圖1

    第一節LED硬件電路

        板子中有一個可控LED,接在DA14580的P24引腳,LED串聯1K的限流電阻,如下圖所示:

   
    圖2


    第二節 GPIO寄存器

    2.1 GPIO引腳介紹
        DA14580的I/O引腳功能可以通過軟件配置,分為4組,分別為Port0、Port1、Port2、Port3,其中Port2只在QFN40與QFN48封裝的芯片中,Port3只在QFN48封裝的芯片中。
    Port0有8個引腳,Port1有6個引腳(其中包括DEBUG引腳SW_CLK與SWDIO),Port2有10個引腳,Port3有8個引腳;
    每個引腳都可以選擇上拉或者下拉25KOhm的電阻;
    每個引腳上拉電壓在VBAT3V(降壓模式)與VBAT1V(升壓模式)兩者可選;
    4路模數轉換的引腳固定分配為Port0中的0:3引腳;
    當系統進入睡眠模式時,引腳保持最后的狀態。
    2.2寄存器介紹
    2.2.1 P0數據寄存器

   
    圖3
    15:8位:保留不使用;
    7:0位:寫該寄存器則設置P0輸出寄存器的值,讀該寄存器則返回P0口的值。
    2.2.2 P0設置數據寄存器

   
    圖4
    15:8位:保留不使用;
    7:0位:寫’1’到對應位則對應的引腳置’1’,寫’0’無效,讀該寄存器則返回0。
    2.2.3 P0復位數據寄存器

   
    圖5
    15:8位:保留不使用;
    7:0位:寫’1’到對應位則對應的引腳置’0’,寫’0’無效,讀該寄存器則返回0。
    2.2.4 P00模式寄存器


   
    圖6
    15:10位:保留不使用;
    9:8位:設置引腳的上拉、下拉電阻的模式,00為輸入,無電阻;01為輸入,上拉電阻;10為輸入,下拉電阻;11為輸出,無電阻;在ADC模式中該位的設置無效。
    7:5位:保留不使用;
    4:0位:設置引腳功能,0~25分別對應不同的功能,具體看上圖,注:當一個輸入功能設置為多個引腳時,引腳序號越低優先級越高,即優先選用序號低的引腳設置為該功能。P0的優先級比P1的高。
    2.2.5 P1~P3的寄存器配置
    參照P0寄存器的配置,需要注意的是P14與P15兩個引腳模式的默認值是1,即默認上拉電阻。
    注:P14與P15為SWD調試接口的時鐘與數據接口,在使用Jlink調試過程中不要使用這兩個引腳。
    2.3 寄存器配置講解
    #define P0_DATA_REG                (* ( volatile uint16*)0x50003000)
    #define P0_SET_DATA_REG            (* ( volatile uint16*)0x50003002)
    #define P0_RESET_DATA_REG          (* ( volatile uint16*)0x50003004)
    #define P00_MODE_REG              (* ( volatile uint16*)0x50003006)
    #define P01_MODE_REG              (* ( volatile uint16*)0x50003008)
    #define P02_MODE_REG              (* ( volatile uint16*)0x5000300A)
    #define P03_MODE_REG              (* ( volatile uint16*)0x5000300C)
    #define P04_MODE_REG              (* ( volatile uint16*)0x5000300E)
    #define P05_MODE_REG              (* ( volatile uint16*)0x50003010)
    #define P06_MODE_REG              (* ( volatile uint16*)0x50003012)
    #define P07_MODE_REG              (* ( volatile uint16*)0x50003014)
    如果對P0整體操作,可以使用P0_DATA_REG寄存器,若使P0[7:0] = 0xaa,因為以上宏定義是定義的地址,則寄存器操作為P0_DATA_REG=0xaa;
    如果要讀取P0的狀態值,則通過讀取P0_DATA_REG寄存器,P0_STATUS = P0_DATA_REG,若要讀取某一位的狀態值,則通過與操作之后返回邏輯值即可。
    作為輸出時P0_DATA_REG適合對整體P0口操作,而對于某一位進行操作則需要經過一些邏輯操作保持其它位的值不變,不是很方便。而P0_SET_DATA_REG和P0_RESET_DATA_REG這兩個寄存器對位操作就十分方便。對某一位置’0’或置’1’只需對應位賦1,其它位賦0即可,因為該寄存器忽視寫0操作。若使P00 = 1,P01 = 0則P0_SET_DATA_REG =0x01;  P0_RESET _DATA_REG=0x02;
    P0[x]_MODE_REG是P0口某一位的操作模式的設置寄存器,例如配置P00為輸入口,不上拉電阻,P01為I2C_SDA,P02為輸出口,則
    P00_ MODE _DATA_REG=0x00;
    P01_ MODE _DATA_REG=0x0a;
    P02_ MODE _DATA_REG=0x30;



    第三節 GPIO實驗

    實驗需要使用的模塊有:手機開發板底板,Jlink調試工具,杜邦線、3.7V鋰電池或Mocro USB線。
    使用JLINK通過杜邦線連接手機藍牙位于手機主控底板,連接方式如下:
    (1)JLINK一端只需要使用杜邦線連接JLINK的SWC、SWD、GND三個引腳,如下圖所示:

   
    圖7
    (2)手機藍牙一端需要使用杜邦線連接上方右側的J3三個引腳,與JLINK的連接引腳一一對應,分別為SWC-->SWCLK、SWD-->SWDIO、GND-->GND,如下圖所示:

   
    圖8
    將JLINK插上電腦的USB接口,連接好之后給手機主控底板供電,詳細的介紹可以參考《如何上電》教程,路徑為:..\WT_Mobile\0.從這里開始\0.開機測試。
    打開GPIO實驗的Keil工程blinky.uvproj,位于目錄:
    ...\WT_Mobile\1.初級教程\DA14580\1.GPIO實驗\projects\target_apps\peripheral_examples\blinky\Keil_5。

   
    圖9
    打開工程文件之后,編譯,點擊DEBUG,然后點擊全速運行,則可以看到開發板正面的藍色LED燈開始閃爍,如下圖所示:



   
    圖10



    文件下載請點擊: GPIO實驗教程.pdf (710.42 KB)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲 欧美 手机 在线观看| 一级女人儆爱片| 香港一级毛片| 午夜精品久久久久久久99| 日韩一中文字幕| 日韩3区| 欧美成人午夜| 奇米影视777狠狠狠888不卡| 秋霞免费理论片鲁丝在线观看| 四虎在线免费视频| 日本三级韩国三级香港三级| 日本三级全黄| 性做久久久久久蜜桃花| 亚洲人一区| 亚洲天天更新| 欧美无限看| 欧美一区二区三区日韩免费播| 亚洲综合一区二区精品久久| 青草视频免费观看| 欧美日韩不卡| 亚洲国产激情| 欧美一级片在线播放| 欧美特黄aaaaaa| 四虎tv| 亚州黄色| 亚洲热视频| 亚洲香蕉伊在人在线观婷婷| 天天色亚洲| 日b视频在线观看| 一级片手机在线| 人人爱天天操| 青青草国产免费久久久91| 欧美日韩午夜精品不卡综合| 日本天堂免费a| 四虎影视亚洲精品| 性做久久久久久| 亚洲一区视频在线| 日本三级aaa| 亚洲欧美日韩精品久久奇米色影视| 亚洲天堂黄色| 色爱天堂|