发新帖本帖赏金 1.00元(功能说明)我要提问
返回列表
打印
[STM32F0]

有一个关于中断的疑惑请教

[复制链接]
1307|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
svenyang|  楼主 | 2016-6-6 20:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个关于中断的疑惑请教,在学习F030的中断,根据datasheet F030CC有6个串口中断。
但是配置开启中断的库函数参数只有USART1和USART2
即NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; 这句是对的,
但是换成NVIC_InitStructure.NVIC_IRQChannel = USART4_IRQn;就错了,
查看库文件就没有USART4_IRQn这个参数,这是为什么?难道配置方式不一样吗
沙发
xmshao| | 2016-6-7 08:05 | 只看该作者
usart3/4/5/6...他们几个共用一个中断矢量。  

你可以在参考手册里的VECTOR TABLE看到相关信息,

启动文件里也可看出来。

使用特权

评论回复
板凳
svenyang|  楼主 | 2016-6-7 08:27 | 只看该作者
xmshao 发表于 2016-6-7 08:05
usart3/4/5/6...他们几个共用一个中断矢量。  

你可以在参考手册里的VECTOR TABLE看到相关信息,

我知道是共用的,问题是怎么配置才能开启。。。没有找到参数

使用特权

评论回复
地板
xmshao| | 2016-6-7 08:45 | 只看该作者
/**USART3 GPIO Configuration   
    PB10     ------> USART3_TX
    PB11     ------> USART3_RX
    */
    GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Pull = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    GPIO_InitStruct.Alternate = GPIO_AF4_USART3;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    /* Peripheral interrupt init */
    HAL_NVIC_SetPriority(USART3_6_IRQn, 0, 0);
    HAL_NVIC_EnableIRQ(USART3_6_IRQn);
  /* USER CODE BEGIN USART3_MspInit 1 */

  /* USER CODE END USART3_MspInit 1 */

使用特权

评论回复

打赏榜单

svenyang 打赏了 1.00 元 2016-06-07
理由:谢谢积极回复

5
sflower| | 2016-6-7 08:53 | 只看该作者
应该写成:UART4_IRQn

使用特权

评论回复
6
svenyang|  楼主 | 2016-6-7 15:21 | 只看该作者
找到原因了,必须要自己编辑stm32f0xx.h文件,选择里面的#define STM32F030xC去掉注释(我用的是030CC),另外必须要把其他所有的型号定义注释掉!否则下面的变量列表会选择错误,找不到该找到的变量!

使用特权

评论回复
发新帖 本帖赏金 1.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

41

帖子

1

粉丝