硬件:STM32103C8T6、LCD1602(带转接板)
软件:STTM32MX、HAL库、硬件IIC
CUBEMX的配置很简单,但是注意要在SYS-Debug中选择调试方式,不然会出现下载一次程序后板子变成砖的情况,如果不小心变成砖,点此解决办法
配置硬件IIC也很简单,按照如下配置即可,然后生成代码:
生成的代码中有一项需要注意的,切记,切记,在调用 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,就可以达到我们的目的。
附上我写的代码链接,是可用的