c8051F410单片机与AD5724芯片SPI通信问题
时间:10-02
整理:3721RD
点击:
采用了C8051f芯片(12位)模拟SPI传输数字信号,AD5724可以收到信号并且根据信号设置相应的电压值(范围-10V~+10V),但是如果单片机的数字信号变化,那么AD5724收到的信号就是错的了
while(1)
{
采集AD信号;
a=ADC0;
cstr=0x00FFF0&(a*16);
writetoAD5724via SPI(cstr);
delay(20);
}
大致的逻辑是这样的,如果直接写cstr=0x00FFF0;输出数据是+10V,没有问题。连续变化就不可以了~~
求解!
while(1)
{
采集AD信号;
a=ADC0;
cstr=0x00FFF0&(a*16);
writetoAD5724via SPI(cstr);
delay(20);
}
大致的逻辑是这样的,如果直接写cstr=0x00FFF0;输出数据是+10V,没有问题。连续变化就不可以了~~
求解!
先单独写数据进去看看电压值有没有变化吧。10V这个电压值太特殊~
要么太快,要么你的AD没有采集到
这个问题我也遇到过 最后放弃了希望有大神来解决
同样求解,之前求过,无人回答,好伤心。
帮顶一下
顶一下
,帮顶一下,也曾遇到相似问题,同求呀
确定传输的数据格式是正确的吗
帮顶一下,也曾遇到相似问题,同求呀
为什么是模拟SPI?
换个数字夜正常? 那八成是两次写入间隔问题吧,用示波器看看时序