完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
100ms采样一次,设置640Hz时读出数据乱跳,设置40Hz时读出数据正常。
读函数如下: int32_t Read_CS1237(void) { unsigned char i; uint32_t dat=0;//读取到的数据 unsigned int count_i=0;//溢出计时器 int32_t temp; // OUT_OUT(); // DOUT_1; //OUT引脚拉高 SCLK_0;//时钟拉低 OUT_IN(); while( SDA ==1)//等待芯片准备好数据 { delay_ms(1); count_i++; if(count_i > 300) { OUT_OUT(); SCLK_1; // CLK=1; DOUT_1; // OUT=1; return 1;//超时,则直接退出程序 } } dat=0; for(i=0;i<24;i++)//获取24位有效转换 { SCLK_1; // CLK=1; Delay_Us(10); dat <<= 1; if( SDA ==1) dat ++; SCLK_0; // CLK=0; Delay_Us(10); } for(i=0;i<3;i++)//接着前面的时钟 再来3个时钟 { SCLK_1; // CLK=1; Delay_Us(10); SCLK_0; // CLK=0; Delay_Us(10); } OUT_OUT(); DOUT_1; //OUT = 1; //ADC_BIT 16,舍弃低8位 i = 24-ADC_BIT; dat >>= i; if(dat&0x00008000)// 判断是负数 最高位24位是符号位 { temp=-(((~dat)&0x00007FFF) + 1);// 补码变源码 } else temp=dat; // 正数的补码就是源码 // temp = dat; return temp; } |
|
相关推荐
10 个讨论
|
|
|
我使用查询的方法也遇到过,更糟糕,10Hz正常,40Hz异常,可能软件没有处理好
|
|
|
|
|
|
|
|
|
我也是,我640HZ偶尔读出来异常。而且不同温度是不是精度不同?
|
|
|
|
|
|
|
|
|
各位朋友我也在使用CS1237做题目,发现这个芯片的重复性还好,但是一致性不好,愿意和各位朋友共同研究这个芯片的使用,我的QQ2781924513
|
|
|
|
|
|
|
|
|
各位朋友我也在使用CS1237,发现一致性重复性有些不好,我的QQ是2781924513
|
|
|
|
|
|
|
|
|
大佬们,能发一份CS1237的例程嘛,邮箱2864165038@qq.com
|
|
|
|
|
|
1 条评论
|
|
|
求助,我也遇到改现象了,CS1237 640Hz采集数据不定时跳变,降频后40Hz,恢复正常,请求大佬发一份例程,邮箱:C919Flying@163.com 谢谢!
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1202 浏览 0 评论
755 浏览 1 评论
877 浏览 0 评论
1710 浏览 1 评论
707 浏览 0 评论
CS32L010的相关资料(数据手册、用户手册、Pack包和例程等)
4377浏览 25评论
5009浏览 25评论
2544浏览 19评论
你好,CS32L010的相关资料(数据手册、用户手册、Pack包和例程等)能不能发给我下,邮箱:1937935593@qq.com,谢谢
2428浏览 10评论
2556浏览 9评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:56 , Processed in 1.001487 second(s), Total 84, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2337