|
关于点阵的介绍以及使用等,请参考前两篇帖子:
《【JoyTag香蕉派学习】8x8 RGB LED 笑脸 (C, 香蕉派)》
http://forum.godpub.com/thread-60-1-1.html
《【JoyTag香蕉派学习】8x8 RGB LED 跑马灯》
http://forum.godpub.com/thread-61-1-1.html
两个程序里边的字模都是直接从小伙伴的帖子中复制过来的,如果想做些特别的图形,就得去找取模软件了。
懒得去找软件再加之无聊,另外看小撸和二叔折腾LED点阵取模,折腾得起劲,于是也折腾一把。
他们用的C#,我没用过,就拿MFC来糊弄吧
一折腾起来,发现以前用着挺熟练的MFC,都不会用了
咋画框啊,咋填充啊,咋COPY啊,样样想不起来了。
最终结果就是代码乱得一团糟
看二叔小撸他们秀的C#,规规矩矩的,简直羞愧的无地自容。
好在功能还算可用。
然后小撸和二叔发现一些毛病,又改了一下
再加些AD上去,彻彻底底变成垃圾软件了,不过没木马就是了(有驴)。
不废话了,上图:
关于扫描码,我一直搞不清楚哪个是行那个是列
如果显示的图形不对,把脑袋转过来就可以了。
测试用的代码,使用了二叔这个帖子内的代码:
http://www.52pi.net/forum.php?mod=viewthread&tid=1328
把elscode[24] 里的内容,换成scancode里的内容即可:
- #include <wiringPi.h>
- #include <wiringPiSPI.h>
-
- unsigned char elscode[24] = {
- 0x30, 0x30, 0x30, 0x18, 0x18, 0x18,
- 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0,
- 0x01, 0xc0, 0x81, 0x07, 0xe6, 0x81,
- 0x0f, 0x42, 0x21, 0x0f, 0x02, 0x71
- };
- unsigned char cleancode[4] = {0x00, 0x00, 0x00, 0x00};
-
- int main(void)
- {
- int i,k;
- unsigned char buffer[4] = {0x25, 0xFF, 0x7F, 0xF0};
- wiringPiSetup();
- wiringPiSPISetup(0, 1);
-
- wiringPiSPIDataRW(0, cleancode, 4);
- delay(1000);
-
- while(1)
- {
- k=0;
- for(i=1;i<256;i*=2)
- {
- buffer[0]=i;
- buffer[1]=0xff-elscode[k+2];
- buffer[2]=0xff;
- buffer[3]=0xff;
- wiringPiSPIDataRW(0, buffer, 4);
- buffer[0]=i;
- buffer[1]=0xff;
- buffer[2]=0xff-elscode[k+1];
- buffer[3]=0xff;
- wiringPiSPIDataRW(0, buffer, 4);
- buffer[0]=i;
- buffer[1]=0xff;
- buffer[2]=0xff;
- buffer[3]=0xff-elscode[k+0];
- wiringPiSPIDataRW(0, buffer, 4);
- k+=3;
- }
- }
- }
复制代码 需要先执行来加载spi模块:
gpio load spi
编译:
gcc -Wall -o rgbspi rgbspi.c -lwiringPi
运行用.\rgbspi
程序我上传到:QQ群“Arduino学习与实践20085629”的群共享了
有愿意试试玩的,就去下吧
(点阵搞冒烟不要赖我啊~)
二叔说,这个点阵用在Arduino上效果更好:
《二叔科技】Arduino 之 8x8 RGB 点阵(color see see)》
http://forum.godpub.com/thread-62-1-1.html
另,小撸正在生成一款极其强大的类似工具,并且开源。
这个代码太垃圾就不开源了。省得丢人。
回头我加个注册码去卖,一份1元,如果卖出去1000000份,我就发家了。
不多说了,继续做梦去了。
|
|