打印
[STM32MP1]

【STM32MP135F-DK测评】+裸机驱动MCP23017T点灯

[复制链接]
400|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuxiubo|  楼主 | 2024-1-26 17:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


首先就是要看这个芯片的数据手册了,其有两种寄存器配置方式,默认是BANK0,默认的话有个好处可以一次配置两个他寄存器可以顺着往下的。

也就是这里介绍的字节和顺序模式。

先要配置IO口成输出模式。

temp[0] = 0x00;

temp[1] = 0x00;

HAL_I2C_Mem_Write(&hi2c1, 0x42, 0x00, I2C_MEMADD_SIZE_8BIT, temp, 2, 0xff);
0x42是其地址,可以看手册得到,0x00是寄存器地址,我们写了两个所有两个口都变成了输出模式。
temp[0] = 0xff;

temp[1] = 0x00;

HAL_I2C_Mem_Write(&hi2c1, 0x42, 0x12, I2C_MEMADD_SIZE_8BIT, temp, 2, 0xff);

HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_13);

HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_14);

HAL_Delay(500);

temp[0] = 0xff;

temp[1] = 0xff;

HAL_I2C_Mem_Write(&hi2c1, 0x42, 0x12, I2C_MEMADD_SIZE_8BIT, temp, 2, 0xff);

HAL_Delay(500);

然后就是主循环操作了,我们操作整个口省事点。

硬件连接。我们用的是GPB6,和GPB7。两个灯。

IIC直接用CUBEMX生成即可。完成即可点灯。


使用特权

评论回复
沙发
xuanhuanzi| | 2024-1-26 22:39 | 只看该作者
高级用法啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

237

帖子

2

粉丝