1、测试ISA中断时,发现ISA中断大部分丢失。找到原因是因为,ISA中断为高电平有效,但是这个高电平必须保持一定时间。因为太短,所以在UBUNTU中会丢失中断,改为持续100us后,暂时没发现丢失问题
2、读A/D电压值,大部分值正确,少部分值不正确。分二种情况,一种是读低8位正确,高8位不正确时,好像是因为ISA的二次读之间需要间隔一定时间,我在二次读之间加了50us间隔,暂时没发现问题。
第二种情况是,出现偏0的电压,或者寄存器12位以上出现值的电压(>3.3),是因为使用AD7859不对造成的。
开启转换
设置CSR
读AD
这样顺序逻辑不对,会出现问题。
但是改成:
设置CSR(主要是通道)
开启转换(通过ADCONVST管脚)
读AD
这样也会出问题。
只有不管CSR的情况,现在基本没问题:
开启转换
延时
读AD
问小灰灰:1、自校正什么的需要吗?怎么用。 2、是通过管脚开启转换,还是通过写寄存器呢(我可以自己写一下通过写寄存器开启情况)? 3、多通道转换是怎么写的,先转换第一通道,然后第二通道??,每个通道之间延时多少呢。