文档章节

arduino 使用 SPI

quanwei9958
 quanwei9958
发布于 2015/07/08 16:50
字数 227
阅读 2710
收藏 2

连线篇

  板子 arduino mega2560,非此型号的板子可查看官网说明 传送门

  mosi  对应 51脚

  miso  对应 50脚

  sck    对应52脚

  csn、ss 对应53脚,使能信号脚

代码篇

  在arduino sketch中加入头文件 SPI.h 内置libiary就有,无需另外下载

  #include <SPI.h>

  SPI使用前arduino惯例代码  setup中先执行

  SPI.begin();

  因为SPI是双向传输数据,所以只有一个传输数据的接口

  receive=SPI.transfer(data);    这里送入data,送出receive

 

 在与SPI设备通信时需要利用上面的函数加上包装即可。

 一般常用的SPI读写寄存器操作,需要在setup中先配置好io口状态

 pinMode(csn,OUTPUT);

 pinMode(miso,INPUT);

unsigned char wr_reg_by_addr(unsigned char addr,unsigned char data)
{
    digitalWrite(csn,LOW);
    while(digitalRead(miso));  //等待信号线可用
    SPI.transfer(addr);
    unsigned char value=SPI.transfer(data);
    digitalWrite(csn,HIGH);
    
    return value;
}
 

© 著作权归作者所有

quanwei9958

quanwei9958

粉丝 29
博文 79
码字总数 36250
作品 0
程序员
私信 提问
Arduino下HY502B读卡实验

HY502B模块支持SPI接口,数字电路具有双电压工作模式(TTL和COMS),主要在一些计费系统和身份识别读卡器系统中应用,该系列模块功耗低,工作电压范围2.7v—5.5v。 现在简单介绍下Arduino接H...

pc朵拉
2013/07/02
308
0
pcDuino上跑第一个Arduino程序_blink

入手pcDuino有一段时间了,鼓起勇气刷了个官方最新lubuntu系统,开始我的arduino之旅。刚刚调通了第一个基于arduino语言的led闪烁程序,与大家分享。Arduino就这么简单,很好上手。 目标:使...

pc朵拉
2013/11/30
511
0
Bluetooth 4.0 Shield for Arduino

Arduino BLE Shiled是一个使用ZBmodule蓝牙4.0模块(采用TICC2541芯片)的arduino shield。 在SIG发布的蓝牙4.0标准规范当中,蓝牙4.0 加入了低能耗(Bluetooth Low Energy,BLE)技术,其峰值...

酸酸苹果汁
2014/01/09
2.8K
1
困扰我很久的NFC shield 在pcDuino上的问题,终于解决了!

在pcDuino上调试NFC shield 的问题困扰了我很久,今天把我的调试过程分享给大家:我使用了官方网站上给出的"PN532_SPI"这个库调试,因为pcDuino没有arduino兼容的接口,所以将NFC shield直接...

pc朵拉
2013/08/08
638
0
pcDuino 书籍_第三章: C语言和pcDuino的Arduino风格IDE (II)

上篇讲到:pcDuino 书籍_第三章: C语言和pcDuino的Arduino风格IDE (I) Arduino风格的库和例程解释 UART 参考: 请从Arduino官网上参考Serial Class(http://arduino.cc/en/Reference/Serial)...

pc朵拉
2013/08/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部