浅谈STM8S(1)——I2C配置

前几天使用STM8S103K3调AT24C256,用到它的硬件I2C,遇到不少问题,查了很多资料,终于是调通了。

以下是以标准模式(即100KHz)的设置为主的I2C初始化配置的一些问题。


(1)I/O的配置问题。


无需对I/O口引脚处理。


如果I2C的两个接口引脚在事先没有被用作其他用途,仍保持着复位后默认状态,则不需要对其处理。

因为使用硬件I2C时,其对应的两个接口引脚需要被配置为浮空输入,而初始复位时,所有引脚均被设置为浮空输入。

即Px_CR1复位值为0x00


(2)I2C时钟频率等配置


  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
stm8s硬件I2C是指STM8系列单片机上集成的硬件I2C模块。I2C是一种串行通信协议,用于在芯片之间进行通信。在STM8S系列单片机中,硬件I2C模块可以通过配置相应的寄存器来实现各种功能。 在进行I2C总线初始化时,需要注意以下几个寄存器的配置。首先,I2C_CR1寄存器的bit0用于控制I2C模块的启动/禁用。在配置TRISER相关寄存器之前,需要先禁用I2C模块才能进行写操作。 其次,I2C_OARH和I2C_OARL寄存器用于设置I2C模块的从机地址。这两个寄存器需要在I2C模块禁用的状态下改变值。 另外,如果希望特定事件以中断形式通知,可以使用I2C_ITR寄存器。例如,写入一字节数据至I2C_DR寄存器后,CPU可以处理其他事件。当收到TXE触发的中断事件后,再写入下一字节数据。这样,CPU在处理整个I2C读写事件的过程中可以不需要进行循环判断等待。 总之,通过配置相应的寄存器,我们可以实现对STM8S硬件I2C模块的初始化和功能定制。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [总结stm8硬件IIC主模式的寄存器设置及调试心得](https://blog.csdn.net/chounanwang/article/details/78326983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值