关于NVIC相关的寄存器NVIC_IPRx的register map

2019-07-21 01:27发布

NVIC_IPRx的偏移地址是Address offset: 0x00- 0x0B,但是为什么下面的map显示有20个32位寄存器,这么多个是怎么寻址的?下面的那段说明看的不是很明白,望大神指教,关于NVIC相关的寄存器操作学习方面能够有什么心得和建议不吝跟本鸟分享下吗,求?!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-21 06:04
回复【4楼】alonejhon:
---------------------------------
因为并没有用到这么多空间。
已便后续添加其他新的寄存器进来。

这叫未雨绸缪,谁知道以后会不会增加?
龙之谷
2楼-- · 2019-07-21 10:28
没接触过,帮顶......
alonejhon
3楼-- · 2019-07-21 11:49
 精彩回答 2  元偷偷看……
alonejhon
4楼-- · 2019-07-21 15:12
typedef struct
{
  __IO uint32_t ISER[8];                 /*!< Offset: 0x000 (R/W)  Interrupt Set Enable Register           */
       uint32_t RESERVED0[24];
  __IO uint32_t ICER[8];                 /*!< Offset: 0x080 (R/W)  Interrupt Clear Enable Register         */
       uint32_t RSERVED1[24];
  __IO uint32_t ISPR[8];                 /*!< Offset: 0x100 (R/W)  Interrupt Set ending Register          */
       uint32_t RESERVED2[24];
  __IO uint32_t ICPR[8];                 /*!< Offset: 0x180 (R/W)  Interrupt Clear ending Register        */
       uint32_t RESERVED3[24];
  __IO uint32_t IABR[8];                 /*!< Offset: 0x200 (R/W)  Interrupt Active bit Register           */
       uint32_t RESERVED4[56];
  __IO uint8_t  IP[240];                 /*!< Offset: 0x300 (R/W)  Interrupt riority Register (8Bit wide) */
       uint32_t RESERVED5[644];
  __O  uint32_t STIR;                    /*!< Offset: 0xE00 ( /W)  Software Trigger Interrupt Register     */
}  NVIC_Type;
为什么要在这个结构体里保留这么多空间?求大神指教!
alonejhon
5楼-- · 2019-07-21 17:08
 精彩回答 2  元偷偷看……
alonejhon
6楼-- · 2019-07-21 19:27
回复【6楼】正点原子:
---------------------------------
我也这么想,谢过原子哥

一周热门 更多>