电路设计论坛
直播中

张勇

7年用户 1426经验值
私信 关注
[问答]

AD7124-8用管脚写了SPI模拟程序,数据总是0XFF的原因?

谁有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;
时 时
延迟( 超时) ;
时 时
返回已读数据;
}

更多回帖

发帖
×
20
完善资料,
赚取积分