搜索
bottom↓
回复: 1

谁写过RT5350的I2C驱动,请教一下这是怎么回事?

[复制链接]

出0入0汤圆

发表于 2015-11-9 13:49:13 | 显示全部楼层 |阅读模式
本帖最后由 sohappyoh 于 2015-11-11 09:25 编辑

找到原因:我的STM32做从机,发现STM32接收的数据过长会死掉,问题解决


经常死机(没有加超时处理),发送数据会断,而且着这样的:



  1. static ssize_t i2c_write(struct file *file, const char __user *buf, size_t size, loff_t *ppos)
  2. {
  3.         unsigned int i = 0;       
  4.         unsigned char i2c_buf[I2C_WR_BUF_SIZE];
  5.         copy_from_user(&i2c_buf, buf, size);

  6.         *I2C_BYTECNT = size;
  7.     printReg();
  8.         printk("i2c write:\n");   
  9.         do {
  10.         printk("%c", i2c_buf[i]);        
  11.                 *I2C_DATAOUT = i2c_buf[i++];
  12.                 *I2C_STARTXFR = 0x0;
  13.         while((*I2C_STATUS & SDOEMPTY) == 0);
  14.         printk("%c", i2c_buf[i-1]);         
  15.         /*
  16.                 while(1){
  17.             if(((*I2C_STATUS & SDOEMPTY) == SDOEMPTY) && ((*I2C_STATUS & BUSY) == 0))  {
  18.                 break;   
  19.             }
  20.             if(((*I2C_STATUS & ACKERR) == ACKERR) || ((*I2C_STATUS & STARTERR) == STARTERR)) {
  21.                 break;                 
  22.             }
  23.         };
  24.         */
  25.         }while(i<size);
  26.         return size;
  27. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-5-15 17:08:00 | 显示全部楼层
MARK, 谢谢分享
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 20:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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