打印

采样值超范围

[复制链接]
1027|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flog|  楼主 | 2013-4-4 22:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机Silabs-C8051F020,
定义数组unsingned int xdata a[1024];存放数据
程序中将每次采样值存入数组中,采样值用右端对齐,
a=adc0&0xfff;
1024个数据采完后用printf("%u",a);观察采样值,有的正常(1V输入对应1600多),有几个值很大,30000多,不知怎么回事啊?
a[i]最大应该不会超过0xfff(4095)啊,怎么会有30000多的值呢,百思不解!

相关帖子

沙发
flog|  楼主 | 2013-4-7 18:56 | 只看该作者
因为以前都是用片内自带的4Kram作为采样数据存储,没出现过这种问题。想是不是我的片外ram的原因,(因为这次连续采样数据较多,且在写如USB前还用了20K缓存,因此加了一片外ram),想问题可能在这里,今天上午将ram设置成低于4K用片内,超出4K范围用片外ram(具体在EMI0CF中设置,以前是EMI0CF=0x3f,今天改成EMI0CF=0x37),以前设置是忽略片内4Kram,全部用片外64Kram。程序其他地方没动,问题竟然没了,虽然具体原因还不太清楚。

使用特权

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

本版积分规则

4

主题

9

帖子

0

粉丝