请选择 进入手机版 | 继续访问电脑版
查看: 4884|回复: 6

[已解决] 关于KL25Z NVIC的相关配置问题?(已解决)

[复制链接]

该用户从未签到

7

主题

45

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2013-6-3 16:11:08 | 显示全部楼层 |阅读模式
之前学习了KL25Z  NVIC模块的视频教程介绍,但是还是没有弄过明白 该如何配置NVIC 相关的寄存器,再去看官方提供的 dac_demo 的例程 ,看了定时器1关于NVIC的配置 也还是理解不了。
问:关于NVIC的相关寄存器的资料在KL25Z datasheet 上是没有给出的? 应该如何得到相关的定义?
另外,在例程中看到NVIC的数据结构为:
/** NVIC - Peripheral register structure */
typedef struct NVIC_MemMap {
  uint32_t ISER;                                   /**< Interrupt Set Enable Register, offset: 0x0 */
  uint8_t RESERVED_0[124];
  uint32_t ICER;                                   /**< Interrupt Clear Enable Register, offset: 0x80 */
  uint8_t RESERVED_1[124];
  uint32_t ISPR;                                   /**< Interrupt Set Pending Register, offset: 0x100 */
  uint8_t RESERVED_2[124];
  uint32_t ICPR;                                   /**< Interrupt Clear Pending Register, offset: 0x180 */
  uint8_t RESERVED_3[380];
  uint32_t IP[8];                                  /**< Interrupt Priority Register n, array offset: 0x300, array step: 0x4 */
} volatile *NVIC_MemMapPtr;
请问这些都该如何配置  ,怎么对应上呢?
我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

1

主题

178

帖子

0

高级会员

Rank: 4

积分
825
最后登录
1970-1-1
发表于 2013-6-3 16:25:03 | 显示全部楼层

回复:关于KL25Z NVIC的相关配置问题?

 这些是ARM cortex M0的NVIC模块里的寄存器,具体可参看下面的资料:
1.PNG
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

459

帖子

0

中级会员

Rank: 3Rank: 3

积分
285
最后登录
2022-4-15
发表于 2013-6-3 22:48:47 | 显示全部楼层

回复:关于KL25Z NVIC的相关配置问题?(正解)

 
 
关于NVIC的相关寄存器的资料在KL25Z datasheet 确实没详细写出,但给出了IRQ号与需要设置的NVIC寄存器组号和位号的设定规则,你可以在Cortex-M0+ Devices Generic User Guide里找到相关的定义。
对照KL25的reference mannual,可看到KL25有16个内核中断,32个非内核中断,这里操作的是非内核中断,其IRQ号=VECTOR-16,可以看到ISER、ICER、ISPR、ICPR都是三十二位,每一位一次对应着一个非内核中断,而对于中断优先级寄存器IPR,其本身也是三十二位寄存器,一共八个,每一个IPR寄存器控制4个IRQn,如下图。在程序中,也就是你贴出的代码中映射为八个三十二位的数组 uint32_t IP[8] 。这和K60的区别很大,K60是映射成104个八位的uint8_t IP[104](它的中断个数也比较多),你可以对比学习一下,有问题欢迎继续提问。
Capture2222.PNG
 
typedef struct NVIC_MemMap {
  uint32_t ISER;                                   /**< Interrupt Set Enable Register, offset: 0x0 */
  uint8_t RESERVED_0[124];
  uint32_t ICER;                                   /**< Interrupt Clear Enable Register, offset: 0x80 */
  uint8_t RESERVED_1[124];
  uint32_t ISPR;                                   /**< Interrupt Set Pending Register, offset: 0x100 */
  uint8_t RESERVED_2[124];
  uint32_t ICPR;                                   /**< Interrupt Clear Pending Register, offset: 0x180 */
  uint8_t RESERVED_3[380];
  uint32_t IP[8];                                  /**< Interrupt Priority Register n, array offset: 0x300, array step: 0x4 */
} volatile *NVIC_MemMapPtr;
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

45

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
 楼主| 发表于 2013-6-4 11:42:09 | 显示全部楼层

回复:关于KL25Z NVIC的相关配置问题?

谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

18

主题

43

帖子

0

注册会员

Rank: 2

积分
176
最后登录
1970-1-1
发表于 2013-10-17 11:13:44 | 显示全部楼层

回复:关于KL25Z NVIC的相关配置问题?(已解决)

thanks
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

705

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1745
最后登录
1970-1-1
发表于 2013-10-25 22:57:07 | 显示全部楼层

RE:关于KL25Z NVIC的相关配置问题?(已解决)

多谢分享!
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

25

帖子

0

新手上路

Rank: 1

积分
12
最后登录
1970-1-1
发表于 2013-12-20 13:59:42 | 显示全部楼层

回复:关于KL25Z NVIC的相关配置问题?(已解决)

芯片中文资料上搜IC数据手册看中文版吧,700多万中文datasheet,还可以用中文关键字搜索数据手册内容
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-19 09:58 , Processed in 0.136480 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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