哪个哥们提供一下12位AD芯片,单通道,需要外部基准电压,价格在40元以内的…… 感谢!

哪个哥们提供一下12位AD芯片,单通道,需要外部基准电压,价格在40元以内的…… 感谢!,第1张

ADS1286,外部基准,12位,单通道,转换速率37kSPS,工作电压5V,SPI口输出。价格30元左右(零售价);

ADS7816,外部基准,12位,单通道,转换速率200kSPS,工作电压5V,SPI口输出。价格30元以内(零售价);

ADS7817,外部基准,12位,单通道,转换速率200kSPS,工作电压5V,SPI口输出。价格40元以内(零售价);

ADS7822,外部基准,12位,单通道,转换速率75kSPS,工作电压范围2.7~5.25V,SPI口输出。价格25元以内(零售价),以上都是TI的产品。

我不是神人,但我希望可以帮你解决问题,呵呵……

首先,我有个小问题,你要求算的是2+4+8+……+100,是不是2的1次方,2次方,3次方?如果是,那应该是2+4+8+16+32+64,怎么有还加100呢?或者你笔误,应该是2—100之间的偶数相加呢?

好,下面来解决你的问题:

1.用ADS1.2运行你的加法程序,要注意一点就是ADS不能直链接运行C遍出来的程序,要用汇编代码启动。下面是启动代码startup.s文件(我空间有关于这个代码的分析,你可以去看看):

IMPORT |Image$$RO$$Limit|

IMPORT |Image$$RW$$Base|

IMPORT |Image$$ZI$$Base|

IMPORT |Image$$ZI$$Limit|

IMPORT Main 声明C程序中的Main()函数

AREA Start,CODE,READONLY 声明代码段Start

ENTRY标识程序入口

CODE32声明32位ARM指令

Reset LDR SP,=0x40003F00

初始化C程序的运行环境

LDR R0,=|Image$$RO$$Limit|

LDR R1,=|Image$$RW$$Base|

LDR R3,=|Image$$ZI$$Base|

CMP R0,R1

BEQ LOOP1

LOOP0 CMP R1,R3

LDRCC R2,[R0],#4

STRCC R2,[R1],#4

BCC LOOP0

LOOP1 LDR R1,=|Image$$ZI$$Limit|

MOV R2,#0

LOOP2 CMP R3,R1

STRCC R2,[R3],#4

BCC LOOP2

B Main 跳转到C程序代码Main()函数

END

2. 启动代码写好后,再编写C代码,运行你的程序(按你的意思算)

#define uint8 unsigned char //这两个宏定义是ADS里面防止数据溢出带的

#define uint32 unsigned int

#define N 100

uint32 sum

// 使用加法运算来计算2+4+8+……+N的值。

void Main(void)

{ uint32 i

sum = 0

for(i=0i<=Ni=i*2)

{ sum += i

}

while(1)

}

3. 这两个程序合在一起才是是完整的ADS实现程序,希望可以解决你的困惑。

祝你进步!

好像库都找不到了。

问题就出在Program Files (x86)那个括号上。ADS是1997年的产品,对本地化支持不好。

这种情况只会出现在WIN7 X64的系统下,x32下没有Program Files (x86)的目录,不会有这样的问题。

所以ADS的所有访问的路径,不能有文中或特殊符号。

解决方法:你把ADS安装在C根目录下就可以。比如:C:\ARM\ADSv1_2。

还有运行ADS时需要以管理员身份启动。

参考:http://www.huomo.cn/os/article-199dd.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11898547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存