硬件:STM32103C8T6、LCD1602(带转接板)

软件:STTM32MX、HAL库、硬件IIC

 CUBEMX的配置很简单,但是注意要在SYS-Debug中选择调试方式,不然会出现下载一次程序后板子变成砖的情况。

配置硬件IIC也很简单,按照如下配置即可,然后生成代码:

IIC-1602驱动

 

生成的代码中有一项需要注意的,切记,切记,在调用 HAL_I2C_Master_Transmit 这个函数写IIC-1602的时候,第二个参数是目标设备地址,就是我们使用的1602的地址。这个按具体情况而定。

比如地址是0X27,但是你不能直接传入0X27,否则会写从机地址失败。这个函数上面的描述写了这么一句话

 DevAddress Target device address: The device 7 bits address value

  *         in datasheet must be shifted to the left before calling the interface

意思就是说,在传入地址之前,一定要将地址先左移一位再传参,传入0X4E,就可以达到我们的目的。

IIC-1602驱动

附上我写的代码链接,是可用的

https://download.csdn.net/download/qq_41867145/13104335

 

相关文章: