7516|1

659

帖子

1

TA的资源

纯净的硅(中级)

楼主
 

一起玩树莓派3 + 使用WiringPi控制树莓派的SPI口读取外部Flash [复制链接]

现在使用SPI口来读取外部SPI-Flash的信息。
首先要在raspi-config中设置IO的SPI功能,跟上一个I2C设置一样,参见 https://bbs.eeworld.com.cn/thread-506020-1-1.html

外部SPI-Flash模块为微雪电子的AT45DB041的模块。
硬件连接如图


处于简便,仅实现读取Flash芯片信息寄存器的,
代码如下:
  1. #include <stdio.h>

  2. #include <wiringPiSPI.h>

  3. int main(void)
  4. {
  5.         int fd = wiringPiSPISetup(0, 1000000);
  6.         if (fd < 0) {
  7.                 printf("Error Setup wiringPiSPI\n");
  8.                 exit(1);
  9.         }
  10.        
  11.         unsigned char buf[5] = {0x9F, 0, 0, 0};
  12.         wiringPiSPIDataRW(0, buf, 5);
  13.        
  14.         char temp[2];
  15.         char2hex(buf[0], temp);
  16.         printf("Manufacturer ID = %x\n", buf[1]);
  17.         printf("DevId_1 = %x\n", buf[2]);
  18.         printf("DevId_2 = %x\n", buf[3]);
  19.         printf("Extended DevInfo = %x\n", buf[4]);
  20.        
  21.         return 0;

  22. }

  23. #define HI_HEX(x) ( ((x&0xF0)>>4) >= 10 ? (x-10+'A') : (x+'0') )
  24. #define LO_HEX(x) ( (x>>4) >= 10 ? (x-10+'A') : (x+'0') )

  25. void char2hex(char value, char hex[2])
  26. {
  27.         int x = (value & 0xF0) >> 4;
  28.         if (x >= 10) hex[1] = x - 10 + 'A';
  29.         else hex[1] = x + '0';
  30.        
  31.         int y = value & 0x0F;
  32.         if (y >= 10) hex[0] = y - 10 + 'A';
  33.         else hex[0] = y + '0';
  34. }
复制代码

gcc -lwiringPi test_SPI-Flash.c -o test_SPI-Flash
编译运行后


信息读取无误!


最新回复

支持,这么努力啊!  详情 回复 发表于 2016-11-15 14:52

赞赏

1

查看全部赞赏

点赞 关注

回复
举报

6107

帖子

4

TA的资源

版主

沙发
 
支持,这么努力啊!
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表