第一次使用MY9221的时候,是已经有同事使用过了,同事当初没有发现太多问题和障碍。
自己使用的时候出现了故障,使用两片MY9221,出现的问题就是LED灯珠会闪烁,随机的闪烁,虽然是微微的闪烁。当时做测试,在给MY9221发数据的函数中作如下处理:发数据前,将MCU总中断关闭,数据发送完后再把总中断打开。就不会出现灯珠闪烁的现象。当时使用的是12位调光,以为是位数太多,改为8位调光后,即使没有在发数据的时候关闭中断,也解决了闪烁的问题,以为就找到了问题的所在点,后续就没有继续跟踪了。
第二次使用,由于要求,必须使用12位调光,问题也就再次出现了,这一次使用的单片机速度更慢一点,发送数据使用时间也更长了,如果发送数据之前把中断关闭,发送完再打开,时间就更长了,不能接受。调试过程中,还是试这将中断关闭。
1:先将串口中断关闭 出现了新的问题,串口数据丢失,比如数据1~15,接收玩第3个数据的时候,给9221发数据,却将串口中断关闭,再次打开的时候,接收的不是数据4,而是9、10或者其他数据。
解决方法:再串口一帧数据过来检测到头后,标记不能给9221发数据,所需数据接收完后,标记解除,允许给9221发数据,给9221发数据之前,将串口中断关闭,数据发送完后,将总中断打开,就解决了这个问题。
问题是解决了,但是根源没摸清楚,找到明阳的工程师—----郭工(台湾人,很热情,很客气),我把使用情况描述后,他给出了一个使用技术指标,