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

STM32CubeMX 重新生成代码时,中断回调函数内容消失

[复制链接]
dexis 提问时间:2017-3-31 14:04 /
使用STM32CubeMX生成代码后,在回调函数HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)中添加自己的代码。
若再次使用STM32CubeMX生成代码,回调函数中,自己写的代码消失,这个要怎么解决?
  1. <div>/**
  2.   * @brief  EXTI line detection callback
  3.   * @param GPIO_Pin: Specifies the pins connected EXTI line
  4.   * @retval None
  5.   */
  6. __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
  7. {
  8.     /* Prevent unused argument(s) compilation warning */
  9.     UNUSED(GPIO_Pin);
  10.     /* NOTE : This function Should not be modified, when the callback is needed,
  11.               the HAL_GPIO_EXTI_Callback could be implemented in the user file
  12.      */ </div><div>
  13. </div><div>  HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);//使用STM32CubeMX重新生成代码,用户代码消失。
  14. }</div>
复制代码

收藏 1 评论4 发布时间:2017-3-31 14:04

举报

4个回答
g921002 回答时间:2017-4-1 01:24:38
可以再在main.c重寫 HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)這個函數,因為那邊選告成__weak所以重寫後會以你重寫的為主。
/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
       HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
}
/* USER CODE END 4 */
BG4RFF 回答时间:2017-4-2 09:56:03
cube重新生成时在/* USER CODE BEGIN X */和/* USER CODE END X */
之间的用户函数是不会变的,其他的都可能会变还有在选项里面设置
搜狗截图17年04月02日0957_1.png
zen2017 回答时间:2017-4-2 23:58:09
注意,自己写的代码。要在类似* USER CODE BEGIN 0 */和/* USER CODE END 0 */之间,否则,cube重新生成的时候,会删除。
dexis 回答时间:2017-10-22 17:51:13
哈哈,当年好菜^_^
二楼是对的

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版