使用CSL库的API函数配置DSP显然比逐一配置寄存器方面且容易理解。下面介绍一下如何使用CSL库把DSP的GPIO4配置成中断模式。
使能之前,首先要解除锁,即向PERLOCK寄存器写入0x0F0A0B00,然后把PERCFG0寄存器中GPIO对应位置1。代码如下:
- <span style="font-family:'Microsoft YaHei';">Bool gpioEn;
- CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERLOCK,DEV_PERLOCK_LOCKVAL, UNLOCK);
-
- CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERCFG0, DEV_PERCFG0_GPIOCTL, ENABLE);
-
- do {
- gpioEn = (Bool)CSL_FEXT(((CSL_DevRegs*)CSL_DEV_REGS)->PERSTAT0,
- DEV_PERSTAT0_GPIOSTAT);
- } while (gpioEn != TRUE);
- </span>
- <span style="font-family: 'Microsoft YaHei'; ">CSL_Status status;
- CSL_GpioContext pContext;
- status = CSL_gpioInit(&pContext);</span>
- 第三步:打开GPIO模块
- 第四步:使能GPIO管脚作为中断源的功能
- 第五步:配置GPIO-PIN4的属性:方向,中断触发方式