如题,我现在在用TM4C129ENCPDT的SSI模块做SPI通信,在发送数据的时候TX和CLK端口都没有波形。芯片外的所有器件已经全部拆掉,程序初始化如下:
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI2); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIOPinConfigure(GPIO_PD0_SSI2XDAT1);
GPIOPinConfigure(GPIO_PD1_SSI2XDAT0);
GPIOPinConfigure(GPIO_PD2_SSI2FSS); GPIOPinConfigure(GPIO_PD3_SSI2CLK); GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);
SSIDisable(SSI2_BASE);
SSIConfigSetExpClk(SSI2_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1200000, 8);
SSIIntClear(SSI2_BASE, 0xffff);
IntEnable(INT_SSI2);
SSIIntEnable(SSI2_BASE, SSI_RXTO | SSI_RXOR); //SSIÖжÏÑÚÂëʹÄÜ
SSIIntDisable(SSI2_BASE,SSI_TXFF | SSI_RXFF);
SSIEnable(SSI2_BASE);
xiang zhang6:
补充一下,晶振25M,系统时钟120M,SysCtlClockGet()返回值9600000
xyz549040622:
你试试把SSIDisable(SSI2_BASE);去掉,配置看着是正确的,TI库有的时候需要有先后顺序的,不行的话挨个看有哪个寄存器没有被写好吧
xiang zhang6:
回复 xyz549040622:
去掉后还是不正确,运行起来后的寄存器状态如下
其中RIS在初始化完以后值为0x08,发送一条后变为0x48,TX和CLK都没有波形