Board logo

标题: [求助]模拟串口通信接收出错 [打印本页]

作者: jinzi410    时间: 2006-3-28 10:09     标题: [求助]模拟串口通信接收出错

for (;;)
 {  
   if (IS_PORT_L(PTD,D1))  //PTD1 是软件模拟的Rx
   { 
     zSciIn=0;
    sei;
    Delay3us(33); // 104us
     for (zSciTmp=0 ; zSciTmp<8 ; zSciTmp++) 
      { 
     if (IS_PORT_H(PTD,D1))
     {
      zSciIn+=128;
     }
     else
     {
      nop;
      nop;
      nop;
      nop;
     }
     Delay3us(33); // 104us org 30=154us
     zSciIn>>=1;
      }
    cli;
   }         
  DelayMs(10);
   OutSciChr(zSciIn);


输出的字符总变   不知道是什么原因?输出应该没什么问题。请高手帮忙看一下。


作者: strongchen    时间: 2006-3-28 10:43

还是要用示波器看一下波形及频率是否正确。
作者: jinzi410    时间: 2006-3-28 10:54

main
{
for (;;)
{ if (IS_PORT_L(PTD,D1))
{
zSciIn=0;
sei;
Delay3us(15); // 104us
for (zSciTmp=0 ; zSciTmp<8 ; zSciTmp++)
{
Delay3us(33); // 104us org 30=154us
zSciIn>>=1;
if (IS_PORT_H(PTD,D1))
{
zSciIn+=128;
}
else
{
nop;
nop;
nop;
nop;
}

}
cli;
}
DelayMs(10);
LCD_ChrOut(zSciIn);
OutSciChr(zSciIn);
}
频率应该没问题,因为我发送字符串的 好用,接收的的字符好像不是完整的,偶尔也会显示正确,但总是在几个乱码之间变化.
作者: feifeiyue    时间: 2006-8-25 09:58

我现在也在做模拟串口,我的发送数据用示波器观察不到。请问频率是根据什么设置的呢?我不知道问题出在哪?根据什么设定传输频率了,我用的GZ60,根据它的串口设置波特率马? 还是什么?




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0