|
Это шаг №1, и самый главный. А остальное уже дело техники.
т.е. пишутся две подпрограммы и всё. А из то, что сказано, звучит так: Собрал прибор, а он не работает! Что мне делать?!?"
:)
//*****************************************************
void WriteByteToADC(unsigned char AByte)
{
char i;
for (i=8; i!=0; i--)
{
if (AByte&0x80)
{
SDO_HIGH();
}
else
{
SDO_LOW();
};
CLK_LOW();
Delay2mks();
CLK_HIGH();
Delay2mks();
AByte=AByte<<1;
}
}
//*****************************************************
unsigned char ReadByteFromADC(void)
{
char i=8, Data=0;
for (i=8; i!=0; i--)
{
Data=Data<<1;
CLK_LOW();
Delay2mks();
if (SDI_DATA()==1)
{
Data=Data|0x01;
}
else
{
Data=Data&0xFE; //Уточнить как сделать сдвиг безе переноса.
};
CLK_HIGH();
Delay2mks();
}
return Data;
}
E-mail: info@telesys.ru