请选择 进入手机版 | 继续访问电脑版
搜索
查看: 788|回复: 3

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

[复制链接]

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2019-11-22
发表于 2019-11-14 15:05:53 | 显示全部楼层 |阅读模式
用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的接收中断?
回复

使用道具 举报

该用户从未签到

5

主题

613

帖子

138

蝴蝶豆

金牌会员

最后登录
2022-5-19
发表于 2019-11-15 08:52:17 | 显示全部楼层
如是裸机,可放在while loop前,如果Uart 接收加 DMA,还必须提前分配DMA buffer
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2019-11-22
 楼主| 发表于 2019-11-15 10:10:48 | 显示全部楼层
mikecai 发表于 2019-11-15 08:52
如是裸机,可放在while loop前,如果Uart 接收加 DMA,还必须提前分配DMA buffer

自己生成的代码加这个是明确的。
问题是现在ST MCSDK5.x 电机库自己生成的代码,关于UART的初始化,没有找到初始化中断的地方。我的意思是感觉电机库生成的代码没有对串口的中断进行初始化,但是将代码下载后,给接收中断打断点,是可以进入中断的,所以有疑惑。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

5

帖子

0

蝴蝶豆

初级会员

最后登录
2019-11-22
 楼主| 发表于 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);

藏得好深。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-3-29 08:05 , Processed in 1.159571 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表