注册 登录
查看: 878|回复: 34

KL26引脚问题

[复制链接]
发表于 2014-5-18 13:30:47 | 显示全部楼层 |阅读模式
我下载了那个管教的PDF,但是里面知识说了山外配套外设的接口吧,我自己写程序测试PWM都不知道对应的是哪个引脚,比如TPM0, TPM_CH3是哪个引脚?关于这些引脚第二功能的详细引脚图有么?希望给我一份,谢谢了


回复

使用道具 举报

发表于 2014-5-18 14:10:07 | 显示全部楼层
这个需要看 管脚复用在工程根目录下\Board\inc\FIRE_PORT_cfg.h  (打开看看,很容易知道如何配置的)

工程的常用配置在工程根目录下\Board\inc\ FIRE_MK60_conf.h  (printf函数和超频,延时等相关函数配置)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-18 21:57:31 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-18 14:10
这个需要看 管脚复用在工程根目录下\Board\inc\FIRE_PORT_cfg.h  (打开看看,很容易知道如何配置的)

工 ...

我用IAR6.5、6.3、7.1编译这个工程后用go to define 不好使,用6.7没问题,请问怎么解决?我按照网上的办法设置了没有用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-18 22:02:33 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-18 14:10
这个需要看 管脚复用在工程根目录下\Board\inc\FIRE_PORT_cfg.h  (打开看看,很容易知道如何配置的)

工 ...

顺便问一下,KL26里面没看到ISR.h,不用设置中断向量么
回复 支持 反对

使用道具 举报

发表于 2014-5-18 23:20:50 | 显示全部楼层
zh522130 发表于 2014-5-18 21:57
我用IAR6.5、6.3、7.1编译这个工程后用go to define 不好使,用6.7没问题,请问怎么解决?我按照网上的办 ...

IAR都是有的,最好还是用Source Insight,山外哥的K60视频有讲。
回复 支持 反对

使用道具 举报

发表于 2014-5-18 23:22:47 | 显示全部楼层
zh522130 发表于 2014-5-18 22:02
顺便问一下,KL26里面没看到ISR.h,不用设置中断向量么

在MKL_it.c文件里啊,ISR.c 其实就是MKL_it.c。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 19:59:22 | 显示全部楼层
栾端静 发表于 2014-5-18 23:22
在MKL_it.c文件里啊,ISR.c 其实就是MKL_it.c。

我找了DMA,PIT等的MK_it.c  .h里面都没有看到任何关于中断向量的申明啊?不可能所有例程都没有用到中断啊
回复 支持 反对

使用道具 举报

发表于 2014-5-19 20:02:44 | 显示全部楼层
zh522130 发表于 2014-5-19 19:59
我找了DMA,PIT等的MK_it.c  .h里面都没有看到任何关于中断向量的申明啊?不可能所有例程都没有用到中断啊 ...

参考我们K60视频,我们的KL26 代码,有两种中断方式,例程中用的是set_vector_handler函数设置中断函数,而之前旧版本代码用的是ISR.C文件重定向。

关于ISR.C中断文件的问题 - 智能车讨论区 - 山外-vcan123论坛 http://www.vcan123.com/forum.php?mod=viewthread&tid=3892
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 20:08:13 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-19 20:02
参考我们K60视频,我们的KL26 代码,有两种中断方式,例程中用的是set_vector_handler函数设置中断函数, ...

意思是我现在拷贝一个KL26的例程,不自己建工程,在例程的基础上写自己的函数,就按照例程那种方式调用中段初始化函数,就不用像旧版本一样重定向中断向量了?直接初始化之后就能用,是么?谢谢了,刚接触KL26
回复 支持 反对

使用道具 举报

发表于 2014-5-19 20:10:12 | 显示全部楼层
zh522130 发表于 2014-5-19 20:08
意思是我现在拷贝一个KL26的例程,不自己建工程,在例程的基础上写自己的函数,就按照例程那种方式调用中 ...

是的,两种方法,任选一种即可。

旧版本的方法,很多人老是出错(语法错误,或者重定向失败),所以我们直接初始化配置中断函数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 20:11:43 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-19 20:10
是的,两种方法,任选一种即可。

