**************************************************************************
* 函数原型: 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)的更多相关文章

  1. python的读写和写读操作

    # 读写操作 (读写操作是正常的)f = open('log',mode='r+',encoding='utf-8') # log是文件名 print(f.read()) f.write(" ...

  2. NB-IoT无线通信模块与Lora无线通信协议技术分析与前景展望

    物联网的快速发展对无线通信技术提出了更高的要求,专为低带宽.低功耗.远距离.大量连接的物联网应用而设计的LPWAN(low-power Wide-Area Network,低功耗广域网)也快速兴起.物 ...

  3. C 常用的输入输出 栈 哈希 文件写读 实现 字符串处理

    #include "stdafx.h"#include <stdio.h>#include <string.h>#include <stdlib.h& ...

  4. py库: xlwt 、xlrd (写读EXCEL文件)

    写EXCEL文件 # -*- coding: utf-8 -*- import xlwt book = xlwt.Workbook(encoding = "utf-8", styl ...

  5. 常用位操作,读8位 I2C 1302 18B20 .

    /*1302*/ unsigned char DS1302OutputByte(void) //实时时钟读取一字节(内部函数) { unsigned char i; for(i=8; i>0; ...

  6. iOS-plist文件的写读

    NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"xiaoli" ofType:@"plist ...

  7. volatile写读的内存语义

    1,当写一个volatile变量时,JMM(java内存模型)会把该线程本地内存中的所有共享变量刷新到主内存中去 2,当读取一个volatile变量时,该线程会将本地内存置为无效,线程将从主内存中读取 ...

  8. git远程写协作同步

    1:创建一个要提交的文件2 git init 初始化 3 git remote add origin https://github.com/maohongli/cang.git 建立远程连接4 git ...

  9. Aircrack-ng无线审计工具破解无线密码

    Aircrack-ng工具 Aircrack-ng是一个与802.11标准的无线网络分析的安全软件,主要功能有网络探测.数据包嗅探捕获.WEP和WPA/WPA2-PSK破解.Aircrack可以工作在 ...

随机推荐

  1. csv批量导入mysql命令

    今天把从Kaggle上下载下来的csv数据导入mysql,想做个统计分析,怎奈csv文件有些大.所以仅仅能用mysql 命令导入,现mark下,以备以后不时之需: 1. 导入: 基本的语法: load ...

  2. Foundation Sorting: Quicksort

    /* Quick Sorting. * Implementation history:. * 2013-09-15, Mars Fu, first version. */ /* [Quicksort ...

  3. 前端笔试面试中的常用知识点总结(CSS)

    1.CSS选择器的优先级!important  > 内联 > id选择器 > 类选择器 > 标签选择器多个类选择器叠加(256)之后的优先级大于一个id选择器!importan ...

  4. windows上运行npm Error: ENOENT, stat 'C:\Users\

    node 中 npm报错 Error: ENOENT, stat C:\Users\Administrator\AppData\Roaming\npm 报错原因可能是修改了node的默认安装路径.于是 ...

  5. 修改SQL Server登录密码(使用SQL Server身份登录)

    修改登录密码: http://blog.sina.com.cn/s/blog_631611220100iqao.html

  6. 子进程管理模块subprocess

    subprocess模块允许你生成子进程,连接管道,并获取返回的代码. 一.使用subprocess模块 模块中定义了一个Popen类:       subprocess.Popen(args, bu ...

  7. thinkphp小技巧

    if(IS_POST) _404("页面不存在",U("index"))               //如果不是POST提交,则跳转到index.debug模 ...

  8. Square(hdu 1511)

    题目描述: Problem Description Given a set of sticks of various lengths, is it possible to join them end- ...

  9. 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_ ...

  10. 隐藏APK在Launcher中的启动图标 android开发教程

    隐藏APK在Launcher中的启动图标: APK的AndroidManifest.xml文件的主Activity中删除 intent-filter 中的 <category android:n ...