打印

有关STM8S硬件IIC问题

[复制链接]
5972|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
234918154|  楼主 | 2012-8-31 18:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用STM8S的硬件IIC时,出现问题。一直没有应答产生,然后就一直死在那儿,是不是需要额外的设置些什么,请知情的大大指点一下!谢谢、、
沙发
figo20042005| | 2012-8-31 18:46 | 只看该作者
不知道具体情况,可以试试例程

使用特权

评论回复
板凳
234918154|  楼主 | 2012-9-1 09:51 | 只看该作者
2# figo20042005


你是说使用库里面的例子么?用了,不好使,所以来寻求帮助了、、

使用特权

评论回复
地板
visionliweixin| | 2013-1-3 07:16 | 只看该作者
以下是我调试通过的程序,对IIC写操作,用自带的库,请参考
/*******************************************************************************
; name of function:
*******************************************************************************/
void Init_I2C_Prog(void)
{
  u8 Input_Clock = 0;
  /* Get system clock frequency */
  Input_Clock = CLK_GetClockFreq()/1000000;
  /* Optional: put here as example only */
  I2C_DeInit();
  /* Enables the I2C peripheral */
  I2C_Cmd(ENABLE);
  /* Initialize the I2C */
  I2C_Init(
            100000,           //OutputClockFrequencyHz
            0xA0,             //OwnAddress
            I2C_DUTYCYCLE_2,  //DutyCycle
            I2C_ACK_CURR,     //Ack
            I2C_ADDMODE_7BIT, //AddMode
            Input_Clock       //InputClockFrequencyMHz
           );
}
/*******************************************************************************
; name of function:
*******************************************************************************/
void I2C_WriteData_Prog(u8 tData)
{
  /* Send START condition */
  I2C_GenerateSTART(ENABLE);
  /* Test on EV5 and clear it */
  while(!I2C_CheckEvent(I2C_EVENT_MASTER_START_SENT));
  /* Send slave Address for write */
  I2C_Send7bitAddress(DAC081_ADR0FL_Adr, I2C_DIRECTION_TX);
   /* Test on EV6 and clear it */
  while(!I2C_CheckEvent(I2C_EVENT_MASTER_ADDRESS_ACKED));
  I2C_ClearFlag(I2C_FLAG_ADDRESSSENTMATCHED);
  /* Send data */
  I2C_SendData(tData);
  /* Test on EV8 and clear it */
  while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
  /* Send STOP Condition */
  I2C_GenerateSTOP(ENABLE);
}

使用特权

评论回复
5
sf116| | 2013-2-22 10:56 | 只看该作者
怎么没有检查总线状态?

使用特权

评论回复
6
sf116| | 2013-2-22 11:08 | 只看该作者
起始条件   当BUSY=0时,设置START=1,I2C接口将产生一个开始条件并切换到主模式(M/SL位置为1)。

使用特权

评论回复
7
gejiangwendi| | 2015-3-16 13:49 | 只看该作者
visionliweixin 发表于 2013-1-3 07:16
以下是我调试通过的程序,对IIC写操作,用自带的库,请参考
/******************************************* ...

敢问这用的是哪个版本的库啊,为何我的I2C_EVENT_MASTER_ADDRESS_ACKED、I2C_EVENT_MASTER_START_SENT是undefined

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

21

帖子

1

粉丝