430板子AD采集不到基准电压(Ref+)的问题解决
2010-10-22 11:48
246 查看
问题描述:
之前的板子AD采集是正确的,但是新作出来的板子(新板有稍许改动)AD采集的结果:
有的板子是对的,有的板子是错误的。错误板子的现象是基准电压(Ref+)的值都采不到。
解决方法:
在给2543的数据输入脚送入值后,一定要延迟一定时间(目的是等待送入的值稳定下来) 再给时钟送上升沿。
之前程序 :
SPI_CLK_0;
SPI_CS_0;
for (i = 0; i < 12; i++) // Loop
{
Delay_us(10);
if (cmd & 0x80)
{
SPI_OUT_1;
}
else
{
SPI_OUT_0;
}
SPI_CLK_1;
cmd = cmd << 1;
g_usADValue[iChIdx][g_iSampleNo] = g_usADValue[iChIdx][g_iSampleNo] << 1;
if (SPI_IN)
{
g_usADValue[iChIdx][g_iSampleNo] |= 0x0001;
}
Delay_us(10);
SPI_CLK_0;
}
SPI_CS_1;
之后的程序
SPI_CLK_0;
SPI_CS_0;
for (i = 0; i < 12; i++) // Loop
{
Delay_us(10);
if (cmd & 0x80)
{
SPI_OUT_1;
}
else
{
SPI_OUT_0;
}
//一定要加这一句,否则会出问题,表现在有的板子是好的,有的板子有问题
//该句的目的是:在SPI_OUT加载数据后,要等待该数据稳定
Delay_us(10);
SPI_CLK_1;
cmd = cmd << 1;
g_usADValue[iChIdx][g_iSampleNo] = g_usADValue[iChIdx][g_iSampleNo] << 1;
if (SPI_IN)
{
g_usADValue[iChIdx][g_iSampleNo] |= 0x0001;
}
Delay_us(10);
SPI_CLK_0;
}
SPI_CS_1;
之前的板子AD采集是正确的,但是新作出来的板子(新板有稍许改动)AD采集的结果:
有的板子是对的,有的板子是错误的。错误板子的现象是基准电压(Ref+)的值都采不到。
解决方法:
在给2543的数据输入脚送入值后,一定要延迟一定时间(目的是等待送入的值稳定下来) 再给时钟送上升沿。
之前程序 :
SPI_CLK_0;
SPI_CS_0;
for (i = 0; i < 12; i++) // Loop
{
Delay_us(10);
if (cmd & 0x80)
{
SPI_OUT_1;
}
else
{
SPI_OUT_0;
}
SPI_CLK_1;
cmd = cmd << 1;
g_usADValue[iChIdx][g_iSampleNo] = g_usADValue[iChIdx][g_iSampleNo] << 1;
if (SPI_IN)
{
g_usADValue[iChIdx][g_iSampleNo] |= 0x0001;
}
Delay_us(10);
SPI_CLK_0;
}
SPI_CS_1;
之后的程序
SPI_CLK_0;
SPI_CS_0;
for (i = 0; i < 12; i++) // Loop
{
Delay_us(10);
if (cmd & 0x80)
{
SPI_OUT_1;
}
else
{
SPI_OUT_0;
}
//一定要加这一句,否则会出问题,表现在有的板子是好的,有的板子有问题
//该句的目的是:在SPI_OUT加载数据后,要等待该数据稳定
Delay_us(10);
SPI_CLK_1;
cmd = cmd << 1;
g_usADValue[iChIdx][g_iSampleNo] = g_usADValue[iChIdx][g_iSampleNo] << 1;
if (SPI_IN)
{
g_usADValue[iChIdx][g_iSampleNo] |= 0x0001;
}
Delay_us(10);
SPI_CLK_0;
}
SPI_CS_1;
相关文章推荐
- AD芯片的基准参考电压问题
- 解决Yii有时候会获取不到redis数据的问题
- 多域环境下people picker查找不到用户问题的解决
- 解决IDEA 中src下读取不到xml问题
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- Ext.net里面放置KindEditor富文本框(解决KindEditor不显示和后台取不到值的问题)
- PHP CURL采集百度搜寻结果图片不显示问题的解决方法
- 解决windows10搜索不到内容的问题
- 支持Android7.0 Signature V2 Scheme 多渠道打包,并解决类似360加固后获取不到渠道信息 - 渠道统计失败的问题
- spring-boot上传文件MultiPartFile获取不到文件问题解决
- 解决SpringBoot获取不到PUT方式提交的参数的问题
- 解决eclipse连接不到genymotion的问题
- 解决nextSibling.nodeValue取不到checkbox后文本内容的问题
- 解决eclipse连接不到genymotion的问题
- 移植linux内核到s3c6410(板子u-boot网口link-down问题解决)
- Android收发UDP报文详解 及 优雅解决接收不到问题
- 解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
- 解决ajax请求后台,有时收不到返回值的问题
- mac安装wireshark,tcpdump解决抓不到包的问题
- 解决apache/nginx做反向代理导致request.getServerName()外网环境获取不到代理地址(或域名)的问题