新板子终于做回来了,上电,发现数码管,只显示其中一位。
(我的板子是显示,个位和十位的,具体哪一位没显示,似乎是随机的)。
数码管不显示 ,板子不正常啊。
先放一放,查一下通讯,可发现通讯也并不正常。
从表象上看,好像是芯片没有正常工作,查芯片电压是否正常。
结果正常。
使用debug调试,初步发现程序也能正常运行。
所以我认识芯片是工作正常的。
之后,我便去找外围电路,查PCB图,都没发现真正的原因。
因为我的程序在第一版,第二版都是可以运行的,所以没有怀疑程序的问题。
但后来发现,简单的程序能够运行,加了中断等,定时器等又运行不正常。
既然程序,和芯片工作都正常,就开始查外围电路的问题。
先拆MAX708TESA,发现问题依旧存在。
接着拆EEPROM,我用的是AT24C32D-SSHM-T 的。
奇迹般发现,只要把相关EEPROM的代码注释,便能正常运行。
不对啊,电路一样,怎么新做的板子会有问题呢,难道是没有焊好?
我重新焊上去,问题依旧存在。
我开始怀疑,是不是我的代码写的不够完美,硬件环境变了,造成代码需要小的改动?
我用的是GD32F303ZET6的国产芯片,这吊东西,确实问题多啊,从STM32转换过来,我有这疑问也是正常。
但更改代码,增加减少相应的延时,并没什么用。
一旦去EEPROM读操作就卡死。
没办法了。
这板子是立创打的,而且打的两块样板都有同样的毛病,所以并没有往EEPROM芯片损坏方面思考。
但最后实在没了办法,换了新的EEPROM,竟然解决了问题。
这真得是个艹蛋的事情 。