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

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
askhua520

askhua520

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
2 回答

STM32L476 VSCODE OPENOCD 下载问题 Error: libusb_open() failed with LIBUSB...

ST25-NFC STM32L4 软件参考代码
Zoe Jiang Zoe Jiang 回答时间: 2022-2-7 10:47

建议用IAR,KEIL或ST编译工具。

赞0
1 回答

STM32L476如何确认停机模式多外部中断唤醒对应的引脚

STM32L4
askhua520 askhua520 回答时间: 2020-9-19 10:08

被自己坑了一把,进入停机前的引脚处理有问题,为了偷懒, 我是先全部设置所有引脚为模式输入MX_GPIO_DeInit(),再将要设置为中断唤醒的引脚重新设置一下,这样问题就出现了.改为直接设置非中断唤醒引脚就可以了. static void GPIO_LowPower_Config(void)//引脚处理,设置唤醒源中断 错误方式 {         /*GPIO端口配置成模拟输入,不使用的时钟全部关闭,GPIOC时钟保留,因使用PC13唤醒*/         GPIO_InitTypeDef GPIO_InitStruct = {0};                 MX_GPIO_DeInit();/*不能执行这个,否则唤醒后就进入中断*/           __HAL_RCC_GPIOA_CLK_ENABLE();         __HAL_RCC_GPIOC_CLK_ENABLE();         GPIO_InitStruct.Pin = A_Count_Pin|B_Count_Pin|C_Count_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;   GPIO_InitStruct.Pull = GPIO_NOPULL;//GPIO_PULLUP;   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);//PC1:3           GPIO_InitStruct.Pin = SYS_WKUP1_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;   GPIO_InitStruct.Pull = GPIO_NOPULL;//GPIO_PULLUP;   HAL_GPIO_Init(SYS_WKUP1_GPIO_Port, &GPIO_InitStruct);//PA0   /* EXTI interrupt init*/   HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI0_IRQn);   HAL_NVIC_SetPriority(EXTI1_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI1_IRQn);   HAL_NVIC_SetPriority(EXTI2_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI2_IRQn);   HAL_NVIC_SetPriority(EXTI3_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI3_IRQn);                } /*新的*/ static void GPIO_LowPower_Config(void)//引脚处理,设置唤醒源中断 正确方式 {         GPIO_InitTypeDef GPIO_InitStruct = {0};   /* GPIO Ports Clock Enable */   __HAL_RCC_GPIOC_CLK_ENABLE();   __HAL_RCC_GPIOH_CLK_ENABLE();   __HAL_RCC_GPIOA_CLK_ENABLE();   __HAL_RCC_GPIOB_CLK_ENABLE();   __HAL_RCC_GPIOD_CLK_ENABLE();   /*Configure GPIO pin Output Level */   HAL_GPIO_WritePin(GPIOB, Lora_RST_Pin|W4G_PWR_Pin|ADC_PWR_Pin|DIS_PWR_Pin, GPIO_PIN_RESET);   /*Configure GPIO pin Output Level */   HAL_GPIO_WritePin(RunLed_GPIO_Port, RunLed_Pin, GPIO_PIN_SET);   /*Configure GPIO pins : PBPin PBPin PBPin PBPin */   GPIO_InitStruct.Pin = Lora_RST_Pin|W4G_PWR_Pin|ADC_PWR_Pin|DIS_PWR_Pin;         GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;         GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);   /*Configure GPIO pin : PtPin */   GPIO_InitStruct.Pin = W4G_STA_Pin;         GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;         GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(W4G_STA_GPIO_Port, &GPIO_InitStruct);   /*Configure GPIO pins : PB11 PB7 */   GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_7;         GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;         GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);   /*Configure GPIO pins : PCPin PCPin PCPin PCPin */   GPIO_InitStruct.Pin = Key4_Pin|Key3_Pin|Key2_Pin|Key1_Pin;         GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;         GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);   /*Configure GPIO pin : PtPin */   GPIO_InitStruct.Pin = RunLed_Pin;         GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;         GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(RunLed_GPIO_Port, &GPIO_InitStruct);   /*Configure GPIO pins : PA11 PA12 */   GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;         GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;         GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); //        __HAL_RCC_GPIOA_CLK_DISABLE();         __HAL_RCC_GPIOB_CLK_DISABLE(); //        __HAL_RCC_GPIOC_CLK_DISABLE();         __HAL_RCC_GPIOD_CLK_DISABLE(); //        __HAL_RCC_GPIOE_CLK_DISABLE(); //        __HAL_RCC_GPIOF_CLK_DISABLE(); //        __HAL_RCC_GPIOG_CLK_DISABLE();         __HAL_RCC_GPIOH_CLK_DISABLE(); } void MX_GPIO_DeInit(void) { /*GPIO端口配置成模拟输入,时钟全部关闭*/         GPIO_InitTypeDef GPIO_InitStruct = {0};   /* GPIO Ports Clock Enable */   __HAL_RCC_GPIOA_CLK_ENABLE();   __HAL_RCC_GPIOB_CLK_ENABLE();         __HAL_RCC_GPIOC_CLK_ENABLE();   __HAL_RCC_GPIOD_CLK_ENABLE(); //        __HAL_RCC_GPIOE_CLK_ENABLE(); //        __HAL_RCC_GPIOF_CLK_ENABLE(); //        __HAL_RCC_GPIOG_CLK_ENABLE();         __HAL_RCC_GPIOH_CLK_ENABLE();                 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;         GPIO_InitStruct.Pull = GPIO_NOPULL;         GPIO_InitStruct.Pin = GPIO_PIN_All; //        HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);         HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);         HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);         HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); //        HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); //        HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); //        HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);         HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);         //        __HAL_RCC_GPIOA_CLK_DISABLE();         __HAL_RCC_GPIOB_CLK_DISABLE();         __HAL_RCC_GPIOC_CLK_DISABLE();         __HAL_RCC_GPIOD_CLK_DISABLE(); //        __HAL_RCC_GPIOE_CLK_DISABLE(); //        __HAL_RCC_GPIOF_CLK_DISABLE(); //        __HAL_RCC_GPIOG_CLK_DISABLE();         __HAL_RCC_GPIOH_CLK_DISABLE(); } void MX_GPIO_Init(void) {   GPIO_InitTypeDef GPIO_InitStruct = {0};   /* GPIO Ports Clock Enable */   __HAL_RCC_GPIOC_CLK_ENABLE();   __HAL_RCC_GPIOH_CLK_ENABLE();   __HAL_RCC_GPIOA_CLK_ENABLE();   __HAL_RCC_GPIOB_CLK_ENABLE();   __HAL_RCC_GPIOD_CLK_ENABLE();   /*Configure GPIO pin Output Level */   HAL_GPIO_WritePin(GPIOB, Lora_RST_Pin|W4G_PWR_Pin|ADC_PWR_Pin|DIS_PWR_Pin, GPIO_PIN_RESET);   /*Configure GPIO pin Output Level */   HAL_GPIO_WritePin(RunLed_GPIO_Port, RunLed_Pin, GPIO_PIN_RESET);   /*Configure GPIO pins : PCPin PCPin PCPin */   GPIO_InitStruct.Pin = A_Count_Pin|B_Count_Pin|C_Count_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;   GPIO_InitStruct.Pull = GPIO_NOPULL;//GPIO_PULLUP;   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);//计数   /*Configure GPIO pin : PtPin */   GPIO_InitStruct.Pin = SYS_WKUP1_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;   GPIO_InitStruct.Pull = GPIO_NOPULL;//GPIO_PULLUP;   HAL_GPIO_Init(SYS_WKUP1_GPIO_Port, &GPIO_InitStruct);//唤醒   /*Configure GPIO pins : PBPin PBPin PBPin PBPin */   GPIO_InitStruct.Pin = Lora_RST_Pin|W4G_PWR_Pin|ADC_PWR_Pin|DIS_PWR_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;   GPIO_InitStruct.Pull = GPIO_NOPULL;   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;   HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);   /*Configure GPIO pin : PtPin */   GPIO_InitStruct.Pin = W4G_STA_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_INPUT;   GPIO_InitStruct.Pull = GPIO_PULLUP;   HAL_GPIO_Init(W4G_STA_GPIO_Port, &GPIO_InitStruct);   /*Configure GPIO pins : PB11 PB7 */   GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_7;   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;   GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);   /*Configure GPIO pins : PCPin PCPin PCPin PCPin */   GPIO_InitStruct.Pin = Key4_Pin|Key3_Pin|Key2_Pin|Key1_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_INPUT;   GPIO_InitStruct.Pull = GPIO_PULLUP;   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);   /*Configure GPIO pin : PtPin */   GPIO_InitStruct.Pin = RunLed_Pin;   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;   GPIO_InitStruct.Pull = GPIO_NOPULL;   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;   HAL_GPIO_Init(RunLed_GPIO_Port, &GPIO_InitStruct);   /*Configure GPIO pins : PA11 PA12 */   GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;   GPIO_InitStruct.Pull = GPIO_NOPULL;   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);   /* EXTI interrupt init*/   HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI0_IRQn);   HAL_NVIC_SetPriority(EXTI1_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI1_IRQn);   HAL_NVIC_SetPriority(EXTI2_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI2_IRQn);   HAL_NVIC_SetPriority(EXTI3_IRQn, 2, 0);   HAL_NVIC_EnableIRQ(EXTI3_IRQn); }

赞0
6 回答

【STM32F429心得】及书籍配套资料

STM32F4
二子 二子 回答时间: 2018-9-24 09:43

正在研究F427

赞0
askhua520 askhua520


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16