硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1500|回复: 5
收起左侧

[I2C控制器] H7-TOOL的I2C控制器驱动I2C从机实现操作说明(2022-05-21)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106621
QQ
发表于 2022-5-21 09:36:22 | 显示全部楼层 |阅读模式
用I2C从机的网友还不少,所以专门做个从机例子玩下,并给大家分享下。

说明:
1、H7-TOOL的I2C控制器支持USB,以太网和WiFi三种连接方式,同时以太网和WiFi支持局域网和外网控制。
2、I2C控制器使用的LUA文件调用非常简单,与我们的V567开发板的BSP驱动函数一模一样,可以直接像C一样调用。


1、I2C主机控制器

下面是LUA程序实现,  根据自己的硬件,修改使用的I2C器件地址,这里访问的是0x20.
[C] 纯文本查看 复制代码
-- 数据收发测试
function i2cSlaveTransmit(_usAddress)
    local ack
    local str
    
    -------发送数据------------------------------
    i2c_bus("start")   -- 启动
    ack = i2c_bus("send", _usAddress) -- 写操作

    if (ack ~= 0) then
                print("I2C从机无应答 send address")
                goto cmd_fail        -- 无应答
        end

    ack = i2c_bus("send", "1")  -- 发送数据

    if (ack ~= 0) then
        print("I2C从机无应答 send data")
        goto cmd_fail        -- 无应答 
    end

    i2c_bus("stop")

    -------接收数据------------------------------
    i2c_bus("start")
    ack = i2c_bus("send", _usAddress + 1) -- 读操作

    if (ack ~= 0) then
                print("I2C从机无应答 send address")
                goto cmd_fail        -- 无应答
        end

    str = i2c_bus("recive", 17) -- 读取17个字节数据 

    print(str)

::cmd_fail:: 
    --  命令执行失败后,切记发送停止信号,避免影响I2C总线上其他设备 
    --  发送I2C总线停止信号 
    i2c_bus("stop")

end

 -- 连续发送10次
for i = 1, 10, 1 do
    delayms(200)
    i2cSlaveTransmit(0x20)
end


代码代码复制到TOOL上位机这里:

image.png


2、接线说明:



3、启动I2C:

这里仅需启动即可,不需要点击扫描I2C,因为扫描操作对I2C从机来说也是一种操作。
image.png


4、下载程序到:

将程序下载到V7开发板,对应从机程序如下:

基于STM32H7的硬件I2C从机.7z (5.38MB)

H7-TOOL端操作,仅需点击“执行”按钮即可



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106621
QQ
 楼主| 发表于 2022-5-21 17:59:47 | 显示全部楼层
可以扫描了,做了下通信

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106621
QQ
 楼主| 发表于 2022-5-22 00:26:01 | 显示全部楼层
已经通信,将例子整理下,明天分享。
184900z444i3e4s4g4c3nc.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106621
QQ
 楼主| 发表于 2022-5-22 16:54:23 | 显示全部楼层
更新完毕。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
发表于 2022-5-24 12:18:51 | 显示全部楼层
硬汉哥 太贴心了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106621
QQ
 楼主| 发表于 2022-5-24 18:34:22 | 显示全部楼层

特此做了一个,方便大家使用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-26 13:49 , Processed in 0.217927 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表