3638|4

11

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ads1118模拟spi驱动问题 [复制链接]

本帖最后由 dontium 于 2015-1-23 11:36 编辑

ads1118驱动,模拟spi,相关代码如下
unsigned int spi_sendRecvWord(unsigned int c) { unsigned int data = 0; unsigned int shift = 0x8000; int i = 0; //while(!(ADS1118_DO_X)) ADS1118_SCK_0; delay_us(120); for ( i = 0; i < 16; i++) { if (c & shift) {ADS1118_DI_1;} else {ADS1118_DI_0;} if(ADS1118_DO_X) data|=shift; ADS1118_SCK_1; delay_us(60); //if(ADS1118_DO_X) //data|=shift; ADS1118_SCK_0; delay_us(60); (shift) >>= 1; }
return data; }
float ADS1118_V(void) { unsigned int adc=0; unsigned int Config_Register; float value=0; Config_Register =0x8393; ADS1118_CS_0; while((ADS1118_DO_X)) {ADS1118_SCK_1; delay_us(60); ADS1118_SCK_0; delay_us(60); } delay_us(100); adc = spi_sendRecvWord(Config_Register); spi_sendRecvWord(0x0000); /* adc = spi_sendRecvWord(Config_Register); value=adc; return value; }
具体问题是无论我怎么改变写入控制字以及测量输入量,dout返回的都是如下错误波形,大家看看是什麽情况
图一:黄sclk,蓝dout
图二黄sclk,蓝din
图三,黄dout,蓝din

最新回复

求份程序,看的我好头大...   详情 回复 发表于 2014-8-9 21:09
点赞 关注

回复
举报

11

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
本帖最后由 dontium 于 2015-1-23 11:36 编辑

自己顶
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没人再顶,不能沉了
 
 
 

回复

32

帖子

2

TA的资源

一粒金砂(初级)

4
 
我也刚玩了ADS1118

点评

求份程序,看的我好头大...  详情 回复 发表于 2014-8-9 21:09
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

5
 

求份程序,看的我好头大...
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表