主题:[求助] 阻塞式读取SPI和I2c

  共有56558人关注过本帖    
帅哥哟,离线,有人找我吗?
lgz
1楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-28 17:07:00   [显示全部帖子]

你好,因为spi和i2c都是主从设备的模式,你在应用程序里面进行读写,3354上的spi和i2c都会马上进行数据读写,读写完设置的数据或者是检测到总线错误后才会返回,这两种总线的阻塞非阻塞读写没有意义,函数返回的时候肯定是完成了读写或者总线出错(i2c有应答信号检测),而且作为主设备会控制时钟信号,不会出现串口那种没有预期的等待数据的状态。你所说的阻塞读取是想实现什么

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
2楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-28 17:26:00   [显示全部帖子]

这两个总线都是有时钟信号同步的,3354上的作为主设备生成时钟信号并且只在时钟信号上进行采样,这个过程与从设备是否发送数据无关,对于i2c拉低时钟信号的情况,会等到所有数据接收完成后函数才会返回
[此贴子已经被作者于2016-11-28 17:33:24编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
3楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-28 18:05:00   [显示全部帖子]

你好,多线程中请做好线程的同步互斥管理,不要同时读写

i2c驱动没有引出时钟频率设置函数,i2c设备只分标准模式和高速模式,我们现在的配置是高速模式,如果你的设备支持高速模式那就是可以进行通信的,高速模式应该是兼容标准模式的,如果你的设备是标准模式的设备并且没法和我们主板通信,我们可以给你配置成工作于标准模式的

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
4楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-29 12:58:00   [显示全部帖子]

你好,请先确定你的设备的i2c地址,如果地址不对,i2c设备是不会返回应答信号的,应用程序就会返回remote io error了

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
5楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-29 13:32:00   [显示全部帖子]

是的,应用程序可以参考我们光盘中的I2C扩展模块的应用,另外不要操作I2C复用的GPIO(26、27)

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
6楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-29 13:51:00   [显示全部帖子]

要重新烧写固件,我一会邮件发给你

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
7楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-29 14:13:00   [显示全部帖子]

好的,spi可以设置时钟频率,esm3354最高为48MHz

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
8楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2016-11-29 16:01:00   [显示全部帖子]

2个外部中断,可以查看dev文件夹下面的设备节点

  单帖管理 | 引用 | 回复 回到顶部

返回首页

[求助] 阻塞式读取SPI和I2c

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: