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

STM32G070 usart3无法初始化

[复制链接]
哪个是long 提问时间:2022-12-29 00:41 / 未解决
使用CubeMX,新建 工程,使用内置时钟64Mhz主频(也测试过外部时钟、其它主频),只创建一个usart3(串口4也不行),在线监控程序运行至MX_USART3_UART_Init();就卡住了。没有自己添加程序,完全是cubemx生成。串口1和串口2没问题,这3和4 服了。大神帮帮忙,谢谢!

cubmx

cubmx
收藏 评论10 发布时间:2022-12-29 00:41

举报

10个回答
1+1=2 回答时间:2022-12-29 08:34:27
看看你的波特率是不是设置的不对
哪个是long 回答时间:2022-12-29 09:50:06
1+1=2 发表于 2022-12-29 08:34
看看你的波特率是不是设置的不对

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART3_UART_Init(); //卡在这里
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

//usart.c里的初始化
void MX_USART3_UART_Init(void)
{

  /* USER CODE BEGIN USART3_Init 0 */

  /* USER CODE END USART3_Init 0 */

  /* USER CODE BEGIN USART3_Init 1 */

  /* USER CODE END USART3_Init 1 */
       
  huart3.Instance = USART3;
  huart3.Init.BaudRate = 115200;
  huart3.Init.WordLength = UART_WORDLENGTH_8B;
  huart3.Init.StopBits = UART_STOPBITS_1;
  huart3.Init.Parity = UART_PARITY_NONE;
  huart3.Init.Mode = UART_MODE_TX_RX;
  huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart3.Init.OverSampling = UART_OVERSAMPLING_16;
  huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
  huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1;
  huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
  if (HAL_UART_Init(&huart3) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN USART3_Init 2 */

  /* USER CODE END USART3_Init 2 */

}

xmshao 回答时间:2022-12-29 10:02:45
会不会你硬件上哪里有问题?使用CubeMx做个初始化一般来讲不会有啥问题。初始化代码都执行不下去,往往可能是电源、时钟方面的基础问题,就像当前新冠一样,基础疾病往往很致命。不妨多检查下与UART3连接有关的线路。
废鱼 回答时间:2022-12-29 10:17:28
仿真看一下是不是进入Error_Handler错误处理了。如果是这样,检查ticks是否正常工作。
哪个是long 回答时间:2022-12-29 10:40:24
xmshao 发表于 2022-12-29 10:02
会不会你硬件上哪里有问题?使用CubeMx做个初始化一般来讲不会有啥问题。初始化代码都执行不下去,往往可能 ...

用的最小系统开发板测试的,没有接外设,初始化就卡住,usart1和2没有问题,换了usart3的引脚也不行,内部时钟外部时钟都试过
哪个是long 回答时间:2022-12-29 10:43:34
stm32g070testusart.zip (19.96 MB, 下载次数: 9)
哪个是long 回答时间:2022-12-29 11:25:02
废鱼 发表于 2022-12-29 10:17
仿真看一下是不是进入Error_Handler错误处理了。如果是这样,检查ticks是否正常工作。
...

帮忙看看,上传了例程,谢谢
1+1=2 回答时间:2022-12-30 08:35:46
哪个是long 发表于 2022-12-29 09:50
/* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

你是不是用操作系统了?还是跑的裸机?串口初始化的时候有时候会有问题,是因为堆栈设置的太小了,你设置大点试一下

哪个是long 回答时间:2022-12-30 15:05:49
1+1=2 发表于 2022-12-30 08:35
你是不是用操作系统了?还是跑的裸机?串口初始化的时候有时候会有问题,是因为堆栈设置的太小了,你设置 ...

裸机,就软件生成的串口初始化,什么都没改,串口3就是不能初始化,能不能给个串口123都能用的例程?谢谢
四季 回答时间:2023-1-17 15:36:25
楼主问题解决了么,可以试一下RX上拉一下,我之前项目rx不上拉,uart3 uart4的接受是有问题的,串口会卡死。

所属标签

相似问题

官网相关资源

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