资讯详情

【开发教程8】疯壳·ARM功能手机-GPIO实验教程

ARM功能手机 ——疯壳·开发板系列 GPIO实验教程

图1 第一节LED硬件电路 板中有一个可控LED,接在DA14580的P24引脚,LED串联1K的限流电阻,如下图所示: 图2 第二节 GPIO寄存器 2.1 GPIO引脚介绍 DA14580的I/O软件配置可分为四组引脚功能Port0、Port1、Port2、Port3,其中Port2只在QFN40与QFN在48包装芯片中,Port3只在QFN在48包装芯片中。 Port0有8个引脚,Port16个引脚(包括1)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 P设置数据寄存器 图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.寄存器配置 参照P应注意0寄存器的配置P14与P两种引脚模式的默认值为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; 如果要读取P读取0的状态值P0_DATA_REG寄存器,P0_STATUS = P0_DATA_REG,如果要读取某个位置的状态值,可以在操作后返回逻辑值。 作为输出时P0_DATA_REG适合对整体P0口操作,对于某个操作,需要一些逻辑操作来保持其他位置的值不变,不太方便。而P0_SET_DATA_REG和P0_RESET_DATA_REG这两个寄存器对位操作非常方便。由于寄存器忽略了写0操作,所以只需要对应的位赋1和其他位赋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)用杜邦线连接手机蓝牙一端上方右侧J三个引脚,和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            

更多完整学习资料和对应开源套件,请登陆官网:“疯壳”

如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系

标签: 576kohm电阻

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台