谁有IO管脚模拟SPI时序,调通AD7124-8的驱动程序,发我一份,谢谢。
我用管脚写了SPI模拟程序,读写ID总是,数据总是0XFF。
______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
函 数 名 : void AD7124write_8bit(unsigned char writeData)
功能描述 : 写一个字节数据到AD7124
输入参数 : 无
输出参数 :
返 回 值 :
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
无效的 AD7124write_ 8bit( 未签名字符写入 Data)
{ { {
未签名字符j;
未签名字符数据;
数据 = 写数据;
延迟( 超时) ;
for(j = 0; j < 8; j++)
{ { {
ad7124_sclk_l;
如果(数据 0x80)
{ { {
ad7124_din_h;
时 时
其它
{ { {
ad7124_din_l;
时 时
延迟( 超时) ;
ad7124_sclk_h;
data <<= 1;
延迟( 超时) ;
时 时
时 时
______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
函 数 名 : unsigned char AD7795read_8bit(void)
功能描述 : 从AD7124的SPI总线读取一个字节, 在下降沿读取数据
输入参数 :
输出参数 :
返 回 值 : 读取的值
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
未签名的char AD7124read_ 8bit( 取消)
{ { {
未签名的字典读取 Data;
未签名字符j;
读数据=0;
延迟( 超时) ;
for(j = 0; j < 8; j++)
{ { {
ad7124_sclk_h;
延迟( 超时) ;
ad7124_sclk_l;
readData <<= 1;
如果(ad7124_dout)
{ { {
读数据=% 1;
时 时
延迟( 超时) ;
时 时
返回已读数据;
}