位操作 写读同步(无线) (语音1760 1700) ( 无线24l01)
**************************************************************************
* 函数原型: unsigned char ISD_SendData(unsigned char dat);
* 功 能: 向CPU 发送&读回数据 (用于语音1760 1700)
**************************************************************************/
unsigned char ISD_SendData(unsigned char dat) // 保证外部SS=1
{
unsigned char i,j,BUF_ISD=dat; SCK=1; // 初始条件
SS=0; // 使能ISD1700 的SPI
for(j=4;j>0;j--) // 延迟
{;}
for(i=0;i<8;i++) // 发送&接收8 位数据
{
SCK=0;
for(j=2;j>0;j--) // 延迟
{;}
if(BUF_ISD&0x01) // 将BUF_ISD 中的最低位数据发送到MOSI 端口
MOSI=1;
else
MOSI=0; BUF_ISD>>=1; // BUF_ISD 右移一位
if(MISO) // 逐个接收MISO 端口的数据。将数据存在BUF_ISD
//的最高位
BUF_ISD|=0x80; SCK=1;
for(j=6;j>0;j--) // 延迟
{;}
}
MOSI=0;
return(BUF_ISD); //返回接收到的数据
} /*无线24l01*/
unsigned char SPI_RW(unsigned char byte)
{
unsigned char bit_ctr; for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit
{
if(byte & 0x80)
RF_MOSI = 1;
else
RF_MOSI = 0;
byte = (byte << 1);
RF_SCK = 1;
if(RF_MISO) byte |= 1;
RF_SCK = 0;
} return(byte); //返回接收到的数据
}
位操作 写读同步(无线) (语音1760 1700) ( 无线24l01)的更多相关文章
- python的读写和写读操作
# 读写操作 (读写操作是正常的)f = open('log',mode='r+',encoding='utf-8') # log是文件名 print(f.read()) f.write(" ...
- NB-IoT无线通信模块与Lora无线通信协议技术分析与前景展望
物联网的快速发展对无线通信技术提出了更高的要求,专为低带宽.低功耗.远距离.大量连接的物联网应用而设计的LPWAN(low-power Wide-Area Network,低功耗广域网)也快速兴起.物 ...
- C 常用的输入输出 栈 哈希 文件写读 实现 字符串处理
#include "stdafx.h"#include <stdio.h>#include <string.h>#include <stdlib.h& ...
- py库: xlwt 、xlrd (写读EXCEL文件)
写EXCEL文件 # -*- coding: utf-8 -*- import xlwt book = xlwt.Workbook(encoding = "utf-8", styl ...
- 常用位操作,读8位 I2C 1302 18B20 .
/*1302*/ unsigned char DS1302OutputByte(void) //实时时钟读取一字节(内部函数) { unsigned char i; for(i=8; i>0; ...
- iOS-plist文件的写读
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"xiaoli" ofType:@"plist ...
- volatile写读的内存语义
1,当写一个volatile变量时,JMM(java内存模型)会把该线程本地内存中的所有共享变量刷新到主内存中去 2,当读取一个volatile变量时,该线程会将本地内存置为无效,线程将从主内存中读取 ...
- git远程写协作同步
1:创建一个要提交的文件2 git init 初始化 3 git remote add origin https://github.com/maohongli/cang.git 建立远程连接4 git ...
- Aircrack-ng无线审计工具破解无线密码
Aircrack-ng工具 Aircrack-ng是一个与802.11标准的无线网络分析的安全软件,主要功能有网络探测.数据包嗅探捕获.WEP和WPA/WPA2-PSK破解.Aircrack可以工作在 ...
随机推荐
- csv批量导入mysql命令
今天把从Kaggle上下载下来的csv数据导入mysql,想做个统计分析,怎奈csv文件有些大.所以仅仅能用mysql 命令导入,现mark下,以备以后不时之需: 1. 导入: 基本的语法: load ...
- Foundation Sorting: Quicksort
/* Quick Sorting. * Implementation history:. * 2013-09-15, Mars Fu, first version. */ /* [Quicksort ...
- 前端笔试面试中的常用知识点总结(CSS)
1.CSS选择器的优先级!important > 内联 > id选择器 > 类选择器 > 标签选择器多个类选择器叠加(256)之后的优先级大于一个id选择器!importan ...
- windows上运行npm Error: ENOENT, stat 'C:\Users\
node 中 npm报错 Error: ENOENT, stat C:\Users\Administrator\AppData\Roaming\npm 报错原因可能是修改了node的默认安装路径.于是 ...
- 修改SQL Server登录密码(使用SQL Server身份登录)
修改登录密码: http://blog.sina.com.cn/s/blog_631611220100iqao.html
- 子进程管理模块subprocess
subprocess模块允许你生成子进程,连接管道,并获取返回的代码. 一.使用subprocess模块 模块中定义了一个Popen类: subprocess.Popen(args, bu ...
- thinkphp小技巧
if(IS_POST) _404("页面不存在",U("index")) //如果不是POST提交,则跳转到index.debug模 ...
- Square(hdu 1511)
题目描述: Problem Description Given a set of sticks of various lengths, is it possible to join them end- ...
- wchar_t是内置还是别名(亲测有效:wchar_t在windows下是16位整数的别名,在linux等平台下是32位整数的别名。MSVC2008开始默认是/Zc:wchar_t)
接前一篇C++ ABI之名字改编(以Qt为例),继续看看C++名字改编相关的问题. 问题 MSVC 有一对选项/Zc:wchar_t- 与 /Zc:wchar_t控制wchar_t 于是 wchar_ ...
- 隐藏APK在Launcher中的启动图标 android开发教程
隐藏APK在Launcher中的启动图标: APK的AndroidManifest.xml文件的主Activity中删除 intent-filter 中的 <category android:n ...