#include "hw_types.h" #include "hw_syscfg0_C6748.h" // 系统配置模块寄存器 #include "soc_C6748.h" #include "psc.h" #include "gpio.h" #include "hal/nim_gpio.h" void PSCInit(void); void GPIOBankPinMuxSet(); void GPIOBankPinInit(void); void Delay(unsigned int n); void LedTest() { //PSCInit(); GPIOBankPinMuxSet(); GPIOBankPinInit(); for(; ;) { Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_LOW); Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 17, GPIO_PIN_HIGH); Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_LOW); Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 18, GPIO_PIN_HIGH); Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 19, GPIO_PIN_LOW); Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 19, GPIO_PIN_HIGH); Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 20, GPIO_PIN_LOW); Delay(0x00FFFFFF); GPIOPinWrite(SOC_GPIO_0_REGS, 20, GPIO_PIN_HIGH); } } void PSCInit(void) { // 使能 GPIO 模块 // 对相应外设模块的使能也可以在 BootLoader 中完成 //PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE); } void GPIOBankPinMuxSet() { GOIOBank1Pin0MuxMuxSetup(); GOIOBank1Pin1MuxMuxSetup(); GOIOBank1Pin2MuxMuxSetup(); GOIOBank1Pin3MuxMuxSetup(); } void GPIOBankPinInit(void) { GPIODirModeSet(SOC_GPIO_0_REGS, 17, GPIO_DIR_OUTPUT); // D7 GPIO1[0] GPIODirModeSet(SOC_GPIO_0_REGS, 18, GPIO_DIR_OUTPUT); // D7 GPIO1[1] GPIODirModeSet(SOC_GPIO_0_REGS, 19, GPIO_DIR_OUTPUT); // D7 GPIO1[2] GPIODirModeSet(SOC_GPIO_0_REGS, 20, GPIO_DIR_OUTPUT); // D7 GPIO1[3] } void Delay(unsigned int n) { unsigned int i; for(i=n;i>0;i--); }