旧版本的方法,很多人老是出错(语法错误,或者重定向失败),所以我 ...

好的,谢谢了,如果有问题再请教,回复效率真是高,谢谢山外哥
回复 支持 反对

使用道具 举报

发表于 2014-5-19 20:13:01 | 显示全部楼层
zh522130 发表于 2014-5-19 20:11
好的,谢谢了,如果有问题再请教,回复效率真是高,谢谢山外哥

只要我们不是忙着干其他事情,一般打开论坛客户端,你一发帖,我们就可以容易看到
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 20:47:10 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-19 20:13
只要我们不是忙着干其他事情,一般打开论坛客户端,你一发帖,我们就可以容易看到

再问一个问题,ADC0_DP,ADC0_SE6a,ADC0_SE6b,ADC0_RES有什么区别?
回复 支持 反对

使用道具 举报

发表于 2014-5-19 21:09:49 | 显示全部楼层
zh522130 发表于 2014-5-19 20:47
再问一个问题,ADC0_DP,ADC0_SE6a,ADC0_SE6b,ADC0_RES有什么区别?

adc管脚,具体自行看手册,不是每个管脚都可以用ADC软件触发采集的,看代码注释。
ADC0_RES 这个是保留的意思,没用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 21:27:01 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-19 21:09
adc管脚,具体自行看手册,不是每个管脚都可以用ADC软件触发采集的,看代码注释。
ADC0_RES 这个是保留的 ...

TPM_MOD_MOD_MASK等同于FTM_MODE_WPDIS_MASK么?我在移植程序,从K60移植到KL26,很多不是太懂,之前用的k60
回复 支持 反对

使用道具 举报

发表于 2014-5-19 21:28:56 | 显示全部楼层
zh522130 发表于 2014-5-19 21:27
TPM_MOD_MOD_MASK等同于FTM_MODE_WPDIS_MASK么?我在移植程序,从K60移植到KL26,很多不是太懂,之前用的 ...

为啥要自己移植?山外哥不是写好函数接口的吗?
寄存器这些,必须看手册,才知道是啥内容。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 21:31:15 | 显示全部楼层
微粒子 发表于 2014-5-19 21:28
为啥要自己移植?山外哥不是写好函数接口的吗?
寄存器这些,必须看手册,才知道是啥内容。

K60直立程序写好了,移植到Kl26
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 21:32:24 | 显示全部楼层
这个是写保护禁止,KL26中没看到
回复 支持 反对

使用道具 举报

发表于 2014-5-19 21:32:34 | 显示全部楼层
zh522130 发表于 2014-5-19 21:31
K60直立程序写好了,移植到Kl26

山外哥KL26也有写好的直立。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 21:36:14 | 显示全部楼层
微粒子 发表于 2014-5-19 21:32
山外哥KL26也有写好的直立。

我没找到啊
回复 支持 反对

使用道具 举报

