这款芯片虽小,但是还是拥有IIC功能的,并且支持了主从配置,我们先从他们给的例程下手,先进行OLED显示屏测试,后续我们还可以进行其他IIC设备配置。
从原理图上我们使用的口需要短接下,才可以直接使用。如下图:
之后我们看下程序,需要调整下DEMO。
我们先看发送函数吧,其是利用硬件IIC来进行
通信的。
把其OLED_DEMO使能打开。
- void i2c_master_init(void)
- {
- hi2c.Instance = I2C;
- hi2c.Init.Mode = I2C_MODE_MASTER;
- hi2c.Init.AddBits = I2C_SLAVE_ADD_7BITS;
- hi2c.Init.Add = 0x20;
- hi2c.Init.HighSpeed = DISABLE;
- hi2c.Init.ClockMode = I2C_CLOCK_MODE_NORMAL;
- hi2c.Init.Prescaler = 0X01;
-
- HAL_I2C_Init(&hi2c);
- }
这一步是IIC主机配置。需要进行初始化。
我们看其DEMO主循环,是发送三个字符串并显示出来的。这里其实还使用一些空格。我们的IIC规格还是128*64的。
因为我OLED显示屏的原因,导致有点模糊。不过测试是通过了,后续我们可以外接一些IIC模块进行测试。
下载程序我是使用这个软件的,因为发现IDE下载不执行。