智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1269|回复: 5
打印 上一主题 下一主题

新人求助,关于K60的问题:ADC0和某一个GPIO接时采样正确,换GPIO或者ADC均错误

[复制链接]

2

主题

7

帖子

0

精华

注册会员

Rank: 2

积分
144
威望
70
贡献
48
兑换币
40
注册时间
2016-1-30
在线时间
13 小时
毕业学校
浙江大学
跳转到指定楼层
1#
发表于 2016-2-27 21:39:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先是端口配置是这样的
于是我就将k60这样连接PTB0(ADC)连PTB20(GPIO)


然后得出来正常的采样,如图

不过在把ADC换到PTA17(ADC1_SE17),也就是第一根针的时候就不对了。数据完全是乱的(见后面一幅图)
怀疑是ADC出了问题,我又把ADC接回最开始的,然后把GPIO换了,输出也不对。
最奇怪的是,我把两个ADC都打开测试,PTB20(最开始采样正确的GPIO)换着接两个ADC的结果都一样,输出一直是PTB0所在的ADC的!也就是后来的ADC1_SE17不管接不接都是错的,而GPIO接到ADC1_SE17上时ADC0_SE8还是有正确的输出,


请问大家这是怎么回事?
代码如下:
  1.         gpio_set(PTB2,1);
  2.         //gpio_set(PTA17,1);
  3.         
  4.         gpio_set(PTB21,1);
  5.         gpio_set(PTB20,1);
  6.         gpio_set(PTB11,1);
  7.         var = adc_once   (ADC0_SE8, ADC_8bit);
  8.         var2 = adc_once   (ADC1_SE17, ADC_8bit);
  9.         printf("高电平:ADC0_SE8 %d ADC1_SE17 %d\n",var,var2);                              
  10.         DELAY_MS(500);                      //延时500ms

  11.         gpio_set(PTB2,0);
  12.         //gpio_set(PTA17,0);
  13.         
  14.         gpio_set(PTB21,0);
  15.         gpio_set(PTB20,0);
  16.         gpio_set(PTB11,0);
  17.         var = adc_once   (ADC0_SE8, ADC_8bit);
  18.         var2 = adc_once   (ADC1_SE17, ADC_8bit);
  19.         printf("低电平:ADC0_SE8 %d ADC1_SE17 %d\n",var,var2);                              
  20.         DELAY_MS(500);                      //延时500ms
复制代码


想请教大家这些问题:
1、为什么ADC正常工作时,GPIO更换之后是错误的
2、为什么GPIO正常工作时,更换ADC之后采样是错误的
3、为什么ADC接板子上的GND或者VCC采集数据还是杂乱的?不是应该是0或者255(或者固定的某个电压值)吗?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

2

主题

7

帖子

0

精华

注册会员

Rank: 2

积分
144
威望
70
贡献
48
兑换币
40
注册时间
2016-1-30
在线时间
13 小时
毕业学校
浙江大学
2#
 楼主| 发表于 2016-2-27 21:42:48 | 只看该作者
另外我换我室友的板子得出来的现象是一样的,不像是硬件问题
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
威望
155
贡献
94
兑换币
101
注册时间
2015-11-7
在线时间
27 小时
毕业学校
电子科技大学
3#
发表于 2016-2-29 11:37:42 | 只看该作者
三个问题,我觉得应该是这样:
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
威望
155
贡献
94
兑换币
101
注册时间
2015-11-7
在线时间
27 小时
毕业学校
电子科技大学
4#
发表于 2016-2-29 12:02:21 | 只看该作者
你最好把GPIOset()
adc_once()
还有程序里的引脚配置都贴出来
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
威望
155
贡献
94
兑换币
101
注册时间
2015-11-7
在线时间
27 小时
毕业学校
电子科技大学
5#
发表于 2016-2-29 12:03:36 | 只看该作者
如果说是程序问题,你好好看看程序里引脚功能的具体配置
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

注册会员

Rank: 2

积分
144
威望
70
贡献
48
兑换币
40
注册时间
2016-1-30
在线时间
13 小时
毕业学校
浙江大学
6#
 楼主| 发表于 2016-2-29 19:52:35 | 只看该作者
kkwe123 发表于 2016-2-29 12:03
如果说是程序问题,你好好看看程序里引脚功能的具体配置

感谢,已解决问题,最后发现是连线问题。被自己坑惨了
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-16 02:50 , Processed in 0.064013 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表