大致说说吧,我现在主机软件模拟iic,从机是硬件iic中断
我实现的是主机发命令给从机,从机接收到命令后吧数据发给主机,
而且主机必须让从机休眠,休眠后,必须唤醒。
但是现在通讯都无法正常,
调试了半天,才发现I2C_SR1=0x10
停止位都监测到了,为什么前面地址匹配和数据缓冲非空没有检测到。好奇怪,下断点试了好几遍,现在吧代码贴出来,反正我是服了stm8,好多东西没有avr灵活,我调avr都已经跳成功了,但是stm8不知道怎么回事,好像很高贵的样子。调试了半天,烦了
此帖出自
小平头技术问答
- /* MAIN.C file
- *
- * Copyright (c) 2002-2005 STMicroelectronics
- */
- #include "208io.h"
- #include "iic.h"
- #include "type.h"
-
- #define N 8
- u8 buf[N];
- main()
- {
-
- IIC_Init();
- while (1)
- {
- AT24CXX_WriteOneByte(0x01);
- delay_ms(100);
- buf[0]=AT24CXX_ReadOneByte();
- delay_ms(10);
- AT24CXX_WriteOneByte(0x02);
- delay_ms(10);
- buf[1]=AT24CXX_ReadOneByte();
- delay_ms(100);
- }
- }
复制代码一周热门 更多>