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

【关于ST马达库生成代码中UART2的疑问】

[复制链接]
sdyangchd 提问时间:2019-11-14 15:05 /
用WB生成的工程  /* Initialize all configured peripherals */....
  MX_USART2_UART_Init();
...
  /* Initialize interrupts */
  MX_NVIC_Init();



单步调试每次都能进入中断。

用cubemx只生成串口通信的工程, 必须加        __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE); 才能进入中断
  /* Initialize all configured peripherals */
...
  MX_USART2_UART_Init();
...
  /* Initialize interrupts */
  MX_NVIC_Init();
  /* USER CODE BEGIN 2 */
        __HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);



请问点击库生成的代码在哪儿初始化的UART2的接收中断?
收藏 评论3 发布时间:2019-11-14 15:05

举报

3个回答
mikecai 回答时间:2019-11-15 08:52:17
如是裸机,可放在while loop前,如果Uart 接收加 DMA,还必须提前分配DMA buffer
sdyangchd 回答时间:2019-11-15 10:10:48
mikecai 发表于 2019-11-15 08:52
如是裸机,可放在while loop前,如果Uart 接收加 DMA,还必须提前分配DMA buffer

自己生成的代码加这个是明确的。
问题是现在ST MCSDK5.x 电机库自己生成的代码,关于UART的初始化,没有找到初始化中断的地方。我的意思是感觉电机库生成的代码没有对串口的中断进行初始化,但是将代码下载后,给接收中断打断点,是可以进入中断的,所以有疑惑。
sdyangchd 回答时间:2019-11-15 21:24:50
已经解决。
  MX_MotorControl_Init(); --> UI_TaskInit(wConfig,NBR_OF_MOTORS,pMCI,pMCT,s_fwVer); --> MCP_Init(pMCP, (FCP_Handle_t *) & pUSART, & UFCP_Send, & UFCP_Receive, & UFCP_AbortReceive, pDAC, s_fwVer); -->  MCP_WaitNextFrame(pHandle); --> pHandle->fFcpReceive(pHandle->pFCP); --> LL_USART_EnableIT_RXNE(pActualHandle->USARTx);

藏得好深。

所属标签

相似问题

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