我算是服了stm8硬件iic了

2019-03-23 17:30发布

大致说说吧,我现在主机软件模拟iic,从机是硬件iic中断

我实现的是主机发命令给从机,从机接收到命令后吧数据发给主机,
而且主机必须让从机休眠,休眠后,必须唤醒。

但是现在通讯都无法正常,

调试了半天,才发现I2C_SR1=0x10

停止位都监测到了,为什么前面地址匹配和数据缓冲非空没有检测到。好奇怪,下断点试了好几遍,现在吧代码贴出来,反正我是服了stm8,好多东西没有avr灵活,我调avr都已经跳成功了,但是stm8不知道怎么回事,好像很高贵的样子。调试了半天,烦了 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
yangganglone
2019-03-24 02:38
/
  1. /* MAIN.C file
  2. *
  3. * Copyright (c) 2002-2005 STMicroelectronics
  4. */
  5. #include "208io.h"
  6. #include "iic.h"
  7. #include "type.h"


  8. #define N  8
  9. u8 buf[N];
  10. main()
  11. {
  12.        
  13.                 IIC_Init();
  14.                         while (1)
  15.                 {
  16.                                 AT24CXX_WriteOneByte(0x01);
  17.                                 delay_ms(100);       
  18.                         buf[0]=AT24CXX_ReadOneByte();
  19.                                         delay_ms(10);       
  20.                                 AT24CXX_WriteOneByte(0x02);
  21.                                         delay_ms(10);       
  22.                                 buf[1]=AT24CXX_ReadOneByte();
  23.                                                 delay_ms(100);       
  24.                 }

  25. }
复制代码

一周热门 更多>