这几天在做2416 SPI驱动,感觉总是很奇怪。一行不差的代码,昨天和今天的运行结果真是不一样啊。
昨天,直接用开发板自带的驱动做测试,发现其中断很慢,需要好十几个这毫秒才产生一次中断。实在不解,看流程查代码。感觉没有问题,只是在设置
寄存器PACKET_COUNT_REG感觉不妥,改成要接收的大小。结果还是一样,产生一次收发要将近三十毫秒。天啊,比RS232还慢。怀疑是每次事务开始和结束的时候
都需要enable CLK和dissable clk未达到稳定状态导致,遂改成一次性。结果还是一样。无解!!!
结果今天过来的时候,用昨天修改过的代码,奇迹出现了。很快,几百微秒就完成了一次事务。再换上未改一行代码的驱动一试。TNND,快得跟鸟一样。怎么回事?软硬件环境都没有变过。是2416的BUG吗?