QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
源程序如下:
9 c0 `: [; z# p8 w: R7 ~& r. W" |7 e/ I, `5 X6 p+ C; T
#include <reg51.h>
4 Q2 _* T! r- V6 k; `, C8 \#define MESSAGE_LEN 3    // 定义数据长度; _1 Z* K& @/ M& r
unsigned char message[MESSAGE_LEN];
' T! H& E: U; [+ h# Kvoid init_serialcomm()
+ U3 n" M1 H3 b0 ?{
+ }' R  n& S5 I1 b TMOD = 0x20; // 设置定时器1为工作方式1,波特率9600,初值为0X20& s) Q- t0 x2 i# m* o
TH1 = 0xfd;
3 G. l& e4 ]3 W0 e- i/ X0 D' X7 e TL1 = 0xfd;
. E3 @+ _/ `# F1 x- F TR1 = 1;
* ]( f# a/ N+ s* u' d6 x SCON = 0xd8;* A$ B2 h: ]1 S  o/ ]
PCON = 0x00;0 I. D& u* s% {6 l. T4 g( `. q" [7 X
IE = 0x90;
/ |# e' I, N3 j* @  y5 B7 ?, h; g}
, Y8 O; g1 M1 a/ n& L% }( ~# M) Fvoid putchar(unsigned char ch)    // 串口发送一个字符
2 r& y$ i$ w, W- x' U* K* [{
; C; e2 J! h1 t5 K7 I0 T2 U6 U$ V SBUF = ch;
- x0 P2 n7 W4 f2 q& l( g while (TI == 0);# c; c* M% X* Z0 [. ~
TI = 0;
# c3 i: ~1 b% {! @, o" s- z}
6 X4 W. f+ I& \' k- xvoid send_message(void)    // 串口发送字符串+ X8 F8 }. f# |' _5 F1 W- t
{
/ S9 s: a9 d  N( k/ n) e6 a, R4 [ unsigned int i = 0;4 M4 M9 y. Z* U2 S9 W
do
" [6 x9 |+ B% d/ q/ ?$ Y {* Q7 B( \3 L$ |0 j5 s' N
  putchar(message[i]);
, g3 X2 O# g$ g  r% w7 i  i++;
- y" t' h0 M5 @ } while (i < MESSAGE_LEN);
; O7 w2 n4 v8 ~& C5 {* z}6 U# t! G, w) k- H+ o. C
main()5 Y6 O1 i" A/ l- d
{, U5 b' m; D) V
message[MESSAGE_LEN] = {'M','C','S'};
+ O  }* Z) |, ]  Q3 W" L init_serialcomm();/ R4 R$ ~1 v, I1 S
send_message();/ c. u) \; `9 O3 c0 J( w3 X9 ?
}4 X8 Y% Y$ p$ @( t4 f6 q! {

: e( ]; t- r) L; L使用KEIL编译后模拟仿真,在串行口输出窗口输出“MMCS”# U: j* W3 P! A2 q0 w) J3 `
本想显示“MCS”,为什么会显示错呢?
6 _! ^; h) `# q' J# y% P, y- U+ v+ A* \0 q9 G
哪位高手可以指导一下呢?
发表于 2010-8-13 11:22:05 | 显示全部楼层 来自: 中国湖南株洲
数据发送重复了;6 d; X. M7 C" m
unsigned int i = 0;9 q7 u+ l7 v: R- G* c
do4 _; q! V9 {: h9 p' k
{putchar(message[i]);
9 L% Z* s! V2 H( T1 X$ O! D i++; ! ]6 y9 ~3 k% |8 f
} while (i < MESSAGE_LEN);9 T9 Y+ d: f: N2 g. C) m" g
这句是否有问题。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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