qn1542856183

qn1542856183

0个粉丝

2

问答

0

专栏

0

资料

qn1542856183  发布于  2018-12-28 17:04:35
采纳率 0%
2个问答
1982

hi3516a spi连续写数据出错

 
通过hi3516a的SPI接口,连续写数据,10个数据的时候正常,超过10个数据就失败,代码如下:
int i, retval = 0;
        unsigned char  buf[4098];
        struct spi_ioc_transfer mesg[1];
        unsigned char dev_addr=0x7e, reg_addr=0x22;

        memset(mesg, 0, sizeof mesg);
        if (length > 4094) length = 4094;

        mesg[0].tx_buf = (__u32)buf;
        mesg[0].rx_buf = (__u32)buf;
        mesg[0].len = 2 + length;
        mesg[0].cs_change = 1;
        mesg[0].bits_per_word = 8;
        mesg[0].speed_hz = 2000000;
        printf("mesg.len=%d, speed=%dhz\n", mesg[0].len, mesg[0].speed_hz);

        memset(buf, 0, sizeof buf);
        buf[0] = dev_addr & 0x7f;
        buf[1] = reg_addr & 0xff;
        memcpy(buf+2, packet, length);
        for(i=0; i                 printf("%02X ", buf);
        printf("\n");
        retval = ioctl(gs_SpiFd, SPI_IOC_MESSAGE(length), mesg);
        if (retval != mesg[0].len)
        {
                printf("ERR: SPI_IOC_MESSAGE error \n");
                retval = -1;
        }
运行结果如下:
/mnt # ./myvenc
ready write length=10
mesg.len=12, speed=2000000hz
7E 22 00 01 02 03 04 05 06 07 08 09
write2 10, return 12
/mnt # ./myvenc
ready write length=12
mesg.len=14, speed=2000000hz
7E 22 00 01 02 03 04 05 06 07 08 09 0A 0B
ERR: SPI_IOC_MESSAGE error
write2 12, return -1
/mnt #
这是咋回事呢?资料上说最大可以写4KB一次,为什么超过10都不行了呢?
我来回答
回答1个
时间排序
认可量排序

qn1542856183

0个粉丝

2

问答

0

专栏

0

资料

qn1542856183 2018-12-28 18:17:01
认可0
参数错了,应该是
retval = ioctl(gs_SpiFd, SPI_IOC_MESSAGE(1), mesg);
哎,搞了半天!:'(
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区