一.对stm32 上硬件iic的解读和分析

一.硬件iic的初始化解读。1.stm32上硬件iic一般有三个,与模拟iic区别在于引脚固定。2.硬件iic是属于外设的,和串口一个性质。3.既然是外设,就有其对应的固件库。typedef struct{ uint32_t I2C_ClockSpeed; /*时钟频率。该参数必须设置为小于400kHz的值 */ uint16_t I2C_Mode; /*!< I2C模式。取值为@ref I2C_mode */ uint16_t I2C_DutyCycle;/*!&
摘要由CSDN通过智能技术生成

一.硬件iic的初始化解读

1.stm32上硬件iic一般有三个,与模拟iic区别在于引脚固定。
2.硬件iic是属于外设的,和串口一个性质。
3.既然是外设,就有其对应的固件库。

typedef struct
{
   
  uint32_t I2C_ClockSpeed;  /*时钟频率。
该参数必须设置为小于400kHz的值  */

  uint16_t I2C_Mode; /*!< I2C模式。
取值为@ref I2C_mode  */

  uint16_t I2C_DutyCycle;/*!< I2C快速模式占空比。
取值为@ref I2C_duty_cycle_in_fast_mode */

  uint16_t I2C_OwnAddress1;/*!< 指定第一个设备自己的地址。
取值为7位或10位地址。*/

  uint16_t I2C_Ack;  /*!< 启用或禁用确认。
可以是@ref I2C_acknowledgement */

  uint16_t I2C_AcknowledgedAddress; /*指定是否确认7位或10位地址。
取值为@ref i2c_acknowledgement d_addres */
}I2C_InitTypeDef;
//----------------------------------------------------------------------------------
此为iic的初始化所需要的结构体,各个成员为所要设置的参数

void I2C_DeInit(I2C_TypeDef* I2Cx);//重置初始化
void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct);//初始化
void I2C_Cmd(I2C_TypeDef* I2Cx, FunctionalState NewState);//使能
void I2C_SendData(I2C_TypeDef* I2Cx, uint8_t Data);
  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值