你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4147|回复: 1

请教 i2c的设定

[复制链接]

4

主题

3

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2010-5-24 00:13:49 | 显示全部楼层 |阅读模式
请教 i2c的设定
请问:1.i2c的速度要如何设定?
       i2c时钟来源好像是pclk1
       今天我将pclk1设成36M
       /* PCLK1 = HCLK/2 */
       RCC_PCLK1Config(RCC_HCLK_Div2);// 72/2 =36
       /* PLLCLK = 8MHz * 9 = 72 MHz */
       RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
  
       那麽要如何设定 I2C的速度为200K?
       是这样就行了吗?
       I2C_InitStructure.I2C_ClockSpeed = 200000;

问题2:在I2C初始设定时友下面这一行
      I2C_InitStructure.I2C_OwnAddress1 = A0; 
      意思好像是设定I2C的设备位置
     
      再I2C WRITE的程式中有下面这一行
      I2C_Send7bitAddress(I2C1, 0XA0, I2C_Direction_Transmitter);
      0XA0的意思I2C的设备位址
      假设今天婐使用2404,先将资料写在第1区块的256BYTE中
      我设定如下
      I2C_InitStructure.I2C_OwnAddress1 = A0;
      I2C_Send7bitAddress(I2C1, 0XA0, I2C_Direction_Transmitter);
      将资料写到第1区块的256BYTE中後
      我想要将资料写到第2区块的256BYTE中
      请问是要 I2C_InitStructure.I2C_OwnAddress1 = A2;
               I2C_Send7bitAddress(I2C1, 0XA2, I2C_Direction_Transmitter);
      还是说只要
      I2C_Send7bitAddress(I2C1, 0XA2, I2C_Direction_Transmitter);  就可以了?
请大大们指导下
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2010-5-24 08:54:53 | 显示全部楼层

RE:请教 i2c的设定

你好,目前使用STM32库文件使用I2C比较少,一般都是用模拟I2C,建议参考一下。我们论坛发表过模拟I2C的程序。
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版