打印
[STM8]

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

[复制链接]
3577|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重新配置的。所以第一次用这个芯片就理所当然了。

使用特权

评论回复
5
yuson102|  楼主 | 2016-1-20 11:47 | 只看该作者
NE5532 发表于 2016-1-20 08:51
把232转换板脱开,检查你单片机的RXD是否为高?是否上拉?是否悬浮输入?是否RX一直在运行造成TX无法发送? ...

是IO口配置问题,已经解决,谢谢大侠:handshake:handshake!

使用特权

评论回复
6
yuson102|  楼主 | 2016-1-20 11:48 | 只看该作者

是IO口配置问题,已经解决,谢谢大侠:handshake:handshake!

使用特权

评论回复
7
antusheng| | 2017-10-18 11:02 | 只看该作者
找不到呢,原来这么解决了,一搜就找到这个答案了。

使用特权

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

本版积分规则

6

主题

20

帖子

1

粉丝