FSL_TICS_ZP 发表于 2014-2-10 15:46:30

【经验分享】FRDM-KE02的Adc_demo例程的绿灯咋点不亮呢?

本帖最后由 FSL_TICS_Robin 于 2014-7-18 14:15 编辑

   手上有FRDM-KE02板子的童鞋们在调试Adc_demo例程时,是否发现绿灯始终点不亮,而换成蓝灯或红灯时,就又可以点亮啊。咋回事呢?在仔细检查核对绿灯点亮的操作代码后,又没有发觉有不对劲的地方,真是很抓狂啊!那到底是什么原因呢?首先,还是请出KE02的参考手册,在表10.1中列出引脚的各种复用功能,但有一点要引起注意,KE02的复用功能设置与K、L系列有本质的区别,没有相应的MUX位来进行设置,而是采用优先级分配的原则,如果优先级高的复用功能使能后,优先级低的复用功能就会被禁用(如图1所示)。根据这个提示,我们会发现PTH2有BUSOUT、FTM_CH0复用功能,是不是其中一个复用功能在例程代码中被使能了,从而导致PTH2不能作为GPIO工作啊?按照此猜测,我们可以重新检查一下例程,这时,我们会发现在sysint.c中,果然有使能BUSOUT功能的代码(如图2所示)。哈哈,问题解决啊,这也给了我们正确使用I/O复用功能很好的提示!!!

图1

图2




PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营的飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。

FSL_TICS_ZJJ 发表于 2014-2-10 16:28:20

支持楼主,也欢迎大家分享调试经验!

ln08136207 发表于 2014-2-12 15:13:11

版主,同样的问题,关于ADC中有两个寄存器,有一些疑问:
在寄存器AD_SC1中,ADCH(bit0~bit4)功能是选择一个通道作为ADC的输入通道。
寄存器ADC_APCTL1功能是disable/enable ADC Pin.而且是:

0 ADx pin I/O control enabled.
1 ADx pin I/O control disabled.

我在ADC的例程里面找到了对ADCH的操作,没有见到对ADC_APCTL1的操作。

问题1:在引脚图中,ADCx_SEn的优先级都是最高的(ALT 4),那么,在使能ADC模块的情况下(SIM->SCGC |= SIM_SCGC_ADC_MASK;),如果要使用FTM0_CH0(ADC0_SE0)功能,
          是不是就要对ADC_APCTL1操作,disable AD0?

问题2:在AN4796这份文档中,有下面一段:

6.3.4 AD转换
ADC模块用来进行相反电动势,直流母线电压和直流母线电流的采样及转换,配置如下:
 输入时钟为总线时钟
 单次转换模式
 转换结果12位,右对齐
ADC->SC3 = ADC_SC3_MODE(2) | ADC_SC3_ADIV(2);
 使用外部PWM信号触发
ADC->SC2 |= ADC_SC2_ADTRG_MASK;
 采样通道设置为:直流母线DC_Bus电压为通道AD11,直流母线DC_Bus电流为通道AD14,
A相反电势为通道AD10,B相反电势为通道AD3,C相反电势为通道AD7
ADC->APCTL1 = 0xC488;


这里面使能 AD3,AD7,AD11,AD14是通过对ADC->APCTL1 寄存器赋值0xC488;也就是置高bit3,bit7,bit14,bit15

这个操作好像和寄存器的说明矛盾,而且为什么通过置高bit15来使能AD11?

laotui 发表于 2014-8-25 18:55:52

碰到过这个问题,当时调试到LED初始化时卡住了,原来是这样。

浪里白条 发表于 2014-8-25 19:29:07

现在的MCU越来越复杂,不弄仔细点就容易遇到各种各样的问题,
感谢版主的经验分享呢。

sdlibin007 发表于 2014-8-28 16:57:45

看得云里雾里!!

laotui 发表于 2014-8-28 17:05:16

在IAR里的话就是把#define OUTPUT_BUSCLK这个宏定义注释掉,
不要使能BUSOUT功能就好了。

carollim 发表于 2014-8-28 17:13:04


支持楼主,也欢迎大家分享调试经验!

jiang887786 发表于 2014-9-1 09:28:25

谢谢分享,先收了,板子快到了,呵呵

Ray______ 发表于 2014-12-28 18:35:30

版主,我想说AD例程运行会卡在default_isr,进行不到下面,isr里有重定义的,是怎么回事啊

franki 发表于 2014-12-28 22:47:49

