登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

大家都来说说串口通信误码率的问题?

作者:longyu 栏目:单片机
大家都来说说串口通信误码率的问题?
最近在做串口通信,不知道怎么回事,发送总是数据不对,由于港开始学单片机,所以诚心向各位大侠讨教串行通信误码率的问题!
晶振频率是11。0592MHz
还有是不是有办法可以测出晶振频率到底是不是11.0592MHZ的?

2楼: >>参与讨论
hotpower
11.0592MHZ一般不太错,可能程序设置有问题
 
3楼: >>参与讨论
后学
贴程序出来
 
4楼: >>参与讨论
longyu
程序如下!
#include<absacc.h>
uchar xdata Re_buff[16] _at_ 0x1000;/*定义接收缓冲区*/
uchar ch;

void main()
{
uchar i;
uchar len=0;
int addr;
addr=0;
for(i=0;i<200;i++)
{
P1=0x06;
XBYTE[0x1000+i]=0x00;
}
SCON=0x50;
TMOD=0x20;
TL1=0xfd;
TH1=0xfd;
PCON=0x00;
TR1=1;
//EA=1;
//ES=1;
RI=0;
while(1)
{

if(RI==1)
{
ch=SBUF;
//RI=0;
P1=0x06;
XBYTE[0x1000+addr]=ch;
  RI=0;
addr++;
len++;
}
}
}

5楼: >>参与讨论
longyu
说明一点!
这是一个死循环,是用来持续接受的.考虑到刚开始接收的数据不准确的问题,就做了个死循环,看看接收的数据是什么.
我发送01收到的是C0
以十六进制发送时,接收到的是03
请各位大侠请教 !

6楼: >>参与讨论
hotpower
调试串口最好先向PC发数据进行测试
 
7楼: >>参与讨论
1121
按楼上的方法办。先做模拟测试。
晶振频率是11。0592MHz,这不会是产生误码的原因。用6M,12M,2。4M的晶振时,才需要做误差分析。

8楼: >>参与讨论
meng730507
很明显,如果不是两边的模式设置不配对,就是波特率不对。
看一下,是不是发送的波特率太高了。

参与讨论
昵称:
讨论内容:
 
 
相关帖子
ad7715
如何将宽脉冲变窄?
欢迎来讨论一下方案(多cpu)
请大家推荐一款免费的好用的液晶LCM图形提取软件
protel99/ DXP/ powerPCB+powerlogic这三个哪个好用些呀
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号