在E8卡上通过linux的spi驱动读写高通字库芯片。

spi是分主从的,字库芯片不会主动通过spi发送数据。只有在linux上发起读操作的时候,字库才会把他的数据发送出来。

/*
* spi mode
*/
ret = ioctl(fd, SPI_IOC_WR_MODE, &mode);
if (ret == -1)
printf("can't set spi mode");

ret = ioctl(fd, SPI_IOC_RD_MODE, &mode);
if (ret == -1)
printf("can't get spi mode");

/*
* bits per word
*/
ret = ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits);
if (ret == -1)
printf("can't set bits per word");

ret = ioctl(fd, SPI_IOC_RD_BITS_PER_WORD, &bits);
if (ret == -1)
printf("can't get bits per word");

/*
* max speed hz
*/
ret = ioctl(fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed);
if (ret == -1)
printf("can't set max speed hz");

ret = ioctl(fd, SPI_IOC_RD_MAX_SPEED_HZ, &speed);
if (ret == -1)
printf("can't get max speed hz");

printf("spi mode: %d\n", mode);
printf("bits per word: %d\n", bits);
printf("max speed: %d Hz (%d KHz)\n", speed, speed/1000);

//spi 发送缓冲区

unsigned char tx[1024] = {0};

//spi 接收缓冲区
unsigned char tx2[1024] = {0};

//字库芯片读命令
tx[0] = 0x03;

//3个字节的地址数据
tx[1] = (unsigned char)((address&0xff0000)>>16); 
tx[2] = (unsigned char)((address&0xff00)>>8); 
tx[3] = (unsigned char)(address&0xFF); 
struct spi_ioc_transfer tr = {
.tx_buf = (unsigned long)tx,  //发送缓冲区
.rx_buf = (unsigned long)tx2,// 接收缓冲区
.len = 4+buflen,  //buflen 是字库数据的长度,由于在发送前4个字节时,字库芯片是不往主机发送数据。如果想读取buflen长度的字库数据,主机必须再发送长度为buflen的任意数据,

.delay_usecs = delay, 
.speed_hz = speed,
.bits_per_word = bits,
};

ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);
接收到的字库数据,就在tx2中。

E8卡 linux 系统 读写 高通 字库芯片相关推荐

  1. “高通”字库芯片的使用方法

    STM32+字库 "高通"字库芯片的使用方法 "高通"字库芯片的使用方法 STM32+字库 前言 一.电路设计 二.程序设计 代码如下: 整体代码部分 1.字库 ...

  2. 高通字库芯片GT20L16S1Y驱动 0.96寸 OLED 任意显示中文

    连续两个月的加班,给ODM客户生产温控器订单,今天终于顺利发货,对于工程师出身的我,终于可以对着电脑,消停几天,研究技术,分享技术了,闲话少说,直接进入正题: 半年前有个老客户介绍个中央某院的项目,我 ...

  3. linux测试dvi接口,支持Linux系统的高清DVI采集卡推荐

    支持Linux系统的高清DVI采集卡推荐 作者:同三维视频网 发表时间: 2019-05-17阅读:次 虽然现在的电脑系统大多已经是windows系统了,但不乏有一些Linux系统的电脑也需要采集它的 ...

  4. 鸿蒙系统依靠高通芯片,鸿蒙系统+高通芯片合体!iPhone再见了

    关于鸿蒙系统,相信数码爱好者已经不是很陌生了,2019年8月9日华为开发者大会上,华为消费者业务首席执行官余承东正式宣布发布自有操作系统鸿蒙 032503br7pbrzpid7nbdcy.jpg (2 ...

  5. 芯片对蓝牙耳机影响有多大?南卡N2s发布,搭载高通3040芯片

    被众多数码媒体.评测机构誉为"最具性价比蓝牙耳机"的Nank南卡N2s今年又有新动作,发布了Nank南卡N2系列的升级版本Nank南卡N2s真无线蓝牙耳机. 作为升级版,Nank南 ...

  6. android系统精简,高通支持Android 8.1精简版,专为512MB或1GB内存设计

    往的搭载骁龙处理器的老旧手机终于有救啦!高通宣布将支持Android Go系统,也就是Android 8.1的精简版,专门为512MB或1GB内存的手机设计的,未来老手机也可以流畅运行. 对于谷歌而言 ...

  7. 高性能linux构建Cf游戏,构建CF卡Linux系统的几个常见难题

    关于如何在cf卡上构建linux ,从网上可以找到很多文章,如:许德新 <嵌入式Linux在PC104平台上的构建与实现>等等.这里主要介绍我在cf卡上构建linux系统中碰到的问题和 解 ...

  8. 高通8155车载芯片_WEY来“摩卡”云首秀,搭载高通8155芯片

    本期亮点  "咖啡"一词源自埃塞俄比亚的一个名叫卡法的古镇,在希腊语中"Kaweh"的意思是"力量与热情",而摩卡咖啡代表着创新和更多可能性 ...

  9. 高通MSM8998芯片参考资料免费下载

    高通MSM8998芯片参考资料免费下载 今日分享是高通MSM8998芯片的基础知识,现在分享是比较基础的资料,还有其他的项目案例和参考资料找个时间再分享出来,资料都在闯客网技术论坛上,也是可以免费下载 ...

最新文章

  1. display的block、none、inline属性及解释
  2. mongodb的shell命令
  3. data lab 1(暂时只放题目)
  4. AngularJS优缺点、使用场景
  5. js操作元素节点对象value
  6. 基于CSS3实现元素宽度向两侧延伸
  7. 计算机的英语谚语,英语谚语大全_2017考研:计算机专业考研复习要点_沪江英语...
  8. java char数组查找_我爱java系列---【在字符数组中查询某个字符串是否存在】
  9. javascript单元测试工具- -QUnit
  10. Excel图表快捷操作小技巧
  11. 【译】2018 年前端开发回顾
  12. C语言一个数组中随机抽取5个数字
  13. Vivo手机originOS安装谷歌套件服务框架GMS安装谷歌三件套,进Google Play商店下载应用
  14. 菜鸟学R语言(组间多重比较)
  15. ubuntu下配置apache2+php+mysql By Assassin
  16. fullpage得基本使用
  17. matlab遗传算法外卖配送优化(新的约束条件)【matlab优化算法十六】
  18. android6.0权限适配RxPermissions
  19. android 编译
  20. lol的不只有英雄联盟,还有程序开发天团!

热门文章

  1. 推荐使用:易企在线客服升级版
  2. rust申请解封_参考 - Rust的确切自动解除引用规则是什么?
  3. NumPy学习笔记前言
  4. [分治] 51Nod1472 Codeforces #549F. Yura and Developers
  5. HTML5文件夹隐藏了怎么打开,如何打开隐藏文件夹,详细教您打开隐藏文件夹的方法...
  6. 秉火429笔记之四启动文件分析
  7. 使用tableau制作词云
  8. python写论文难吗_师兄一年发表5篇CSSCI,原来高手也用套路……
  9. 原创---爱普生LQ-690K打印机win7共享报错解决方案“Windows无法连接到打印机。无法找...
  10. win10 wifi连接不上服务器未响应,简单几步解决win10wifi一直断开连接不上的问题...