最近在用cs5463和51單片機(jī)做一個(gè)功率因素表,但從cs5463中讀取數(shù)據(jù)時(shí)軟件遇到個(gè)麻煩,下面是一段源程序,希望大家指正。
/******寫命令函數(shù)*******/
void write_command(command)
{
uchar i;
for(i=0;i<8;i++)
{ SDI=(bit)(command&0x80);
SCLK=0;
delay(2);
SCLK=1;
delay(2);
command<<=1;
}}
/*********從cs5463讀數(shù)據(jù)************/
uchar read_5463(command)
{ uchar t,f=0xfe;
SCLK=0;
write_command(command);
for(i=0;i<3;i++)
{ for(t = 0;t < 8; t++)
{ SDI=(bit)(f&0x80); //結(jié)束串口重新初始化
SCLK=0;
delay(2);
SCLK=1;
delay(2);
f<<1;
rec_data[i]<<=1;
rec_data[i]|=(unsigned char)SDO;
}
} return(rec_data[i]);
}
我直接把讀到的24位數(shù)據(jù)放到一個(gè)數(shù)組里并且返回,那么這樣讀取到的數(shù)據(jù)是放到單片機(jī)的接收緩沖器了嗎?
然后我用一個(gè)發(fā)送函數(shù)將其發(fā)送給上位機(jī),
那么這個(gè)發(fā)送函數(shù)應(yīng)該怎么寫才好啊