首页 > 解决方案 > 上传数据到 MAX 7219

问题描述

我有以下代码在 MAX7219 上写入数据以点亮 8x8 LED 矩阵:

for (i = 0; i < 8; i++)  {          
    CLK = LOW;      
    DIN = temp & MSBIT >> i;
    CLK = HIGH;
}

可悲的是,我只知道代码行(DIN = temp & MSBIT >> i;)必须完全一样,否则 LED 将不会显示预期,但我不明白它是如何工作的......

拜托,我真的需要解释,因为我被卡住了......

注意:变量“temp”始终是一个十六进制数,例如 0x20,并且“MSBIT”= 0x80。

标签: c

解决方案


让我猜猜:

CLK: 微控制器的时钟输出引脚 : 微控制器的
DIN数据输出引脚

因此,您正在使用时钟信号 ontemp逐位移出值。 DINCLK

i = 0  -> DIN = bit 7 of temp  
i = 1  -> DIn = bit 6 of temp  
...  
i = 7  -> DIN = bit 0 of temp

推荐阅读