打印
[STM8]

STM8驱动ADS1230,ADS1230好像没有启动

[复制链接]
1156|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianye907|  楼主 | 2017-8-22 14:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM8驱动ADS1230,ADS1230好像没有启动。读取的数据一直是1048575 DOUT一直都是高电平3.28V DS1230是5V供电,参考电压也是5V这是为啥?
程序如下:

//STM8驱动,从MSP430上移植过来的

#include "ads1230.h"
void int_ADS1230IO(void)//相关引脚初始化
{
GPIO_Init(GPIOC,GPIO_PIN_2, GPIO_MODE_OUT_PP_HIGH_FAST );
GPIO_Init(GPIOC,GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST );
GPIO_Init(GPIOC,GPIO_PIN_4, GPIO_MODE_IN_PU_NO_IT );
}
/*****************************************************************************
函数名称:ReadAD(void)
功 能:读AD
入口参数:无
返回参数:AD的转换结果,为long型
使用资源:无
******************************************************************************/
long ReadAD(void)
{
long ADdatatemp=0; //设置AD转换的初始值为0
for(unsigned char i = 0;i < 20;i ++) //获取20位数据
{
ADS_CLK_H();
Delayus();
ADS_CLK_L();
ADdatatemp = ADdatatemp << 1;
if(ADS_DATA_HI) //AD输出的数据位是1?
{
ADdatatemp++;
}
Delayus();
}
for(unsigned char i = 0;i < 4;i ++) //为下一次转换准备
{
ADS_CLK_H(); //ADS_OUT |= ADS_CLK_BIT;
Delayus();
ADS_CLK_L(); //ADS_OUT &= ~ADS_CLK_BIT;
Delayus();
}
AD_OFF();
return(ADdatatemp);
}


/*****************************************************************************
函数名称:void OffsetAD()
功 能:一个补偿函数,补偿AD1230的标尺误差
入口参数:无
返回参数:无
使用资源:无
******************************************************************************/
void OffsetAD()
{
while(ADS_DATA_HI); //AD数据转换好?(ADS_IN & ADS_DATA_BIT)//AD_CLK输出位1
for(unsigned char i = 0;i < 26;i ++) //发送26个CLK
{
ADS_CLK_H();
Delayus();
ADS_CLK_L();
Delayus();
}
}


/*****************************************************************************
函数名称:void InitADline(void)
功 能:初始化AD控制线
入口参数:无
返回参数:无
使用资源:port2
******************************************************************************/
void InitADline(void)
{
int_ADS1230IO();//相关引脚初始化
ADS_CLK_L(); // ADS_OUT &= ~ADS_CLK_BIT;
AD_OFF(); // ADS_OUT &= ~ADS_PD_BIT;
}
沙发
airwill| | 2017-8-22 15:49 | 只看该作者
本帖最后由 airwill 于 2017-8-22 15:50 编辑

从MSP430上移植过来的, 先检查, 如果硬件没有问题,  供电连接正确
那就请示波器帮助, 验证时序吧.

使用特权

评论回复
板凳
mmuuss586| | 2017-8-22 16:10 | 只看该作者
硬件问题:芯片问题,焊接;
程序问题:时序没处理好;
都有可能啊,自己慢慢查

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

74

主题

457

帖子

6

粉丝