硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1941|回复: 3
收起左侧

Hal 库中断相关的疑问

[复制链接]

100

主题

94

回帖

394

积分

高级会员

积分
394
发表于 2019-12-30 11:24:11 | 显示全部楼层 |阅读模式
HAL_Init 中已经调用了HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4)

HAL_UART_MspInit 调用 HAL_NVIC_SetPriority(USART1_IRQn,0,0);


问题:
HAL_NVIC_SetPriorityGrouping和HAL_NVIC_SetPriority 的调用有没有问题?

HAL_NVIC_SetPriority参数的后面两个参数是不是与NVIC_PRIORITYGROUP_4冲突?

回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2019-12-30 16:34:02 | 显示全部楼层
不冲突啊,setpriority函数里面的第二个0是没有用的。
只是函数原型有那个参数,必须写个数进去而已。
回复

使用道具 举报

100

主题

94

回帖

394

积分

高级会员

积分
394
 楼主| 发表于 2019-12-30 19:27:55 | 显示全部楼层
caicaptain2 发表于 2019-12-30 16:34
不冲突啊,setpriority函数里面的第二个0是没有用的。
只是函数原型有那个参数,必须写个数进去而已。

HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
我的理解是:PriorityGroup 这个参数已经包含抢占优先级和响应优先级了。
HAL_NVIC_SetPriority这个接口也包含 PreemptPriority --抢占优先级,SubPriority --响应优先级,是不是重复了??

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115667
QQ
发表于 2019-12-31 00:10:37 | 显示全部楼层
先设置分组,然后再设置对应的优先级。
QQ截图20191231001000.png
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-10 22:53 , Processed in 0.234169 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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