void SPI1_Init()
{
rGPFDAT|=(0x1<<6)|(0x1<<4)|(0x1<<3)|(0x1<<2); //初始化PHO=1,nSS2=1,nSS1=1,nFIRE=1;
rGPFDAT&=~(0x1<<1)|(0x1<<0);//初始化nFeset=0,power=0;
rSPPRE1 = 0x18; //波特率为1MHZ
rSPCON1 = 0x1e; //查询模式,SCK使能,主机模式,CPOL=1时钟悬空高,CPHA=1 第2个边沿数据捕获,普通模式
rSPPIN1 = 0x02;
}
void SPI1_SendByte(char data)
{
while(!(rSPSTA1 & 0x1)); //Wait until THR is empty.
// Delay(1);
rSPTDAT1=data;
}
void SPI1_SendString(char *pt)
{
int i;
while(*pt)
{
while(rGPGDAT&(0x1<<3)); //检测GPG3:ready=0 发送数据
Delay(50); //大约延时60us
rGPFDAT&=~(0x1<<4); //nSS1=0
for(i=0;i<8;i++)
{
Uart_SendByte(*pt++);
}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载