|
100黑幣
問(wèn)題描述:AD5174為10位的數(shù)字電位器 ,通過(guò)單片機(jī)IO模擬SPI通訊,數(shù)據(jù)寫不進(jìn)AD5174。測(cè)量AW兩端的電阻值始終為中間值(5.5K左右),懷疑是SPI通訊問(wèn)題(寫的數(shù)據(jù)或者命令不對(duì))。如圖(3)命令4位,數(shù)據(jù)10位,總共是要發(fā)送14位還是16位呢?(我覺(jué)得是要發(fā)送16位)。命令和數(shù)據(jù)位是否需要分開(kāi)發(fā)送?如圖(4)發(fā)送0x0500(二進(jìn)制:0000 0101 0000 0000) 0000 01為寫數(shù)據(jù)命令,后面10位為數(shù)據(jù)位Data=256,剛好是滿量程1024的1/4,但是芯片的W端(雨刮器)位置沒(méi)有變化。
引腳圖:(圖1)
引腳圖.png (118.3 KB, 下載次數(shù): 49)
下載附件
2024-1-17 15:46 上傳
時(shí)序圖:(圖2)
時(shí)序圖.jpg (92.93 KB, 下載次數(shù): 51)
下載附件
2024-1-17 15:38 上傳
命令字:(圖3)
命令.png (115.7 KB, 下載次數(shù): 56)
下載附件
2024-1-17 15:38 上傳
寫數(shù)據(jù):(圖4)
寫數(shù)據(jù).png (115.83 KB, 下載次數(shù): 49)
下載附件
2024-1-17 15:38 上傳
程序(SPI通訊部分):
void AD5174_Init(void)
{
AD5174_SPI=1;
AD5174_CS=1;
AD5174_CLK=0;
//AD5174_DI=1;
}
void AD5174_Write(unsigned char temp)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(temp&0x80)
{
AD5174_DI=1;
}
else
{
AD5174_DI=0;
}
delay1us();
AD5174_CLK = 1;
delay5us();
AD5174_CLK = 0;
delay1us();
temp<<= 1; //高位MSB在先
}
}
void main(void)
{
AD5174_Init();
AD5174_CLK = 0;
AD5174_CS = 0;
AD5174_Write(0x0500>>8);
AD5174_Write(0x0500);
AD5174_CS = 1;
AD5174_CLK = 0;
delay5us();
while(1)
{
;
}
}
|
|