MCU编写按bit依次发送和接收的程序示例
来源:互联网 发布:js控制select默认选中 编辑:程序博客网 时间:2024/06/15 21:49
1. 依次发送:
void Set_SDI (U32 Index){if (Index) SDI = 1;else SDI = 0;}
void SPI_3W_SET_Cmd (U8 cmd){U32 kk;Set_SDI(0);//set DC=0, for writting to Command registerSet_SCL(0);Set_SCL(1);Set_SCL(0);for(kk=0;kk<8;kk++){if((cmd & 0x80) == 0x80) Set_SDI(1);else Set_SDI(0);Set_SCL(1);Set_SCL(0);cmd = cmd <<1;}// Close open-drain mosSet_SCL(1);Set_SDI(1);}
该示例是按从高bit到低bit的顺序发送,如果想反过来,把
if((cmd & 0x80) == 0x80) Set_SDI(1);
cmd = cmd <<1;
语句更改为
if((cmd & 0x01) == 0x01) Set_SDI(1);
cmd = cmd >>1;
即可。
2. 依次接收:
U8 rdT;rdT=0;for(kk=0;kk<8;kk++){rdT = rdT<<1;Set_SCL(1);if(SDO==1) rdT |= 0x01;Set_SCL(0);}
该示例中SDO为MCU接收pin脚,是bit单位。如果对于8bit或32bit不能位寻址的端口,可以将判断语句更改为
if(rGPEDAT&0x0800) rdT |= 0x01;
该示例是先按先高bit后低bit的顺序接收,如果想反过来,语句做如下更改即可
U8 rdT;rdT =0;for(kk=0;kk<8;kk++){rdT = rdT>>1;Set_SCL(1);if(SDO==1) rdT |= 0x80;Set_SCL(0);}
0 0
- MCU编写按bit依次发送和接收的程序示例
- C语言socket UDP广播的发送和接收示例
- (转载).Net HttpPost的发送和接收示例代码
- UDP 用户数据报文协议的发送和接收示例
- UDP发送和接收程序
- UDP发送和接收程序
- 用Javamail写的邮件接收程序和发送程序
- RTP 简单的发送端程序和接收端程序
- C#编写的UDP收发数据 单独的接收数据程序可以用 但是写的接收和发送的不好使
- 编写一个聊天程序:有接收数据部分,和发数据的部分, 这两部分需要同时执行,使用多线程实现,一个控制接收,一个控制发送
- SOCKET TCP 发送和接收示例代码
- Android SMS发送和接收(示例)
- 简单的mpi发送和接收的程序
- OpenJMS程序实现消息的发送和接收
- 一个简易的51单片机串口接收和发送程序
- Android发送接收短信的代码示例
- Android发送接收短信的代码示例
- 编写一个程序,要求用户输入下限整数和一个上限整数,然后,依次计算从下限到上限的
- VS2010配置64bit的GSL
- SSH框架问题——hbm.xml配置出现的org.hibernate.MappingException: Could not determine type for:(貌似叫数据类型转换错误)问题
- Ctags on OSX
- calculate simple expressions
- 最经典的黑客入门教程
- MCU编写按bit依次发送和接收的程序示例
- 欲与Android展开价格战,微软宣布在移动设备上免费开放Windows
- Git时代的VIM不完全使用教程
- 虚拟现实技术有望成为下一个重要计算平台
- 拆分Oracle分区表的SQL例子
- win7访问共网络共享机器记住或者清除登录密码(问答汇总)
- ntp时间服务器
- POJ 2524 Ubiquitous Religions
- ubuntu下cisco模拟环境dynamips安装与初步使用