| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #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--);
- }
|