|
LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。
TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需要学习成本。

功能特性:
1、从机是采用硬件I2C实现,开启了Fast-mode Plus,最高支持1MHz,从机的I2C速度是由主机决定的,使用时,不需要大家配置。
2、IO电平范围支持1.2V-5.0V。
3、从机不能主动发起操作,对从机的读写操作都是由主机发起的。
4、支持波形展示。
LUA函数说明:
1、从机初始化函数
i2c_bus("initslave", 从机地址) , 从机地址采用7bit模式,这里实际填入的值是 = 7bit地址 << 1 , 左移了一位
从机函数可以单独LUA调用,也可以TOOL上位机I2C从机界面控制。
大家可以看到从机地址都是偶数,就是因为左移了一位,空出来的bit0是I2C的读写控制位,硬件I2C会自动管理。
2、从机数据接收函数
返回值1, 返回值2 = i2c_bus("reciveslave", 参数1, 参数2)
返回值1 :表示实际接收到的字节数。
返回值2 :返回接收的数值
参数1 :等待接收字节数
参数2 :等待超时时间,单位ms,等待的时间内没有接收完成将立即返回
比如接收10个数据,超时时间3000ms,那么就可以这样调用:len, str = i2c_bus("reciveslave", 10, 3000)
3、从机数据发送函数
返回值1 = i2c_bus("sendslave", 参数1, 参数2)
返回值1 :表示实际发送的字节数。
参数1 :等待发送的数据,可以发送字符串比如"12345678", 如果要发送实际数值,可以转移字符比如"\x00\x12\x34\x56"
参数2 :等待超时时间,单位ms,等待的时间内没有发送完成将立即返回
比如写10个数据,超时时间2000ms,那么就可以这样调用:len = i2c_bus("sendslave", "0123456789", 2000)
4、从机卸载函数
直接调用函数i2c_bus("deinitslave")即可,也可以上位机按钮退出
硬件接线方式:
I2C控制器引脚定义
D9 : I2C_SCL, 开漏内部集成上拉电阻2K欧
D7 : I2C_SDA, 开漏内部集成上拉电阻2K欧
接目标板的话,接线方式如下:

操作举例:
1、测试从机地址0x20,主机发送给从机10个数据,从机等待超时时间设置为5000ms,注意要主机发起操作,从机不能主动发起
2、测试从机地址0x20,从机发送10个数据给主机,等待超时时间设置为5000ms,注意要主机发起操作,从机不能主动发起操作
|
|