野火 RTT 改的 三个串口 dma 接收 接收后处理数据,但是串口一直不能正常发送数据

[复制链接]
1366|4
 楼主| jason9031 发表于 2019-4-2 11:08 | 显示全部楼层 |阅读模式
野火 RTT 改的 三个串口 dma 接收 接收后处理数据,但是串口一直不能正常发送数据
零三翟邢止胃 发表于 2019-4-3 09:24 | 显示全部楼层
不清楚的啊! 帮你顶住啊!
 楼主| jason9031 发表于 2019-4-4 10:49 | 显示全部楼层
从这里发现问题的

移植官方STM32虚拟串口程序,串口通信死在

while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);

仿真发现USART1时钟味使能。。。

使能时钟后仿真,USART1寄存器有反应,发送数据是仍死在

while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);

上网寻找答案无果。怀疑引脚未配置造成。

配置

    GPIO_InitTypeDef  GPIO_InitStructure;
   
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

  /* Configure USB pull-up pin */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
     
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
故障依旧

检查发现忘记

    USART_Cmd(USART1, ENABLE);

了。。

加上就OK
cjseng 发表于 2019-4-5 20:43 | 显示全部楼层

通常来说,千错万错都是自己的错。
yishuifu 发表于 2019-4-6 13:23 | 显示全部楼层
耐心点啥都解决的了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部