你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

紧急求助关于STM8 UART通讯问题

[复制链接]
eefocusyes 提问时间:2014-9-9 13:29 /
使用STM8S003串口通讯时,发现只要上电接收就收到一堆00的数据??调试几天未找到原因
接收、发送的功能都是可以的,但是接收会丢数据 .速率设置都是对的,中断也没有问题
请问软件件可能是和原因造成?谢谢!
 补充:PD5是和UART1_TX,AIN5共用的,请问是不是I/O口需要设置?要怎么设置?
目前IO口配置如下,修改为初始的也没有用
 
I/O初始化
         //-------- 电压检测=PD5口高阻配(Uart_Tx) -----------------------
        PD_DDR&=~0B00100000; //
          PD_CR1&=~0B00100000;//0B00100000;
          PD_CR2&=~0B00100000; //PD5口电源电压AD检测        0B00100000;
                //-------- 速度=PD6口高阻配置 (Uart_Rx)--------------------------
        PD_DDR&=~0B01000000; //
          PD_CR1&=~0B01000000;//0B01000000
          PD_CR2&=~0B01000000; //PD6口AD检测//0B01000000
 
void UART1_Init(void)
{       
                 UART1_CR2=0x00;//使发送禁用TEN=0;
                        UART1_CR1=0x00;//设置M字长,8位数据位
                        UART1_CR3=0x00;//1位停止位
                        UART1_SR=0xc0;
                        UART1_GTR=0x00;
                        UART1_CR4=0x00;
                        UART1_GTR=0x00;
                        UART1_PSCR=0x00;
                UART1_BRR2=0x02;
            UART1_BRR1=0x68;
                UART1_CR2 = 0x2c;    //收发使能,收中断开
}
 
void UART1_sendchar(unsigned char c)
{
PD_ODR|=0x10; 
_asm("nop");
_asm("nop");
_asm("nop");
Delay1(100);
while(!(UART1_SR & 0x80));
UART1_DR=c;
_asm("nop");
_asm("nop");
_asm("nop");
_asm("nop");
Delay1(100);
PD_ODR&=0xef;
while((UART1_SR & 0x40) ==0);//发送是否完成
}
//UART1接收中断函数:
@far @interrupt void UART1_RX_IRQHandler (void)
{
   RxBuffer = UART1_DR; //Store the received byte in RxBuffer
        // if(RxBuffer!=00)
         {
                UART1_sendchar(RxBuffer);
                }
   return;
}
 
收藏 评论12 发布时间:2014-9-9 13:29

举报

12个回答
eefocusyes 回答时间:2014-9-9 14:36:44

RE:紧急求助关于STM8 UART通讯问题

哪位大神能够帮忙一下???
全是这种00数据:
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................
废鱼 回答时间:2014-9-9 16:16:27

RE:紧急求助关于STM8 UART通讯问题

这个问题,你可以先进入烧写模式,或者把串口关闭。看看串口是不是还有这么多的乱码,排除硬件干扰引起的。
eefocusyes 回答时间:2014-9-9 16:38:16

回复:紧急求助关于STM8 UART通讯问题

回复第 3 楼 于2014-09-09 16:16:27发表:
这个问题,你可以先进入烧写模式,或者把串口关闭。看看串口是不是还有这么多的乱码,排除硬件干扰引起的。
==>我如果把串口关闭,无法观察是否有乱码啊?我现在是通过PC串口的Debug工具来侦测数据的
另外I/O有什么需要设置的吗?
谢谢!
 
废鱼 回答时间:2014-9-9 17:29:23

RE:紧急求助关于STM8 UART通讯问题

用PC串口监听就可以了。或者用示波器监听波形。
eefocusyes 回答时间:2014-9-9 18:54:46

回复:紧急求助关于STM8 UART通讯问题

回复第 5 楼 于2014-09-09 17:29:23发表:
用PC串口监听就可以了。或者用示波器监听波形。
==>用示波器从接收线上来看Tx上确实一直有波形,有数据,但我实际上没有发送,就不知道如何解决此问题!!
搞了几天了一直没搞定,觉得像是哪边初始化可能有问题,但实在没找到问题所在????
谢谢!
 
eefocusyes 回答时间:2014-9-9 18:54:48

回复:紧急求助关于STM8 UART通讯问题

回复第 5 楼 于2014-09-09 17:29:23发表:
用PC串口监听就可以了。或者用示波器监听波形。
==>用示波器从接收线上来看Tx上确实一直有波形,有数据,但我实际上没有发送,就不知道如何解决此问题!!
搞了几天了一直没搞定,觉得像是哪边初始化可能有问题,但实在没找到问题所在????
谢谢!
 
废鱼 回答时间:2014-9-10 14:32:58

RE:紧急求助关于STM8 UART通讯问题

你看一下ST的TX有没有,如果没有,说明是转换芯片上有焊错器件了。看样子像是焊了一个电容在TX上。
eefocusyes 回答时间:2014-9-10 18:47:16

回复:紧急求助关于STM8 UART通讯问题

回复第 8 楼 于2014-09-10 14:32:58发表:
你看一下ST的TX有没有,如果没有,说明是转换芯片上有焊错器件了。看样子像是焊了一个电容在TX上。
==>我是ST的Tx直接到PC COM口,把STM8S003 Tx脚上其他的都断开了,用示波器看还是一直有数据输出,真是奇怪??
 
废鱼 回答时间:2014-9-11 09:33:57

RE:紧急求助关于STM8 UART通讯问题

共地没有?另外,STM8的电平能和PC的电平匹配吗?
eefocusyes 回答时间:2014-9-11 11:17:56

回复:紧急求助关于STM8 UART通讯问题

回复第 10 楼 于2014-09-11 09:33:57发表:
共地没有?另外,STM8的电平能和PC的电平匹配吗?
==>有共地,地线有结  电平都是TTL的,可以匹配的。
如果没有UART1_Init 初始化,Tx发送脚上很干净;串口经我上面代码初始化后,上面就有一个0.5V左右的脉冲方波出现,不知道这个方波从哪来的??
 
废鱼 回答时间:2014-9-11 11:43:01

RE:紧急求助关于STM8 UART通讯问题

初始化代码发一下。
蓝色·冰川 回答时间:2017-5-23 15:26:20
同样碰到,rx一直进入中断,实际没有发数据。即使我发数据收到的也是00.楼主解决了吗?
PD_OUT(5);
  PD_10MHZ(5);
  PD_PP(5);
  PD1(5);           //PD5用于UART_TX
  PD_IN(6);         //PD6用于uart_rx
  PD_FLY(6);
RCC_UART1_ON;
  UART1_B(9600,16000000);
  UART1_STOP_1;
  UART1_L_8;
  UART1_TWOLINE;
  UART1_TX_ON;
  UART1_RX_ON;
  UART1_IE_RXNE;
  IE_ON;
  UART1_ON;  
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版