|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2009-9-1 21:04:54
|
显示全部楼层
贴下代码:
//Peripheral config
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIODirModeSet(GPIO_PORTA_BASE, GPIO_PIN_6, GPIO_DIR_MODE_OUT);
GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_6,GPIO_STRENGTH_4MA, GPIO_PIN_TYPE_STD);
SSIConfig(SSI0_BASE, SSI_FRF_NMW,SSI_MODE_MASTER,ulBitRate, 8);
SSIEnable(SSI0_BASE);
GPIOPinTypeSSI(GPIO_PORTA_BASE,(GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5));//CS5532_SSI_PINS为SSI
CS5532_CS_CLR();
delay_ms(20);
//ssi init
for(i = 180; i > 0; i--)
{
SSIDataPut(SSI0_BASE,0xFF);
}
SSIDataPut(SSI0_BASE,0xFE);
//cs5532 reset
SSIDataPut(SSI0_BASE,0x03);//write config register
SSIDataPut(SSI0_BASE,0x20);//0x2000 0000
SSIDataPut(SSI0_BASE,0x00);
SSIDataPut(SSI0_BASE,0x00);
SSIDataPut(SSI0_BASE,0x00);
delay_ms(20);
//get config register to confirm if the reset is OK
SSIDataPut(SSI0_BASE,0x0B);//read config register
delay_ms(4);
SSIDataGet(SSI0_BASE,(unsigned long *)(&ucTemp));
ulConfReg = ucTemp;
SSIDataGet(SSI0_BASE,(unsigned long *)(&ucTemp));
ulConfReg = (ulConfReg<<8) + ucTemp;
SSIDataGet(SSI0_BASE,(unsigned long *)(&ucTemp));
ulConfReg = (ulConfReg<<8) + ucTemp;
SSIDataGet(SSI0_BASE,(unsigned long *)(&ucTemp));
ulConfReg = (ulConfReg<<8) + ucTemp; |
|