F28335 SPI配置及收发数据


一、配置SPI寄存器

void SPIA_Init(void){
EALLOW;
SysCtrlRegs.PCLKCR0.bit.SPIAENCLK = 1; // SPI-A
EDIS;
InitSpiaGpio();
SpiaRegs.SPIFFTX.all=0xE040;
SpiaRegs.SPIFFRX.all=0x204f;
SpiaRegs.SPIFFCT.all=0x0;
SpiaRegs.SPICCR.all =0x047; // Reset on, rising
SpiaRegs.SPICTL.all =0x001F; // Enable master
SpiaRegs.SPIBRR =0x007F;
SpiaRegs.SPICCR.all =0x00C7; // Relinquish SPI
SpiaRegs.SPIPRI.bit.FREE = 1; // Set so
}

二、数据收发函数

Uint16 SPIA_SendReciveData(Uint16 dat){
//Uint16 temp = 0;
//temp = dat<<8;
//SpiaRegs.SPITXBUF = temp;
SpiaRegs.SPITXBUF = dat;
while(SpiaRegs.SPIFFRX.bit.RXFFST !=1);
//return (SpiaRegs.SPIRXBUF>>8);
return (SpiaRegs.SPIRXBUF);
}
PS:如果想要发送八位数据,只需要把收发函数中注释部分打开此外还需修改一下控制寄存器的配置即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM