在从机模式下通过I2C发送多字节(DA14580为从机)

8个员额/0个新员额
最后一篇文章
亚辛·本纳西奥
离线
最后一次见到:6年2个月前
加入:2015-04-10 15:32
在从机模式下通过I2C发送多字节(DA14580为从机)

您好,我使用以下功能通过ic2将一个字节从DA发送到另一个主机处理器:

布尔
i2c从站发送(uint8数据)
{
如果(i2c从机读取请求()){
SetWord16(I2C_数据_命令_注册表,数据);
GetWord16(I2C\U CLR\U RD\U REQ\U REG);
返回true;
}
返回false;
}

现在我想扩展它,使其能够发送多个字节。我做了休耕:
布尔
i2c从发送(uint8数据,uint8长度)
{

全局_INT_DISABLE();

如果(i2c从机读取请求()){
发送I2C命令(*数据和0xFF);
GetWord16(I2C\U CLR\U RD\U REQ\U REG);
蓝--;
数据++;
}

while(len){
如果(i2c从机读取请求()){
发送I2C_命令((*data&0xFF));
GetWord16(I2C\U CLR\U RD\U REQ\U REG);
蓝--;
数据++;
}
}

全局_INT_RESTORE();

如果(len==0){
返回true;
}

返回false;
}

但这根本不起作用,我找不到我应该清除或使用的其他寄存器?
你能帮帮我吗?

海克
离线
最后一次见到:6年1个月前
加入:2015-06-02 02:46
在我的系统中,DA14580充当

在我的系统中,DA14580充当从设备,我想向它发送数据,也可以从中读取数据。例如,在I2C协议中,我想设置Da1480的REG,我向DA14580发送(Addr+Write)+RegAddr+Data1+Data2,但我可以在哪里读取DA14580中的数据?

MT_对话框
离线
最后一次见到:7个月4天前
工作人员
加入:2015-06-08 11:34
嗨,嗨,亚辛,本瑟,

嗨,嗨,亚辛,本瑟,

很抱歉,虽然硬件支持从模式下的I2C,但并未广泛使用,因此SDK中的dialog不支持这种模式。

谢谢你的对话

游荡者
离线
最后一次见到:3年4个月前
加入:2018-03-03 10:37
好的,看到这个和

好的,看到这一点,在今天一整天试图让SDK(或者我应该说,演示工具包)正常工作之后……我已经达到了我的极限,可以从供应商那里接受什么。

你没有进入我的产品。不支持像I2C从模式设备这样简单和有用的东西,因为你觉得它不好看******。有一个网站,不看“介绍视频”就无法找到你的SDK作为一名开发人员,我只想去北欧或其他有他们产品的公司。

对话
离线
最后一次见到:3个月3周前
工作人员
加入:2013-12-05 14:02
感谢我们的反馈。我已经

感谢我们的反馈。我已向您的注册电子邮件发送了一条消息。BR JE_Dialog

耶胡达诺沃德斯
离线
最后一次见到:2年7个月前
加入:2018-11-11 12:38
你找到解决办法了吗

你找到解决办法了吗?
我也有同样的问题,他们给了我同样愚蠢的答案(我们不支持…)

普登切夫
离线
最后一次见到:3年2周前
加入:2015-06-21 14:37
通常I2C从机应该是

由于异步请求,I2C从设备通常应该是中断驱动的。我在设计中成功地实现了I2C从设备,一切正常。
不清楚源代码中的函数“i2c_slave_read_requested()”在做什么。

耶胡达诺沃德斯
离线
最后一次见到:2年7个月前
加入:2018-11-11 12:38
你能发送一些数据或信息吗

你能发送一些数据或函数,甚至是开始的东西吗?
因为我确实尝试过,但这并不是那么容易,我真的不认为开发人员应该解决这个问题。所有其他制造商都在这么做!!