本帖最后由 陳聖文 于 2018-10-12 17:41 编辑
小弟正在研究NVIC
以下有兩條程式我無法在DATASHEET上找到他的相關資料
有關NVIC的相關寄存器
以下是紅字的寄存器就是無法在DATASHEET上找到的
- //設定其優先權
- __STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
- {
- if((int32_t)(IRQn) < 0) {
- SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) |
- (((priority << (8 - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
- }
- else {
- NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) |
- (((priority << (8 - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
- }
- }
复制代码
NVIC->IP
- //設定啟用
- __STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)//---------------------------------------------------------------------------
- {
- NVIC->ISER[0] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL));
- }
复制代码
NVIC->ISER[0]
以下附上我所使用的DATASHEET
STM32F030-F4_DATASHEET_779.pdf
(11.46 MB, 下载次数: 3)
2018-10-12 17:39 上传
点击文件名下载附件
具体这个问题,太久不搞不能直接给你答案,但是我知道答案在哪里,就是CortexM0权威指南里面。
CM3的权威指南我是翻的的滚瓜烂熟,但是CM0内核还是有些不一样的,建议自己去看~
唔...
最主要還是想知道這裡面每個BITS是做啥的
感謝大大的分享
這正是我需要的
一周热门 更多>