OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3528|回复: 8

STM32 串口发送给PC端调试助手,调试助手显示有接收数据,但是调试助手界面没显示

[复制链接]

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2019-7-17
在线时间
16 小时
发表于 2020-7-16 16:26:17 | 显示全部楼层 |阅读模式
本帖最后由 cwfjy 于 2020-7-16 17:08 编辑

RT,利用STM32F429的串口向PC端串口调试助手发送数据,却发现调试助手下方显示有数据接收到,但是显示框里没有显示。串口通过485发送的。

波特率设置正确,接线也查过,没问题,485芯片DE口也置高了。

但是就没显示,请教大神们有遇到这种状况么?


初始化程序都是利用cubemx生成的,应该不会有错。
串口初始化程序:
UART_HandleTypeDef huart1;

/* USART1 init function */

void MX_USART1_UART_Init(void)
{

  huart1.Instance = USART1;
  huart1.Init.BaudRate = 115200;
  huart1.Init.WordLength = UART_WORDLENGTH_8B;
  huart1.Init.StopBits = UART_STOPBITS_1;
  huart1.Init.Parity = UART_PARITY_NONE;
  huart1.Init.Mode = UART_MODE_TX_RX;
  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
  if (HAL_UART_Init(&huart1) != HAL_OK)
  {
    Error_Handler();
  }

}

void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};
  if(uartHandle->Instance==USART1)
  {
  /* USER CODE BEGIN USART1_MspInit 0 */

  /* USER CODE END USART1_MspInit 0 */
    /* USART1 clock enable */
    __HAL_RCC_USART1_CLK_ENABLE();

    __HAL_RCC_GPIOA_CLK_ENABLE();
    /**USART1 GPIO Configuration   
    PA9     ------> USART1_TX
    PA10     ------> USART1_RX
    */
    GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Pull = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
    GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  }
}


GPIO初始化:
void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOC_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(RS485_1_DE_GPIO_Port, RS485_1_DE_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOC, ERRLED_Pin|RUNLED_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin : PtPin */
  GPIO_InitStruct.Pin = RS485_1_DE_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  HAL_GPIO_Init(RS485_1_DE_GPIO_Port, &GPIO_InitStruct);

  /*Configure GPIO pins : PCPin PCPin */
  GPIO_InitStruct.Pin = ERRLED_Pin|RUNLED_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
}


main函数:
int main(void)
{
  uint8_t data[]="test";
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_USART1_UART_Init();

  HAL_GPIO_WritePin(RS485_1_DE_GPIO_Port, RS485_1_DE_Pin, GPIO_PIN_SET);

  while (1)
  {
                HAL_UART_Transmit(&huart1, data, sizeof(data), 0xffff);
                HAL_Delay(500);
  }
}



捕获.PNG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

203

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2931
金钱
2931
注册时间
2019-8-16
在线时间
316 小时
发表于 2020-7-16 16:32:05 | 显示全部楼层
回复 支持 反对

使用道具 举报

6

主题

412

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2704
金钱
2704
注册时间
2019-8-14
在线时间
414 小时
发表于 2020-7-17 14:47:00 | 显示全部楼层

回帖奖励 +1 金钱

参考原子485历程看看吧
回复 支持 反对

使用道具 举报

31

主题

158

帖子

0

精华

高级会员

Rank: 4

积分
738
金钱
738
注册时间
2020-4-30
在线时间
111 小时
发表于 2020-7-17 15:52:28 | 显示全部楼层

回帖奖励 +1 金钱

485是串口1还是串口2  我的板子和你的不一样  但是我感觉你的应该是要通过串口2发出来  然后你设置的参数都是串口1 的
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2020-7-16
在线时间
6 小时
发表于 2020-7-18 15:38:10 | 显示全部楼层

回帖奖励 +1 金钱

十六进制显示看看
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2019-7-17
在线时间
16 小时
 楼主| 发表于 2020-7-19 23:33:46 | 显示全部楼层
goodmor9 发表于 2020-7-18 15:38
十六进制显示看看

没用,16进制全部显示00 00 00.....,而且我点亮的LED闪的间隔时间也不对(设置500ms,但实际闪烁时间肯定不是500ms),后来把系统时钟设置为HSI,不用HSE的25MHz,就正常了,不知道是啥原因,板子是自己设计制作的,晶振电路照抄阿波罗的核心板。要是晶振不好,理论上都点不亮LED。感觉是时钟哪里有问题。。。但又没法确认什么问题。。。。
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2018-12-27
在线时间
19 小时
发表于 2020-7-21 12:39:07 | 显示全部楼层

回帖奖励 +1 金钱

cwfjy 发表于 2020-7-19 23:33
没用,16进制全部显示00 00 00.....,而且我点亮的LED闪的间隔时间也不对(设置500ms,但实际闪烁时间肯 ...

看hse在寄存器对应的标志位,确定有没有正常工作
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2019-7-17
在线时间
16 小时
 楼主| 发表于 2020-7-24 10:05:52 | 显示全部楼层
鸡翅 发表于 2020-7-21 12:39
看hse在寄存器对应的标志位,确定有没有正常工作

谢谢提醒,是板子晶振问题,换成HSI,就正常了
回复 支持 反对

使用道具 举报

37

主题

477

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2285
金钱
2285
注册时间
2017-8-24
在线时间
375 小时
发表于 2020-7-24 10:07:23 | 显示全部楼层

回帖奖励 +1 金钱

厉害,哈哈哈哈哈
天然懒,天然呆
能吃会睡,未来可期
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-30 19:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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