关于模拟SPI发送数据中一个小细节
来源:互联网 发布:人工智能伏羲觉醒2 编辑:程序博客网 时间:2024/06/05 18:10
在SPI发送一个字节内容的函数中如下:
#define Max7219_DIN PAout(6)
void Write_Max7219_byte(u8 DATA) { u8 i; Max7219_CS=0; for(i = 8;i >= 1;i--) { Max7219_CLK=0;/*①*/ // Max7219_DIN=(DATA >> 7) & 0x01;/*②*/ // Max7219_DIN = DATA & 0x80;/*③*/ // if(DATA & 0x80)Max7219_DIN = 1; else Max7219_DIN = 0; DATA=DATA<<1; Max7219_CLK=1; } }
在上述有三个可以判断要发送字节的位是0或是1,在51中①②③三种写法都适用,而在stm32中只有①②可以正常适用。
通过对②写法进行深究发现,如果按照此写法是不严谨的而且是错误的,比如DATA是0x01的话,第一种和第三种最后经过依次发送后还是为0000 0001,.
但是第二中方式却不是,结果是0 0 0 0 0 0 0 128.但是51中这种写法确实可以的。什么原因现在还不清楚。望大虾赐教!
经论证:①和③的写法都是可行并且通用性较好。
不懂的问题问三遍:第二种写法在51上为什么能实现呢?51的IO口定义 #define Max7219 P1^1,不清楚是否和IO内部结构有问题?
第二种写法在51上为什么能实现呢?51的IO口定义 #define Max7219 P1^1,不清楚是否和IO内部结构有问题?
第二种写法在51上为什么能实现呢?51的IO口定义 #define Max7219 P1^1,不清楚是否和IO内部结构有问题?
阅读全文
0 0
- 关于模拟SPI发送数据中一个小细节
- 关于JSTL中使用EL的一个小细节
- STM32F10XX中SPI的DMA发送数据
- xlnx4.0中关于SPI-nor-flash的一个小bug
- 一个关于paintComponent的小细节问题
- 关于display的y一个小细节
- 一个关于MongoDB的小细节
- Redis中关于密码的小细节.
- 关于表单提交中,元素属性为readonly或disabled的一个小细节~~
- 关于springMVC文件上传过程中一个有意思的小细节
- 关于IO口模拟SPI
- 关于IO口模拟SPI
- c语言中关于/的一个细节
- 关于Reactor handle_events( ACE_Time_Value * max_wait_time ) 的一个小细节问题
- 关于C语言中内嵌汇编指令的一个小细节
- 关于TextureBuffer作为输出的一个小细节
- 转 关于二维数组初始化的一个小细节
- jQuery一个小细节
- vue学习笔记(一)
- 设计模式学习
- Windows消息队列(25 分)
- 关于RxJava2的使用心得
- 深度学习——caffe安装与代码阅读第一步
- 关于模拟SPI发送数据中一个小细节
- 向网页提交数据
- 登录界面
- 【Swoole】多进程process
- Java网络编程
- linux 全自动化构建、部署管理工具
- html中怎样实现在输入框中出现提示
- C++实现双目校准
- leetcode -- 队列总结