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

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

[复制链接]
sdyang 提问时间: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个回答
慎微 回答时间:2019-11-15 08:52:17
如是裸机,可放在while loop前,如果Uart 接收加 DMA,还必须提前分配DMA buffer
sdyang 回答时间:2019-11-15 10:10:48
mikecai 发表于 2019-11-15 08:52
如是裸机,可放在while loop前,如果Uart 接收加 DMA,还必须提前分配DMA buffer

自己生成的代码加这个是明确的。
问题是现在ST MCSDK5.x 电机库自己生成的代码,关于UART的初始化,没有找到初始化中断的地方。我的意思是感觉电机库生成的代码没有对串口的中断进行初始化,但是将代码下载后,给接收中断打断点,是可以进入中断的,所以有疑惑。
sdyang 回答时间: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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版