一个关于向MAX7219写入数据的问题

2019-07-15 15:07发布

  1. void Write_Max7219_byte(uchar DATA)         
  2. {
  3.             uchar i;   
  4.                 Max7219_pinCS=0;               
  5.             for(i=8;i>=1;i--)
  6.           {                  
  7.             Max7219_pinCLK=0;
  8.             Max7219_pinDIN=DATA&0x80;
  9.             DATA=DATA<<1;
  10.             Max7219_pinCLK=1;
  11.            }                                 
  12. }
复制代码最近淘了个点阵LED,使用MAX7219驱动,datasheet
已经看过了,但示例程序里有个子函数(就是上面这个)不是很懂:Max7219_pinDIN=DATA&0x80; 中为什么是用0x08进行按位与运算呢?能稍微解释一下原理吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
blust
1楼-- · 2019-07-15 18:37
这个片子应该是串行输入,那句程序是在取数据的最高位。这个还要结合Max7219_pinDIN的定义来看。 最佳答案
NUIST_XKFYT
2楼-- · 2019-07-15 19:50
blust 发表于 2016-1-18 09:31
这个片子应该是串行输入,那句程序是在取数据的最高位。这个还要结合Max7219_pinDIN的定义来看。

哈哈!你提到串行我瞬间明白了!!谢谢!
blust
3楼-- · 2019-07-15 23:33
 精彩回答 2  元偷偷看……

一周热门 更多>