CS5463驱动

void uDelay(uint16_t j)

{
uint16_t i;
for(;j>0;j--)
{ for(i=0;i<500;i--)
{
;
}
}
}


//===========cs=================
void clrcs5463CS(void)
{
GPIO_PinModeSet(gpioPortF, 7, gpioModePushPull, 1);
GPIO_PinOutClear(gpioPortF, 7);
}

void Setcs5463CS(void)
{
GPIO_PinModeSet(gpioPortF, 7, gpioModePushPull, 1);
GPIO_PinOutSet(gpioPortF, 7);
}
//===============clk===================
void clrcs5463CLK(void)
{
GPIO_PinModeSet(gpioPortC, 8, gpioModePushPull, 1);
GPIO_PinOutClear(gpioPortC, 8);
}

void Setcs5463CLK(void)
{
GPIO_PinModeSet(gpioPortC, 8, gpioModePushPull, 1);
GPIO_PinOutSet(gpioPortC, 8);
}
//==============mosi===============
void clrcs5463MOSI(void)
{
GPIO_PinModeSet(gpioPortC, 6, gpioModePushPull, 1);
GPIO_PinOutClear(gpioPortC, 6);
}

void Setcs5463MOSI(void)
{
GPIO_PinModeSet(gpioPortC, 6, gpioModePushPull, 1);
GPIO_PinOutSet(gpioPortC, 6);
}

//==============miso==============
void Setcs5463MISO(void)
{
GPIO_PinModeSet(gpioPortC, 7, gpioModeInputPull, 1);
GPIO_PinOutSet(gpioPortC, 7);
}

 

void cs5463TransmitSpi(uint8_t * writeBuffer, uint8_t length)
{
uint8_t i,j;
uint8_t addr;

Setcs5463CLK();
clrcs5463CS();
for(j=0;j<length;j++)
{
i = 0;
addr=writeBuffer[j];
while(i<8)
{
uDelay(40);
clrcs5463CLK();
if(addr&0x80) Setcs5463MOSI();
else clrcs5463MOSI();
uDelay(40);
Setcs5463CLK(); //??????,?????CS5463
addr <<= 1;
i++;
}
}

Setcs5463CS();

}

void cs5463ReceiveSpi(uint8_t * readBuffer, uint8_t length)
{
uint8_t i,j;
uint8_t dat;
uint8_t addr;

Setcs5463MISO();
Setcs5463CLK();
clrcs5463CS();
addr = readBuffer[0];
i = 0;
while(i<8)
{
uDelay(50);
clrcs5463CLK();
if(addr&0x80) Setcs5463MOSI();
else clrcs5463MOSI();
uDelay(50);
Setcs5463CLK(); //??????,?????CS5463
addr <<= 1;
i++;
}
j = 0;
for(j=0;j<3;j++)
{
i = 0;
dat = 0;
while(i<8)
{
if(i==7)clrcs5463MOSI();
else Setcs5463MOSI();
clrcs5463CLK();
uDelay(50);
dat <<= 1;
if(GPIO_PortInGet(gpioPortC)&(1<<7))dat |= 0x01;
else dat &= 0xFE;
Setcs5463CLK();
uDelay(50);
i++;
}
*(readBuffer+j+1) = dat;
}
uDelay(50);
Setcs5463CS();
}

posted on 2018-09-01 10:19  朱光铭  阅读(438)  评论(0)    收藏  举报

导航