QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
源程序如下:. ]; a. h5 i0 |+ h- M

; {, {$ l5 K& y) c/ m#include <reg51.h>) a' _- M0 ]" o1 B
#define MESSAGE_LEN 3    // 定义数据长度
( O+ g0 \, H) h. ?; N, runsigned char message[MESSAGE_LEN];
, ^; \+ [" e( v; tvoid init_serialcomm()
4 k- g% ]7 N' J: u0 {{& V! t2 \3 T8 ]* m- Z& Q
TMOD = 0x20; // 设置定时器1为工作方式1,波特率9600,初值为0X20
% b, S& _  o. x2 {  Q0 ?3 a TH1 = 0xfd;
! B* {8 J, v) I  e, |6 Z TL1 = 0xfd;3 a# q. `/ w3 w% Z$ S) k+ L
TR1 = 1;
3 K" V! c0 O% f2 p SCON = 0xd8;& x6 p+ K) Q6 Q, ~- I% _3 X
PCON = 0x00;( x9 B  w' t# ?5 D
IE = 0x90;( i/ O0 U3 L/ n  }
}
; j2 n/ c; f6 m' _. c' Mvoid putchar(unsigned char ch)    // 串口发送一个字符6 S: Q6 b3 n$ H3 T: G
{8 @2 W. h' W( n0 m5 h5 `3 @( q9 I' _
SBUF = ch;
+ c! |" t! L) s while (TI == 0);
/ v2 H% g* |% h) ?; w2 m TI = 0;
6 Y% ?2 ~% \! w& v% o& Y9 c' [$ Y' p' [/ ?}  Y7 b! Z! I3 A; u
void send_message(void)    // 串口发送字符串0 q2 I0 b6 W( ?5 B6 S; H& U
{" T; T7 `! e+ J
unsigned int i = 0;
2 l8 l# O" T4 t# [ do
" F5 X+ d! X# L: g) z! j4 Y {
6 e: ~2 |' z4 V1 Y" @& [# _# t  putchar(message[i]);
& ?9 m" O" s; R  i++;
$ y) n3 |* Y2 z: F2 l } while (i < MESSAGE_LEN);3 }  }5 f( p5 G6 p( R$ a
}
: ^2 L0 V' s# _! c7 a/ \; ]$ mmain()
0 ]" ]- u' f6 }/ M* ?% Q1 [{
1 |! ^8 Z7 ]; z8 t3 o2 Y' ]- P7 Q message[MESSAGE_LEN] = {'M','C','S'};4 G/ T* c0 z- F9 |1 x2 a
init_serialcomm();- N8 Z9 I/ Z8 X. Z% v4 m4 d1 f
send_message();$ G; }/ |/ s+ z4 m( ~
}' U+ Z/ E' f7 j. g+ i! ~

: v6 n) W) \! X0 t8 Q使用KEIL编译后模拟仿真,在串行口输出窗口输出“MMCS”) u8 G, T9 `4 L  n8 X
本想显示“MCS”,为什么会显示错呢?
! I( }8 I- D7 ?/ }3 G6 @9 p# R- n+ t: y0 q% K9 U
哪位高手可以指导一下呢?
发表于 2010-8-13 11:22:05 | 显示全部楼层 来自: 中国湖南株洲
数据发送重复了;8 V: n) B# k1 A% t! c
unsigned int i = 0;
0 @+ B  D" q9 p" w' |do9 R5 b7 d$ O0 r3 {. U0 M4 l! s; b
{putchar(message[i]);' @: z& s' u$ o/ ], \
i++; . r8 w3 @' E. `4 u( g5 M2 w5 p
} while (i < MESSAGE_LEN);+ L$ Z' L! s! @1 M9 x' I8 }/ [) k
这句是否有问题。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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