完善资料让更多小伙伴认识你,还能领取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 个讨论
|
|
|
我也是,我640HZ偶尔读出来异常。而且不同温度是不是精度不同?
|
|
|
|
|
|
|
|
|
各位朋友我也在使用CS1237做题目,发现这个芯片的重复性还好,但是一致性不好,愿意和各位朋友共同研究这个芯片的使用,我的QQ2781924513
|
|
|
|
|
|
|
|
|
各位朋友我也在使用CS1237,发现一致性重复性有些不好,我的QQ是2781924513
|
|
|
|
|
|
|
|
|
大佬们,能发一份CS1237的例程嘛,邮箱2864165038@qq.com
|
|
|
|
|
|
1 条评论
|
|
|
求助,我也遇到改现象了,CS1237 640Hz采集数据不定时跳变,降频后40Hz,恢复正常,请求大佬发一份例程,邮箱:C919Flying@163.com 谢谢!
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
579 浏览 0 评论
麻烦厂家发一份CS1238/CS1237的驱动给我,STC单片机的。顺便发一个带基准电压的电路给参考一下
1309 浏览 0 评论
667 浏览 2 评论
1095 浏览 1 评论
使用CS1232 采集一个小信号,信号有可能是正,也可能是负 ,是不知道怎么回事情?
902 浏览 0 评论
6664浏览 45评论
5303浏览 34评论
1597浏览 10评论
3505浏览 9评论
1907浏览 9评论
/6
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:10 , Processed in 0.669114 second(s), Total 66, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1040