原来是KE02的复用功能设置与K、L系列有较大的区别。谢谢楼主的经验分享

FSL_TICS_ZP 发表于 2014-12-29 08:48:36

Ray______ 发表于 2014-12-28 18:35
版主,我想说AD例程运行会卡在default_isr,进行不到下面,isr里有重定义的,是怎么回事啊 ...

这说明你的中断函数与中断向量没有对应起来,你再仔细检查一下吧!

FSL_TICS_ZP 发表于 2014-12-29 08:50:44

franki 发表于 2014-12-28 22:47
原来是KE02的复用功能设置与K、L系列有较大的区别。谢谢楼主的经验分享

是的,所以客户应用时,对于这一点还是需要注意的。

fengyunyu 发表于 2014-12-29 09:48:20

关注一下,空了慢慢看!

Ray______ 发表于 2014-12-29 10:31:22

我去,还的确是

franki 发表于 2014-12-29 11:01:26

FSL_TICS_ZP 发表于 2014-12-29 08:50
是的,所以客户应用时,对于这一点还是需要注意的。

谢谢提醒 。

Ray______ 发表于 2014-12-29 14:50:49

FSL_TICS_ZP 发表于 2014-12-29 08:48
这说明你的中断函数与中断向量没有对应起来,你再仔细检查一下吧!

那个有检查过的了,我发现是ADFIFO那段初始化导致的,我用循环外的初始化就正常。

FSL_TICS_ZP 发表于 2014-12-29 15:16:04

Ray______ 发表于 2014-12-29 14:50
那个有检查过的了,我发现是ADFIFO那段初始化导致的,我用循环外的初始化就正常。 ...

找到原因就好!

Juggernaut 发表于 2014-12-29 15:34:06

想要板子下载

ijlc1314 发表于 2014-12-30 12:11:44

昨晚自己建工程也是点不亮,后来把BUSOUT禁止了就可以了

ijlc1314 发表于 2014-12-30 12:13:01

没示波器,BUSOUT输出的是什么呢。如果是方波,灯应该会亮才对

FSL_TICS_ZP 发表于 2014-12-30 13:40:26

ijlc1314 发表于 2014-12-30 12:13
没示波器,BUSOUT输出的是什么呢。如果是方波,灯应该会亮才对

请参考此贴文章。
http://www.amobbs.com/thread-5569833-1-1.html?_dsign=2a2786f7

wicy001 发表于 2015-1-7 11:34:05

昨天也是奇怪了, LED1_On()点亮不了,还以为灯坏了。
后来下载demo,发现灯好使。 用LED_DriveByFtm()和SET_LED_GREEN(300),可以点亮。

一点一点看代码和用户手册,费了不少时间,才找到原因。

昨天看手册(P473- P475),关于PIT,定时器可以级联,手册里还举了个例子timer1和timer2。
这个timer1,timer2是怎么论的,Ke02不是只有一个timer(PIT)吗? 这个time1,2是指channel1,2?

中间还有个例子(27.5)更是提到time3,更糊涂了。

Ray______ 发表于 2015-1-8 13:08:52

的确,亲测如此,感觉飞思的时钟种类好多好复杂,有没有对于这一方面的小教程

FSL_TICS_ZP 发表于 2015-1-8 14:52:30

Ray______ 发表于 2015-1-8 13:08
的确,亲测如此,感觉飞思的时钟种类好多好复杂,有没有对于这一方面的小教程 ...

你是说MCG的时钟模式配置吗?

Ray______ 发表于 2015-1-8 15:04:19

FSL_TICS_ZP 发表于 2015-1-8 14:52
你是说MCG的时钟模式配置吗?

不知怎么表达,现在都是基于库开发,看到里面一些时钟分配,有MCG,有BUS,有FLASH~有点混乱

FSL_TICS_ZP 发表于 2015-1-8 15:15:15

Ray______ 发表于 2015-1-8 15:04
不知怎么表达,现在都是基于库开发,看到里面一些时钟分配,有MCG,有BUS,有FLASH~有点混乱 ...

请参考Kinetis 系统时钟经验分享,链接如下
http://www.amobbs.com/thread-5557128-1-1.html?_dsign=15c6744f

brbl 发表于 2015-1-9 00:24:07

如果复杂那他可能就强大了......

jinyi7016 发表于 2015-1-9 23:04:46

都没注意,楼主说了才注意到。
页: [1]
查看完整版本: 【经验分享】FRDM-KE02的Adc_demo例程的绿灯咋点不亮呢?