打印
[Kinetis]

kinetis 中断疑问

[复制链接]
1936|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
defalut|  楼主 | 2014-6-16 12:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
FRDM-KL26Z_SC\FRDM-KL26Z_SC_Rev_1.0\klxx-sc-baremetal\src\cpu\arm_cm0.c 里的三个函数
void enable_irq (int irq)
void disable_irq (int irq)
void set_irq_priority (int irq, int prio)

copy到PE工程里不起作用。 求解决方法,
void TPM0_Init(void)
{
  //enable_irq_backup(17); set_irq_priority_backup(17, 3);   
  TPM0_CNT = 0;
  TPM0_MOD = 0x12C0;
  TPM0_SC = TPM_SC_TOIE_MASK|TPM_SC_CMOD(1);
  TPM0_C1SC = TPM_CnSC_MSB_MASK| TPM_CnSC_ELSB_MASK;
  TPM0_C1V = 0x00;
  TPM0_C2SC = TPM_CnSC_MSB_MASK| TPM_CnSC_ELSA_MASK;
  TPM0_C2V = 0x00;
  
  //TPM0_C1SC |=  (1<<6);
  //TPM0_C2SC |=  (1<<6);
  TPM0_SC |= (1<<6);
}

相关帖子

沙发
defalut|  楼主 | 2014-6-16 12:30 | 只看该作者
NVIC_ICPR  ,NVIC_ISER 这两寄存器在规格书里都找不到。

使用特权

评论回复
板凳
FSL_TICS_Robin| | 2014-6-16 13:41 | 只看该作者
PE的工程在Generated_Code文件夹的Cpu.c中有Cpu_EnableInt、Cpu_DisableInt函数的。

使用特权

评论回复
地板
FSL_TICS_Robin| | 2014-6-16 13:51 | 只看该作者
defalut 发表于 2014-6-16 12:30
NVIC_ICPR  ,NVIC_ISER 这两寄存器在规格书里都找不到。

这两个寄存器是属于内核的,所以没有在芯片参考手册里说明。
你可以去ARM官网搜索ARMv6-M Architecture Reference Manual 手册,在这手册中就有NVIC寄存器的描述。

使用特权

评论回复
5
defalut|  楼主 | 2014-6-16 14:10 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-16 13:41
PE的工程在Generated_Code文件夹的Cpu.c中有Cpu_EnableInt、Cpu_DisableInt函数的。

找遍了,没有!

使用特权

评论回复
6
FSL_TICS_Robin| | 2014-6-16 14:30 | 只看该作者
defalut 发表于 2014-6-16 14:10
找遍了,没有!

可能你的PE工程在创建的时候就没有Enable这两函数。


使用特权

评论回复
7
defalut|  楼主 | 2014-6-16 14:37 | 只看该作者
我这个是别人的工程。
你那个是总中断,跟
void enable_irq (int irq)
void disable_irq (int irq)
void set_irq_priority (int irq, int prio)
完全不是一回事。

我一楼TPM0初始化 死活都不进中断。
这段初始化是从IAR工程里拷出来的,就是那几个寄存器。

使用特权

评论回复
8
FSL_TICS_Robin| | 2014-6-16 15:27 | 只看该作者
defalut 发表于 2014-6-16 14:37
我这个是别人的工程。
你那个是总中断,跟
void enable_irq (int irq)

不好意思,没看清楚。 如果是PE生成的代码,那么在PE生成的时候是有选项让你选择是否要开启某个中断,以及其中断优先级选择的。
你现在那个程序是已经导入到IAR了,还是PE的工程还没导过去? 没导过去的话修改PE选项就行了,KL26-SC里PE文件夹下用CodeWarrior10.x环境的那些工程就可以直接这么操作。

使用特权

评论回复
9
defalut|  楼主 | 2014-6-16 16:24 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-16 15:27
不好意思,没看清楚。 如果是PE生成的代码,那么在PE生成的时候是有选项让你选择是否要开启某个中断,以 ...

已经导入IAR了,版主能帮我生成一段TM0 产生PWM, 并且使能中断 吗?
不会用PE ,也没用过CodeWarrior10.x

使用特权

评论回复
10
FSL_TICS_Robin| | 2014-6-16 16:47 | 只看该作者
defalut 发表于 2014-6-16 16:24
已经导入IAR了,版主能帮我生成一段TM0 产生PWM, 并且使能中断 吗?
不会用PE ,也没用过CodeWarrior10.x ...

我们论坛有PE使用教程的:
开眼界系列之官方视频中文讲解大全里有视频及其文档讲解。
手把手系列之官方例程讲解大全-Kinetis系列 有结合PE配置的工程。




使用特权

评论回复
11
FSL_TICS_Robin| | 2014-6-16 16:49 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-16 16:47
我们论坛有PE使用教程的:
在开眼界系列之官方视频中文讲解大全里有视频及其文档讲解。
在手把手系列之官 ...

如果你只是想要段程序测试一下PWM波发生,看硬件是否有问题。那么我可以帮你配置一个,但你也要说说你的要求比如晶振大小、芯片型号、主频大小、引脚分配、PWM模式、占空比、周期等等

使用特权

评论回复
12
defalut|  楼主 | 2014-6-16 18:25 | 只看该作者
FSL_TICS_Robin 发表于 2014-6-16 16:49
如果你只是想要段程序测试一下PWM波发生,看硬件是否有问题。那么我可以帮你配置一个,但你也要说说你的 ...

我配置了半天都没波形。

我用的FRDM-KL25这块板,你帮我配置一下PTC2(TMP0_CH1) 吧,输出个5Khz的PWM, 中断也选上吧。

使用特权

评论回复
13
defalut|  楼主 | 2014-6-17 10:01 | 只看该作者
我重新发了个帖子,版主看看吧@FSL_TICS_Robin
https://bbs.21ic.com/icview-752180-1-1.html

使用特权

评论回复
14
FSL_TICS_Robin| | 2014-6-18 14:43 | 只看该作者
defalut 发表于 2014-6-17 10:01
我重新发了个帖子,版主看看吧@FSL_TICS_Robin
https://bbs.21ic.com/icview-752180-1-1.html  ...

还请楼主把此帖结了吧,我将在你提到的那帖中回复你。

使用特权

评论回复
15
defalut|  楼主 | 2014-6-18 16:44 | 只看该作者
ok

使用特权

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

本版积分规则

8

主题

48

帖子

0

粉丝