建议多看看数据手册 |
188610329 发表于 2022-1-8 19:08 好的。谢谢了 |
egsresrhtrhrtst 发表于 2022-1-8 16:25 你最好,好好看看手册,究竟需要发些什么, 你上面的代码,很多操作都是无意义的。 初始化,定义亮度,这些都是只需要做一次的,然后就是定义每一个位的亮灭,当你显示不需要变化的时候,就不用再操作7219,产生变化的时候,其实也只需要更新发生变化的地址的数据而已。而不是所有的地址数据全都更新 |
本帖最后由 egsresrhtrhrtst 于 2022-1-8 16:27 编辑 188610329 发表于 2022-1-8 13:41 谢谢,把while放到后边确实没有了,这是我参考论坛里的动态显示的程序改的,想着静态显示一下,弄了好久都不行,你说的莫名其妙的程序是说的write_7219_byte(0x00);;这些发送空值得程序吗,这些不是要传送的嘛。 |
MAX7219, 是显示驱动器。 他只需要你把点阵数据发给他,他就会自动显示,换句话说,你数据不发生变化的前提下,是不需要,也不应该去反复的刷 7219的, 所以,你在while(1) 里面 不停的发是什么鬼? 你只要去掉while(1),把它放在main的结尾, while(1); 就不会有那所谓的“鬼影”。 然后顺带说一下, 那所谓的“鬼影”, 就是你在发送 数据一的时候,后面莫名其妙增加的那些数据,发送数据二的时候,被正确的数据覆盖,所以只显示一小会儿,就成了所谓的鬼影,换言之你的这种数据发送方法是有问题的。 |
消影时间不够吧 |
这个算法的效率太低了 可以参考论坛某个帖子 里面的程序很简洁 |