电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机stm8与I2C

单片机stm8与I2C_第1页
1/10
单片机stm8与I2C_第2页
2/10
单片机stm8与I2C_第3页
3/10
1 / 1 0 风驰电子 STM8 开发板 2011 例程十五 这个例程是讲解一下 I2C,相信大家以前学 51 的的时候想驱动 AT24C02 的时候就是用到模拟 I2C 总线吧。在 STM8S207RB 中,是以硬件来实现 I2C 总线的,如果大家说哪一种方式来驱动 AT24C02 的话,我只能说是各有千秋。用 IO 模拟的 I2C总线的话就简单点,但速度不够快,如果是用片内的硬件 I2C 的话,程序编写有点复杂,但速度快很多。下面我主要是介绍 STM8S207RB 的硬件 I2C. 2 / 10 风 驰 电 子 STM8 开 发 板 2011 大 家 可 以 参 考 STM8 寄 存 器 .p df 文 档 中 的 第 246 页 至 248 页 。 大 家 在 看 看 我 们 风 驰 电 子 STM8 开 发 板 的 硬 件 连 接 下 面 我 们 从 主 函 数 看 起 3 / 10 风驰电子 STM8 开发板 2011 其他的初始化就不多说了,现在前面的例程都说得很清楚了,先主要是说下与I2C相关的初始化和读写 I2C_DeInit() I2C 的复位,其实设和没设都一样,因为单片机复位后它也跟着复位了。 I2C_EEInit() I2C 的初始化 函数原型: 4 / 10 风驰电子 STM8 开发板 2011 I2C_Init(I2C_Speed, I2C1_SLAVE_ADDRESS7, I2C_DUTYCYCLE_2,\ I2C_ACK_CURR, I2C_ADDMODE_7BIT, Input_Clock)重点看下这个函数,这个就是 I2C 总线的初始化。设置I2C 的速度为标准的速度 100K,从地址为0xA0,快速模式 Fast mode Tlow/THigh = 2 ,当前数据位应答,7 位从地址,时钟为系统时钟。 函 数 原型:void I2C_Init(u32 OutputClockFrequencyHz, u16 OwnAddress, I2C_DutyCycle_TypeDef DutyCycle, I2C_Ack_TypeDef Ack, I2C_AddMode_TypeDef AddMode, u8 InputClockFrequencyMHz ) 代码太长了,看工程代码就可以了。 初始化弄好了,那怎样往从地址写一个字节呢?这个很重要 我们的选择模式是主设备方式读写 5 / 10 风驰电子 STM8 开发板 2 0 1 1 这个函数主要是根据 I2C 的时序来操作的,下面介绍一下I2C 的时序 6 / 10 风驰电子STM8 开发板 2 0 1 1 来源于STM8寄存器.pdf中第251页 7 / 10 风驰电子STM8 开发板 2 0 1 1 这个函数是往AT24C02 写一页数据,每页最多能写8Byte。 8 / 10 风驰电子 STM8 开发板 2 0 1 1 9 / 10 风 驰 电 子 STM8 开 发 板 2 0 1 1 这 个 函 数 是 从 AT24C02 任 何 地 址 读 多 个 字 节 的 ( 可 以 超 过 8 个 字 节 ) 回 来 放 在 内存 pBuffer中 。 参 考 STM8 寄 存 器 .pdf 文 档 第 252 页 。 1 0 / 1 0 风驰电子 STM8 开发板 2 0 1 1 实验效果: 风驰电子祝您学习愉快~~~!!!!!

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单片机stm8与I2C

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部