发表于 2014-5-19 21:40:25 | 显示全部楼层
zh522130 发表于 2014-5-19 21:38
void FTM1_QUAD_Iint(void)
{
        PORTA_PCR8= PORT_PCR_MUX(6);

KL26 本来就没有正交解码,怎么移植,都移植不了。

【KL26】有几路脉冲计数器啊, 双电机怎么测速呢?? - 智能车讨论区 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... tid=3020&ctid=9
回复 支持 反对

使用道具 举报

发表于 2014-5-19 21:40:46 | 显示全部楼层
zh522130 发表于 2014-5-19 21:36
我没找到啊

就是在初级篇和中级篇里面。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 21:42:26 | 显示全部楼层
丁玉 发表于 2014-5-19 21:40
就是在初级篇和中级篇里面。

求给链接,真没找到
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 21:53:58 | 显示全部楼层
丁玉 发表于 2014-5-19 21:40
KL26 本来就没有正交解码,怎么移植,都移植不了。

【KL26】有几路脉冲计数器啊, 双电机怎么测速呢? ...

http://www.vcan123.com/forum.php?mod=viewthread&tid=1282,这个帖子连接都失效了
回复 支持 反对

使用道具 举报

发表于 2014-5-19 21:59:02 | 显示全部楼层
zh522130 发表于 2014-5-19 21:53
http://www.vcan123.com/forum.php?mod=viewthread&tid=1282,这个帖子连接都失效了

等山外哥来修复呗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-19 22:06:52 | 显示全部楼层
丁玉 发表于 2014-5-19 21:59
等山外哥来修复呗

我看到KL26定义了PIT0,PIT1,但是中断向量只有一个中断向量PIT_VECTORn,是两个PIT共用一个向量?还是???
回复 支持 反对

使用道具 举报

发表于 2014-5-19 22:14:19 | 显示全部楼层
zh522130 发表于 2014-5-19 22:06
我看到KL26定义了PIT0,PIT1,但是中断向量只有一个中断向量PIT_VECTORn,是两个PIT共用一个向量?还是?? ...

是共用的,看例程
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-20 19:22:31 | 显示全部楼层
丁玉 发表于 2014-5-19 22:14
是共用的,看例程

void HardFault_Handler(void)
{
    while (1)
    {
                printf("\n****硬件上访错误!!!*****\r\n\n");
                lptmr_delay_ms(100);
    }
}

K60种的这个硬件上访在kl26中需要么?k60中ISR.c,。h移植到kl26必须放到MK_it.c,.h么?还是不用改名都可以,直接用ISR.c.h,谢谢了
回复 支持 反对

使用道具 举报

发表于 2014-5-20 19:24:06 | 显示全部楼层
zh522130 发表于 2014-5-20 19:22
void HardFault_Handler(void)
{
    while (1)

MK_it.c 其实就是旧版本代码的 ISR.c。
之前在 isr.c 里如何调用的,那么就如何写进 MK_it.c
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-20 19:54:52 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-20 19:24
MK_it.c 其实就是旧版本代码的 ISR.c。
之前在 isr.c 里如何调用的,那么就如何写进 MK_it.c

谢谢,了解,
void PIT_init(void)
{
   pit_init_ms(PIT0,1);
   set_vector_handler(PIT_VECTORn ,PIT0_IRQHandler);
   pit_init_ms(PIT1,20);
   set_vector_handler(PIT_VECTORn ,PIT1_IRQHandler);
   enable_irq (PIT_IRQn);

}

我这样设置了PIT0,PIT1,发现PIT1能进去,PIT0进不去
回复 支持 反对

使用道具 举报

发表于 2014-5-20 20:06:19 | 显示全部楼层
zh522130 发表于 2014-5-20 19:54
谢谢,了解,
void PIT_init(void)
{
  1.    set_vector_handler(PIT_VECTORn ,PIT0_IRQHandler);
  2.    set_vector_handler(PIT_VECTORn ,PIT1_IRQHandler);
两者共用相同的中断号,需要在中断里根据标志位来判断是哪个中断。
你两次写入,等效于 PIT1_IRQHandler 有效。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-20 20:54:35 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-20 20:06
两者共用相同的中断号,需要在中断里根据标志位来判断是哪个中断。
你两次写入,等效于 PIT1_IRQHandler ...

懂了,PIT怎么用标志位判断,看到例程里面用的都是PIT0
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-20 21:13:05 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-20 20:06
两者共用相同的中断号,需要在中断里根据标志位来判断是哪个中断。
你两次写入,等效于 PIT1_IRQHandler ...

谢谢了,再解答一下这个问题吧,怎么用标志位判断PIT中断?就卡在这一步了,例程没找到这个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-20 21:15:00 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-20 20:06
两者共用相同的中断号,需要在中断里根据标志位来判断是哪个中断。
你两次写入,等效于 PIT1_IRQHandler ...

PIT_TFLG(PIT0) == 1是这个吧,
回复 支持 反对

使用道具 举报

发表于 2014-5-20 22:49:16 | 显示全部楼层
zh522130 发表于 2014-5-20 21:13
谢谢了,再解答一下这个问题吧,怎么用标志位判断PIT中断?就卡在这一步了,例程没找到这个

例程的中断函数里面就有啊,注释写得很明显
回复 支持 反对

使用道具 举报

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

本版积分规则

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