kennylu

kennylu

0个粉丝

17

问答

0

专栏

0

资料

kennylu  发布于  2017-02-23 16:22:33
采纳率 0%
17个问答
4973

hisi3516 gpio模拟I2C写地址无法接收到ACK

 
      调试AT88SC0104C 加密芯片,采用GPIO模拟实现I2C通信。麻烦大神帮看看如下问题,欢迎交流讨论,先在此谢过,谢谢!

现在问题:
      1、写8位数据0xB6后,无法获取到芯片返回的ACK,也就是无法抓到SDA低电平,协议规定第九个SCL,返回SDA低电平作为ACK。不过有一种情况是可以接收到ACK,步骤:
           1)、断电重启, insmod 驱动;运行结果:无返回ACK,
           2)、rmmod 驱动
           3)、重新insmod 驱动; 运行结果,能返回ACK

      2、另外,无法写入0x00, 不管怎样操作,写完后都无法获取ACK;

具体写入函数:
static WORD
I2CWRITEA ( WORD a)
{
  int TimeOutCount = 0;
  int R2;
  SDAOUT ( );
  for (R2 = 0; R2 < 8; R2++)
    {
      a <<= 1;
      MOVSDAC ( a & 0x100);
      a &= 0xFFF;
      delay_uS;
      SETBSCL ( );
      delay_uS;
      CLRSCL ( );
      delay_uS;
    }
  
  // RECV ACK
  SETBSDA ( );
  delay_uS;
  SDAIN ( );
  delay_scl_uS;
  CLRSCL ( );
  delay_uS;
  SETBSCL ( );
  delay_uS;

   /*
   *  当8位数据发送完成后,数据接收方需要一个时钟周期以使用SDA发送ACK信号,
   *  表明数据是否接收成功。当ACK信号为"0"时,说明接收成功;为"1"时,说明接
   *  收失败。       
  */
  #if 1
  while (INSDA() && (TimeOutCount < 0x100))
  {
    delay_uS;
    TimeOutCount++;
  }
  printk("--TimeOutCount=%x-------------------\n", TimeOutCount);
  CLRSCL ( );
  delay_uS;
  SETBSCL ( );
  delay_uS;
  #endif
  SDAOUT ( );

  return TimeOutCount == 0x100;
}
我来回答
回答5个
时间排序
认可量排序

Joey

1个粉丝

15

问答

0

专栏

0

资料

Joey 2017-02-28 15:04:27
认可0
帮顶,最近也在研究这个问题

beike2001

0个粉丝

10

问答

0

专栏

1

资料

beike2001 2017-05-17 22:04:50
认可0
怎么搞定的?能否提供个驱动代码看看?

13915426184

0个粉丝

15

问答

0

专栏

0

资料

13915426184 2017-08-07 13:38:33
认可0
lz能否把完整的模拟gpio程序发一下,免得大家重复造轮子?非常感谢

ligang04800605

0个粉丝

1

问答

0

专栏

0

资料

ligang04800605 2017-03-01 07:55:18
认可0
示波器测这两个模拟i2c管脚,看时序对不对么

ligang04800605

0个粉丝

1

问答

0

专栏

0

资料

ligang04800605 2017-03-01 07:56:12
认可0
还有看i2c芯片地址与软件使用的地址是否一致
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区