打印
[STM32F1]

stm32f103的硬件流控问题

[复制链接]
1999|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
peterhzm|  楼主 | 2014-3-12 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 peterhzm 于 2014-3-13 14:43 编辑

香水城主,我们这边正在调试bootloader使用串口接收固件的问题,因为固件比较大,想利用流控来限制上位机发送数据的速度。但是现在的情况是,我配置好串口后,测试,本来应该是DR没有收到数据的时候,RTS的线应该是被拉低的,这时候上位机可以给单片机继续发送数据,但实际输出的是高电平,而且一直保持在高电平。

我用官方例程进行修改,也是这个情况(官方例程的硬件流控是U2,我们用的是U1)。RTS线依然没有变化,一直是高电平。打断点打在读取DR前试了。

还请指导一下


已经解决,CAN搞得鬼
沙发
peterhzm|  楼主 | 2014-3-12 10:56 | 只看该作者
GPIO配置如下
void GPIO_Configuration(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

//#if defined(USE_STM3210B_EVAL) || defined(USE_STM32100B_EVAL)
//  /* Enable the USART1 Pins Software Remapping */
//  GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);
//#endif

  /* Configure USART1 RTS and USART1 Tx as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin = GPIO_RTSPin | GPIO_TxPin;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOx, &GPIO_InitStructure);

  /* Configure USART1 CTS and USART1 Rx as input floating */
  GPIO_InitStructure.GPIO_Pin = GPIO_CTSPin | GPIO_RxPin;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOx, &GPIO_InitStructure);
}

串口配置如下:
USART_InitStructure.USART_BaudRate = 115200;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No ;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

  USART_Init(USART1, &USART_InitStructure);
  /* Enable the USART1 */
  USART_Cmd(USART1, ENABLE);


用的是官方的板子(换了芯片,换成STM32F103VD)

使用特权

评论回复
板凳
peterhzm|  楼主 | 2014-3-12 11:12 | 只看该作者
哪位高手还请指导一下吧,难道真的要用普通IO口去模拟了?

使用特权

评论回复
地板
peterhzm|  楼主 | 2014-3-12 14:09 | 只看该作者
我再次测试了一下,U2口是没问题的!RTS线正常工作!但是U1怎么都不行!!!

使用特权

评论回复
5
jsh560| | 2019-1-10 17:36 | 只看该作者
你好。“官方例程的硬件流控是U2” 这个可以在哪找到?谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

1

粉丝