微控论坛原创 作者:lou0908
我看到有人在求助,所以把我调试成功的程序贴上去
[CODE]
/*************************************************************************** 通过SPI口向AD8403写入值,00、01、02,03分别代表4个通道
***************************************************************************/
{void AD8403_W(int CH, int w)
int i = 0; int channal = CH; int send_data = w;
AD8403_SPI_Open();
//前两个bit 选通道 for(i = 0; i < 2; i ++) //send the channal index { if((channal & 0x02) == 0x02) { P2OUT |= SPI_MOSI; } else { P2OUT &= ~SPI_MOSI; } P2OUT |= SPI_SCK; //Set SPI_SCK to High voltage P2OUT &= ~SPI_SCK; //Set SPI_SCK to low voltage
channal = channal << 1; }
//后八个bit 指定阻值 for(i = 0; i < 8; i ++) //send the resister value { if ((send_data & 0x80) == 0x80) { P2OUT |= SPI_MOSI; } else { P2OUT &= ~SPI_MOSI; } P2OUT |= SPI_SCK; //Set SPI_SCK to High voltage P2OUT &= ~SPI_SCK; //Set SPI_SCK to low voltage
send_data = send_data << 1; } AD8403_SPI_Close();
}
[/CODE] |