[STM8] STM8L052R8芯片的Uart口问题(第一次用stm8L芯片)

[复制链接]
3790|6
 楼主| yuson102 发表于 2016-1-19 23:59 | 显示全部楼层 |阅读模式
问题描述:我使用了芯片的两个uart口,uart1、uart2.配置如下:
void Uartinit(void)
{
       
        /*uart1 波特率1200,9bit(包括一个停止位),偶校验,开启rxd、txd*/
        USART_Init(USART1,(uint32_t)1200,USART_WordLength_9b,USART_StopBits_1,USART_Parity_Even,(USART_Mode_Rx | USART_Mode_Tx));
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
        SYSCFG_REMAPPinConfig(REMAP_Pin_USART1TxRxPortA,ENABLE);//remap uart1管脚
        USART_Cmd(USART1,ENABLE);

        USART_Init(USART2,(uint32_t)1200,USART_WordLength_9b,USART_StopBits_1,USART_Parity_Even,(USART_Mode_Rx | USART_Mode_Tx));
        USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
        USART_Cmd(USART2,ENABLE);
}
当使用发送时候,Tx引脚是低电平,导致数据无法发送(两个uart口都是一样问题)。但是如果接了TTL转232的板子后,由于232的板子的rxd脚将电平拉高,所以可以正常发送数据。也就是说芯片什么不接时候从Tx引脚上用示波器抓数据是没有反应的,一直显示低电平,但是接上232板子后示波器能捉到芯片发出来的数据,且能跟电脑的串口工具通讯。
问题:当IO被配置为uart口时候,Tx引脚不应该是高电平吗?难道配置uart口后好需要对io重新配置?
那位大侠知道问题所在,感谢!
mark0668 发表于 2016-1-20 01:20 | 显示全部楼层
端口上拉了吗

评分

参与人数 1威望 +1 收起 理由
yuson102 + 1 很给力!

查看全部评分

NE5532 发表于 2016-1-20 08:51 | 显示全部楼层
把232转换板脱开,检查你单片机的RXD是否为高?是否上拉?是否悬浮输入?是否RX一直在运行造成TX无法发送?

评分

参与人数 1威望 +1 收起 理由
yuson102 + 1 很给力!

查看全部评分

 楼主| yuson102 发表于 2016-1-20 11:45 | 显示全部楼层
问题已经找到,要把对应的Tx IO口设置为输出上拉,就可以正常接收发送数据了。外部上拉都不行。以前的的芯片配置完uart口后都无需对gpio重新配置的。所以第一次用这个芯片就理所当然了。
 楼主| yuson102 发表于 2016-1-20 11:47 | 显示全部楼层
NE5532 发表于 2016-1-20 08:51
把232转换板脱开,检查你单片机的RXD是否为高?是否上拉?是否悬浮输入?是否RX一直在运行造成TX无法发送? ...

是IO口配置问题,已经解决,谢谢大侠:handshake:handshake!
 楼主| yuson102 发表于 2016-1-20 11:48 | 显示全部楼层

是IO口配置问题,已经解决,谢谢大侠:handshake:handshake!
antusheng 发表于 2017-10-18 11:02 | 显示全部楼层
找不到呢,原来这么解决了,一搜就找到这个答案了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

20

帖子

1

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