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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版