博客
关于我
【IoT】蓝牙BLE基础:CC254x通信系列之模拟SPI协议
阅读量:374 次
发布时间:2019-03-05

本文共 1506 字,大约阅读时间需要 5 分钟。

CC254x 模拟 SPI 接口配置与操作

本文详细介绍了 CC254x 模拟 SPI 接口的配置方法及其相关操作功能,包括初始化、读字节、写字节、读数据以及写数据等方面。

### 1. 宏定义配置

#define SPI_CS                          P1_4  #define SPI_CLK                         P1_5  #define SPI_MOSI                        P1_7  #define SPI_MISO                        P1_6

### 2. 引脚初始化配置

void SPI_Init(void){      P1SEL &= 0x0F; // 设置 P1.4 P1.5 P1.6 P1.7 为 GPIO 引脚      P1DIR |= 0xB0; // 设置 P1.4 P1.5 为输出,P1.6 为输入  }

### 3. 读字节函数实现

uint8 SPI_ReadByte(void){      unsigned char i=0, in=0, temp=0;      SPI_CLK = 0;      for(i=0; i<8; i++){          in = (in << 1);          SPI_CLK = 1;          temp = SPI_MISO;          if (temp == 1){              in = in | 0x01;          }          SPI_CLK = 0;      }      return in;  }

### 4. 写字节函数实现

void SPI_SendByte(uint8 cmd){      unsigned char temp=0;      for(i=0; i<8; i++){          SPI_CLK=0;          temp = cmd & 0x80;          if (temp == 0){              SPI_MOSI=0;          } else{              SPI_MOSI=1;          }          cmd <<= 1;          SPI_CLK=1;      }      SPI_MOSI=1;  }

### 5. 读取数据操作

unsigned char ReadRawRC(unsigned char Address){      unsigned char ucResult=0;      SPI_CS=0;      ucAddr = ((Address << 1) & 0x7E) | 0x80;      SPI_SendByte(ucAddr);      ucResult = SPI_ReadByte();      SPI_CS = 1;      return ucResult;  }

### 6. 写入数据操作

void WriteRawRC(unsigned char Address, unsigned char value){      SPI_CS=0;      ucAddr = ((Address << 1) & 0x7E);      SPI_SendByte(ucAddr);      SPI_SendByte(value);      SPI_CS = 1;  }

转载地址:http://vsswz.baihongyu.com/

你可能感兴趣的文章
EditText获取焦点并显示软键盘,Textview字间距,EditText输入监听判断不大于,处理倒计时
查看>>
Oracle删除主表数据
查看>>
js中两种定时器,setTimeout和setInterval实现验证码发送
查看>>
Oracle常用SQL
查看>>
未授权异常:FATAL ERROR in native method: Unauthorized
查看>>
JDK安装与环境变量配置(详细基础篇)
查看>>
golang内存及GC分析简易方法
查看>>
技术美术面试问题整理
查看>>
Redis分布式锁原理
查看>>
学习SSM中ajax如何与后台传数据
查看>>
【备份】求极限笔记
查看>>
【备份】概率论笔记备份
查看>>
ES6模块化与commonJS的对比
查看>>
C++学习记录 四、基于多态的企业职工系统
查看>>
C++学习记录 五、C++提高编程(2)
查看>>
面试问道nginx优化怎么做的
查看>>
自学linux毕业shell面试题
查看>>
4 Java 访问控制符号的范围
查看>>
第9章 - 有没有替代原因(检验证据)
查看>>
VUE3(八)setup与ref函数
查看>>