QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2456|回复: 1
收起左侧

[求助] 请教关于C51串口的问题

[复制链接]
发表于 2010-8-13 08:59:04 | 显示全部楼层 |阅读模式 来自: 中国上海

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
源程序如下:
4 o6 N- a) E: W
" ^' z% \7 g9 c& a#include <reg51.h>
+ I$ ~: v' N9 F6 r# g7 a, {" F5 y* p#define MESSAGE_LEN 3    // 定义数据长度
4 N# o8 V  U( |% l; J2 Y9 yunsigned char message[MESSAGE_LEN];, ?# f9 k+ V7 H
void init_serialcomm()+ V; i0 t5 @* i) w
{
" Q6 Z+ g" n0 y4 ?5 D1 } TMOD = 0x20; // 设置定时器1为工作方式1,波特率9600,初值为0X20% P* F$ \* w# E2 i( v: Q" }# r2 O0 s
TH1 = 0xfd;1 v( N4 w: O6 d5 K; t4 k" Y
TL1 = 0xfd;
9 }9 L! [( I" p  s' y: { TR1 = 1;- y5 W! a* X+ ~% g$ ^' t. W
SCON = 0xd8;! M; ?- n  C! K4 o5 q; K& F
PCON = 0x00;
" X. }+ a7 R* J# r' O- _! b IE = 0x90;
' i/ v7 B" J$ E3 C, Y}  X/ P" r& W. A: }+ e8 t0 R
void putchar(unsigned char ch)    // 串口发送一个字符
1 E$ k+ _! \1 ^, M; M0 Z  I{, T' g" Y3 l1 h' r. e3 ]% k; w
SBUF = ch;
2 j4 u/ D% x2 V while (TI == 0);
8 P0 {# D9 ^% N  r# }% A# q$ U9 l TI = 0; - g. d; ]: w$ V- [  K
}( X0 l8 U4 l, s3 F! Q
void send_message(void)    // 串口发送字符串) A! }6 z  C; ]$ x' J% t; {6 x
{$ J) |5 w6 X. K& A6 L
unsigned int i = 0;1 q* o) |/ F& R6 F8 g; u
do
$ q& ^% h$ N3 c+ Y, D {* C5 b8 }# s- M5 h2 ~5 o
  putchar(message[i]);% I2 T3 d5 r1 C* y/ |9 \
  i++; 3 K. H: t. y" O1 O6 ^
} while (i < MESSAGE_LEN);$ t9 E# a. g5 \  F
}5 J+ N8 Q! ^; G" E2 Y1 X
main()& ~( b: {! b0 ?. v$ H
{7 s# F. b* i. a3 T+ Q
message[MESSAGE_LEN] = {'M','C','S'};
7 {$ Y5 e( k# P9 R init_serialcomm();
" W3 }+ H' F+ `# H send_message();
2 R: H6 b& Y+ p+ m6 E. y}
4 s" V5 i8 `, C* O- p4 ]$ u+ i$ P  ]. S1 C
使用KEIL编译后模拟仿真,在串行口输出窗口输出“MMCS”
- Q; n: E+ K# B1 K% S8 S6 h本想显示“MCS”,为什么会显示错呢?" B4 s& P) P: I' A

  N- Q2 U( X2 [" Y5 x2 }哪位高手可以指导一下呢?
发表于 2010-8-13 11:22:05 | 显示全部楼层 来自: 中国湖南株洲
数据发送重复了;  J) h. l2 ?9 t* w: O, `8 ~
unsigned int i = 0;
  ]  `% J4 b8 u/ [( T, Y; ydo* G6 z$ h& R& v4 [3 N2 S) T3 ?4 Y
{putchar(message[i]);
5 c$ z5 }8 T0 \0 x- r0 H i++; * B1 P$ S8 `$ |* B
} while (i < MESSAGE_LEN);- v  s7 h2 U0 z) \, |) `
这句是否有问题。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表