c - 如何在点阵 74HC595 上打开具有特定地址的 LED?
问题描述
当我想确定点阵 8x8 74HC595 中每个 LED 的地址时,我遇到了问题,我试图只用地址点亮 1 个 LED。我已经尝试了许多教程和文档,但仍然没有运气仅点亮 1 个具有特定位置的 LED。
我的 C 代码:
#include <wiringPi.h>
#include <stdio.h>
#define SDI 0 //serial data input
#define RCLK 1 //memory clock input
#define SRCLK 2 //shift register clock input
unsigned char LED[8] ={0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
void pulse(int pin)
{
digitalWrite(pin, 0);
digitalWrite(pin, 1);
}
void ShiftOUT(unsigned char byte)
{
int i;
for(i=0;i<8;i++)
{
// char a = byte & (0x80 >> i)) > 0;
digitalWrite(SDI, (( byte & (0x80 >> i)) > 0));
printf("%d", (( byte >> i > 0)));
pulse(SRCLK);
}
printf("\n","==================");
}
void init(void)
{
pinMode(SDI, OUTPUT);
pinMode(RCLK, OUTPUT);
pinMode(SRCLK, OUTPUT);
digitalWrite(SDI, 0);
digitalWrite(RCLK, 0);
digitalWrite(SRCLK, 0);
}
int main(void)
{
int i;
if(wiringPiSetup() == -1)
{
printf("setup wiringPi failed !");
return 1;
}
init();
while(1)
{
for(i=0;i<8;i++)
{
ShiftOUT(LED[i]);
pulse(RCLK);
// printf("=======pull latch========");
// printf("\n");
delay(150);
}
delay(500);
}
return 0;
}
我试过的这段代码会点亮 1 行,我想点亮 1 个具有特定位置的 LED
这是我用于模拟解决 LED 的链接:https ://www.riyas.org/2013/12/online-led-matrix-font-generator-with.html
有什么帮助吗?谢谢
解决方案
推荐阅读
- .htaccess - Symfony4 在子文件夹中路由
- reactjs - VS代码在包含连字符的类名之间添加空格
- java - 在不实例化子类的情况下在超类和子类之间进行等效测试
- java - 可能会抛出“NullPointerException”;“上下文”在这里可以为空
- python - ValueError:无法处理连续和多类的混合
- nand2tetris - Nand2tetris.内置门芯片表现奇怪
- java - 如何从不同对象的返回结果创建对象的转换类型
- ckeditor - TYPO3:CKEditor 删除了一些 html 标签(例如 strong、h4)
- python - 这个 Python 代码是如何正常工作的?
- css - 如何调整Wordpress移动网站的宽度