主题中讨论的其他器件:C2000WARE
通过 C2000 Piccolo Workshop (F28xPmdw 2.1版) LAB5专题讨论会示例进行操作、但在编译时遇到错误、DSP2803x_SysCtrl.h 没有名为 GPIOINENCLK 的字段。
从 LAB5 SYSCTRL.c 摘录:
//--配置时钟
SysCtrlRegs.LOSPCP。all = 0x0002;//低速 periph 时钟预分频器、LOSPCLK=SYSCLKOUT/4
SysCtrlRegs.PCLKCR3.bit.CLA1ENCLK = 1;//启用 SYSCLKOUT 至 CLA1
SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;// SYSCLKOUT 至 GPIO 被启用
SysCtrlRegs.PCLKCR3.bit.CPUTIME2ENCLK = 1;//启用 SYSCLKOUT 到 CPU Timer2
SysCtrlRegs.PCLKCR3.bit.CPUTIMER 1ENCLK = 1;// SYSCLKOUT 至 CPU Timer1启用
SysCtrlRegs.PCLKCR3.bit.CPUTIMER 0ENCLK = 1;//启用 SYSCLKOUT 至 CPU Timer0
SysCtrlRegs.PCLKCR3.bit.COMP3ENCLK = 1;// SYSCLKOUT 至 COMP3被启用
SysCtrlRegs.PCLKCR3.bit.COMP2ENCLK = 1;// SYSCLKOUT 至 COMP2被启用
SysCtrlRegs.PCLKCR3.bit.COMP1ENCLK = 1;// SYSCLKOUT 至 COMP1被启用
SysCtrlRegs.PCLKCR1.bit.EQEP1ENCLK = 1;//启用 SYSCLKOUT 至 eQEP1
SysCtrlRegs.PCLKCR1.bit.ECAP1ENCLK = 1;//启用 SYSCLKOUT 至 eCAP1
SysCtrlRegs.PCLKCR1.bit.EPWM7ENCLK = 1;// SYSCLKOUT 至 ePWM7被启用
SysCtrlRegs.PCLKCR1.bit.EPWM6ENCLK = 1;//启用 SYSCLKOUT 至 ePWM6
SysCtrlRegs.PCLKCR1.bit.EPWM5ENCLK = 1;//启用 SYSCLKOUT 至 ePWM5
SysCtrlRegs.PCLKCR1.bit.EPWM4ENCLK = 1;//启用 SYSCLKOUT 至 ePWM4
SysCtrlRegs.PCLKCR1.bit.EPWM3ENCLK = 1;//启用 SYSCLKOUT 至 ePWM3
SysCtrlRegs.PCLKCR1.bit.EPWM2ENCLK = 1;//启用 SYSCLKOUT 至 ePWM2
SysCtrlRegs.PCLKCR1.bit.EPWM1ENCLK = 1;// SYSCLKOUT 至 ePWM1启用
SysCtrlRegs.PCLKCR0.bit.ECANAENCLK = 1;// SYSCLKOUT/2至 ECAN-A 被启用
SysCtrlRegs.PCLKCR0.bit.SCIAENCLK = 1;//使能 LSPCLK 到 SCI-A
SysCtrlRegs.PCLKCR0.bit.SPIBENCLK = 1;//使能 LSPCLK 到 SPI-B
SysCtrlRegs.PCLKCR0.bit.SPIAENCLK = 1;//使能 LSPCLK 到 SPI-A
SysCtrlRegs.PCLKCR0.bit.I2CAENCLK = 1;// SYSCLKOUT 至 I2C-A 被启用
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;// SYSCLKOUT 至 ADC 被启用
//在 InitEPwm()中 TBCLKSYNC 位被单独处理,因为它影响 ePWM 同步。
SysCtrlRegs.PCLKCR0.bit.LINAENCLK = 1;// SYSCLKOUT/2至 LIN-A 被启用
SysCtrlRegs.PCLKCR0.bit.HRPWMENCLK = 1;// SYSCLKOUT 至 HRPWM 被启用
//--配置低功耗模式
SysCtrlRegs.LPMCR0.all = 0x00FC;// LPMCR0设置为默认值
从 DSP2803x_SYSCTRL.h 中摘录:
//
//外设时钟控制寄存器3位定义
//
struct PCLKCR3_bits{// bits description
UINT16 COMP1ENCLK:1;// 0使能 SYSCLKOUT 至 COMP1
UINT16 COMP2ENCLK:1;// 1使能 SYSCLKOUT 至 COMP2
UINT16 COMP3ENCLK:1;// 2使能 SYSCLKOUT 至 COMP3
uint16 rsvd1:5;// 7:3保留
UINT16 CPUTIMER 0ENCLK:1;// 8使能 SYSCLKOUT 至 CPUTIMER 0
UINT16 CPUTIMER 1ENCLK:1;// 9启用 SYSCLKOUT 至 CPUTIMER 1
UINT16 CPUTIMER 2ENCLK:1;// 10使能 SYSCLKOUT 至 CPTIMER2
uint16 rsvd2:3;// 13:11保留
UINT16 CLA1ENCLK:1;// 14启用到 CLA1的 SYSCLKOUT
uint16 rsvd3:1;//保留15
};
