|
急!!求各位高手帮忙分析PXA270的SPI初始化!!!!
[复制链接]
请问哪位大哥写过PXA270的SPI驱动程序啊
我在初始化SPI中 SPI引脚用的:
GPIO23 SSPSCLK FOUT2
GPIO24 SSPSFRM 作为使能(低电平有效)
GPIO25 SSPTXD FOUT2
GPIO26 SSPRXD FIN1
先设置了SPI那4根GPIO的方向、功能
然后设置寄存器sscr0 、sscr1
g_pSSPRegs->sscr0 = 0x00000000;
g_pSSPRegs->sscr1 = 0x00000000;
g_pSSPRegs->sscr0 |= (XLLP_SSCR0_TIM | XLLP_SSCR0_RIM | XLLP_SSCR0_DSS_8BIT);
1<<23 1<<22 0x7
//g_pSSPRegs->sscr1 |= (XXLP_SSCR1_SPH);
g_pSSPRegs->sscr0 |= XLLP_SSCR0_SSE;
1<<7
最后选第一组SPI:
g_pCLKRegs->cken |= XLLP_CLKEN_SSP1; // XLLP_CLKEN_SSP1 (1<<23)
这样初始化之后为什么
我用示波器量SSPSCLK(GPIO23)没有任何波形
向TX(GPIO25)写入一字节,也没有波形
读出来的,通过打印信息看都是0XFF
打印信息如下:
SPI Write One Byte: 0x0
SPI Read2 One Byte: 0xff
SPI Write One Byte: 0xf0
SPI Read1 One Byte: 0xff
SPI Write One Byte: 0x0
SPI Read2 One Byte: 0xff
设置的寄存器相关打印信息如下:
g_pPIORegs->GPDR0: 0xc3e307e6 //1100 0011 1110 0011 0000 0111 1110 0110
g_pPIORegs->GAFR0_U: 0xa5188110 //1010 0101 0001 1000 10 00 00 01 00 01 00 00
g_pSSPRegs->sscr0: 0xc00087 //1100 0000 0000 0000 1000 0111
g_pSSPRegs->sscr1: 0x0 //0
g_pCLKRegs->cken: 0xc00ae4 //1100 0000 0000 1010 1110 0100
|
|