你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L073RZ的串口问题请教

[复制链接]
ataudio 提问时间:2017-7-4 10:08 /
悬赏50ST金币已解决
使用STM32L073RZ开发的过程中,有两个疑问请网友帮忙解答一下。谢谢!

1)在STM32L073上使用4个串口,不包括LPUART。配置USART4和5时,HAL库中定义了USART4_5_IRQn作为中断向量。是否会导致中断乱入,或者不可控。有没有网友同时使用过?如果有深入理解的朋友,能不能对原理做下解释。
/*!< Interrupt Number Definition */
typedef enum
{
/******  Cortex-M0 Processor Exceptions Numbers ******************************************************/
  NonMaskableInt_IRQn         = -14,    /*!< 2 Non Maskable Interrupt                                */
  HardFault_IRQn              = -13,    /*!< 3 Cortex-M0+ Hard Fault Interrupt                       */
  SVC_IRQn                    = -5,     /*!< 11 Cortex-M0+ SV Call Interrupt                         */
  PendSV_IRQn                 = -2,     /*!< 14 Cortex-M0+ Pend SV Interrupt                         */
  SysTick_IRQn                = -1,     /*!< 15 Cortex-M0+ System Tick Interrupt                     */

/******  STM32L-0 specific Interrupt Numbers *********************************************************/
  WWDG_IRQn                   = 0,      /*!< Window WatchDog Interrupt                               */
  PVD_IRQn                    = 1,      /*!< PVD through EXTI Line detect Interrupt                  */
  RTC_IRQn                    = 2,      /*!< RTC through EXTI Line Interrupt                         */
  FLASH_IRQn                  = 3,      /*!< FLASH Interrupt                                         */
  RCC_CRS_IRQn                = 4,      /*!< RCC and CRS Interrupts                                  */
  EXTI0_1_IRQn                = 5,      /*!< EXTI Line 0 and 1 Interrupts                            */
  EXTI2_3_IRQn                = 6,      /*!< EXTI Line 2 and 3 Interrupts                            */
  EXTI4_15_IRQn               = 7,      /*!< EXTI Line 4 to 15 Interrupts                            */
  TSC_IRQn                    = 8,      /*!< TSC Interrupt                                           */
  DMA1_Channel1_IRQn          = 9,      /*!< DMA1 Channel 1 Interrupt                                */
  DMA1_Channel2_3_IRQn        = 10,     /*!< DMA1 Channel 2 and Channel 3 Interrupts                 */
  DMA1_Channel4_5_6_7_IRQn    = 11,     /*!< DMA1 Channel 4, Channel 5, Channel 6 and Channel 7 Interrupts */
  ADC1_COMP_IRQn              = 12,     /*!< ADC1, COMP1 and COMP2 Interrupts                        */
  LPTIM1_IRQn                 = 13,     /*!< LPTIM1 Interrupt                                        */
  USART4_5_IRQn               = 14,     /*!< USART4 and USART5 Interrupt                             */
  TIM2_IRQn                   = 15,     /*!< TIM2 Interrupt                                          */
  TIM3_IRQn                   = 16,     /*!< TIM3 Interrupt                                          */
  TIM6_DAC_IRQn               = 17,     /*!< TIM6 and DAC Interrupts                                 */
  TIM7_IRQn                   = 18,     /*!< TIM7 Interrupt                                          */
  TIM21_IRQn                  = 20,     /*!< TIM21 Interrupt                                         */
  I2C3_IRQn                   = 21,     /*!< I2C3 Interrupt                                          */
  TIM22_IRQn                  = 22,     /*!< TIM22 Interrupt                                         */
  I2C1_IRQn                   = 23,     /*!< I2C1 Interrupt                                          */
  I2C2_IRQn                   = 24,     /*!< I2C2 Interrupt                                          */
  SPI1_IRQn                   = 25,     /*!< SPI1 Interrupt                                          */
  SPI2_IRQn                   = 26,     /*!< SPI2 Interrupt                                          */
  USART1_IRQn                 = 27,     /*!< USART1 Interrupt                                        */
  USART2_IRQn                 = 28,     /*!< USART2 Interrupt                                        */
  RNG_LPUART1_IRQn            = 29,     /*!< RNG and LPUART1 Interrupts                              */
  LCD_IRQn                    = 30,     /*!< LCD Interrupt                                           */
  USB_IRQn                    = 31,     /*!< USB global Interrupt                                    */
} IRQn_Type;


配置USART4的代码:
              ....
                __HAL_RCC_USART4_CLK_ENABLE();
               
                GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
                GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
                GPIO_InitStruct.Pull = GPIO_PULLUP;
                GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
                GPIO_InitStruct.Alternate = GPIO_AF6_USART4;
                HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

                /* Peripheral interrupt init */
                HAL_NVIC_SetPriority(USART4_5_IRQn, 0, 0);
                HAL_NVIC_EnableIRQ(USART4_5_IRQn);


              .....

配置USART5的代码基本也类似。中断向量号IRQn也完全一样,这样USART4和5不会冲突吗?

2)配置USART2的GPIO的Alternate 时,有:
GPIO_InitStruct.Alternate = GPIO_AF0_USART2;
也有:
GPIO_InitStruct.Alternate = GPIO_AF4_USART2;
这里的AF0和AF4只见存在怎样的差异,对芯片实际有什么影响?




谢谢各位不吝指点!

最佳答案

查看完整内容

不會乱入 USART_ISR_RXNE可辨別
收藏 评论6 发布时间:2017-7-4 10:08

举报

6个回答
chuan199 回答时间:2017-7-4 10:08:31
不會乱入
USART_ISR_RXNE可辨別
废鱼 回答时间:2017-7-4 15:21:25
不会的,可以通过判断产生标志位来判断是哪个产生的。

评分

参与人数 1ST金币 +5 收起 理由
ataudio + 5 很给力!很有帮助。

查看全部评分

MrJiu 回答时间:2017-7-5 09:30:57
参考资料上面,会有很详细的介绍!!!当然了,肯定没看!!!

评分

参与人数 1ST金币 +6 收起 理由
ataudio + 6 谢谢兄弟,授人以渔。

查看全部评分

ataudio 回答时间:2017-7-5 11:22:56
MrJiu 发表于 2017-7-5 09:30
参考资料上面,会有很详细的介绍!!!当然了,肯定没看!!!

看的不仔细。跳着看的。
ataudio 回答时间:2017-7-5 13:42:16
本帖最后由 ataudio 于 2017-7-5 14:08 编辑
chuan199 发表于 2017-7-4 10:44
不會乱入
USART_ISR_RXNE可辨別

请教第二个问题,GPIO_AF0_USART2和GPIO_AF4_USART2这样的设置有什么区别呢?
现在查到了。根据参考手册,查找数据手册的ALternate function map可以找到说明。
chuan199 回答时间:2017-7-6 08:29:22
基本上GPIO_AF0_USART2和GPIO_AF4_USART2表示不同GPIO
多看数据手册和範例程式…很多問題自己都可解決

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版