硬汉嵌入式论坛

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

[有问必答] 关于bsp_UART_FIFO.C中,串口中断配置

[复制链接]

13

主题

16

回帖

55

积分

初级会员

积分
55
发表于 2017-9-18 11:08:10 | 显示全部楼层 |阅读模式
看到bsp_UART_FIFO.C文件中,关于串口中断的配置带如下:

static void ConfigUartNVIC(void)
{
    NVIC_InitTypeDef NVIC_InitStructure;

    /* Configure the NVIC Preemption Priority Bits */
    /*    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);  --- 在 bsp.c 中 bsp_Init() 中配置中断优先级组 */

#if UART1_FIFO_EN == 1
    /* 使能串口1中断 */
    NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;      /* 暂定UART1_485的中断优先级为 */
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
#endif

前面已经配置了中断优先级分组为4
程序里只配置了响应优先级,抢占优先级是不是有默认值?
在参考手册里没有查到
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2017-9-19 10:10:37 | 显示全部楼层
程序里面这么写不好,子优先级和抢占优先级都要配置下,你可以自行修改下。

因为早期我们是配置成 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); 了,只有子优先级,没有抢占优先级。
后面统一修改为 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); ,这里没有修改过来。
回复

使用道具 举报

13

主题

16

回帖

55

积分

初级会员

积分
55
 楼主| 发表于 2017-9-19 13:41:28 | 显示全部楼层

回 eric2013 的帖子

eric2013:程序里面这么写不好,子优先级和抢占优先级都要配置下,你可以自行修改下。

因为早期我们是配置成 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); 了,只有子优先级,没有抢占优先级。
后面统一修改为 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); ,这里没有修改过来。 .. (2017-09-19 10:10) 
谢谢,
我只是觉得有疑问,查了一下,所有的中断优先级,复位后都是“0”,对么
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2017-9-20 00:29:42 | 显示全部楼层

回 wayne778 的帖子

wayne778:谢谢,
我只是觉得有疑问,查了一下,所有的中断优先级,复位后都是“0”,对么 (2017-09-19 13:41) 
系统重新上电后,默认的优先级分组是0,也就是只有子优先级,无抢占优先级。

现在我们的例子基本统一采用优先级分组4,即只有抢占优先级,无子优先级。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 06:37 , Processed in 0.151064 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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