QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
源程序如下:
6 H6 E: o9 }" W) l% K; {
+ w, W/ E% q4 Q5 g3 c2 P#include <reg51.h>9 O) F5 X- O* a7 X9 C
#define MESSAGE_LEN 3    // 定义数据长度+ y6 ]; J' n! V+ `5 j
unsigned char message[MESSAGE_LEN];
3 {$ ?8 h$ D* _) L6 K6 o* Cvoid init_serialcomm()
0 w$ H" R( E7 l: z% ?4 A{
- ~  M3 ~! E3 t/ w) z# |! J' \ TMOD = 0x20; // 设置定时器1为工作方式1,波特率9600,初值为0X206 m6 O1 n9 Z# L8 O3 [2 H' F, h
TH1 = 0xfd;
, ?6 f1 t/ ^3 |" j! w# W+ P TL1 = 0xfd;
. w- D8 X$ E* T  e0 I" Y TR1 = 1;
; f# z1 |4 b2 c) o SCON = 0xd8;& L2 T! v7 b+ i5 U+ o
PCON = 0x00;
3 ^1 H* i+ r  A+ q IE = 0x90;" _' A3 h* y" F8 W# f7 t1 T
}
0 P7 R* D6 G1 d9 y1 z, l9 rvoid putchar(unsigned char ch)    // 串口发送一个字符# R: w4 \4 V5 w; O& R3 P" {
{, M! e- G6 p+ d2 l7 G
SBUF = ch;- {& T1 `$ U* A9 |' ?3 [2 y  e, Y
while (TI == 0);  u! C% A6 d; A# [; w
TI = 0; % @; d# ^  T( [2 m, X2 E$ i
}2 G9 W$ I) o2 n& g
void send_message(void)    // 串口发送字符串
6 ~# z) C0 P- y) Z3 d2 q{
( l7 h6 L' q) V/ `' E4 R unsigned int i = 0;; v7 l, [+ ?, d0 B
do
$ Y7 l+ l; D$ v8 y6 g: ^$ C& O {
/ [: K7 _7 f0 }1 H0 K/ q1 X  putchar(message[i]);  ]' K: `6 W- _6 Y0 B
  i++; 4 b( h. K7 |" \* c4 J  e
} while (i < MESSAGE_LEN);
* ]7 a6 h3 M# Q( I! u$ H9 @7 C5 ]}
2 {7 D8 W* [' I+ H1 u# l8 Imain()
& b- N: l6 v! s* k{& Z( E9 X/ l6 w- T
message[MESSAGE_LEN] = {'M','C','S'};% }+ X0 ?2 I0 ~; M0 ~. y
init_serialcomm();+ \0 S# R  e: e9 a0 h# }
send_message();
; {6 Z5 }, `3 L, {/ o}
, u/ g) Q5 |) c/ Q: ]; J2 D4 Z8 i3 s- d7 \5 B
使用KEIL编译后模拟仿真,在串行口输出窗口输出“MMCS”
/ s/ H# Q; s( m7 m本想显示“MCS”,为什么会显示错呢?
) }$ ]* U0 A8 q5 g8 H# G% Z. d9 d+ C7 a* M
哪位高手可以指导一下呢?
发表于 2010-8-13 11:22:05 | 显示全部楼层 来自: 中国湖南株洲
数据发送重复了;
0 L6 V2 ^5 A& ?, s/ x) y5 punsigned int i = 0;; z2 w9 f  `: Y1 |
do
% v2 t4 J( q& R7 I& N0 z0 L{putchar(message[i]);
6 l  a. R& I' c; |8 J7 t* M3 a i++;
8 g5 Y5 E2 @- d+ Y/ |* F} while (i < MESSAGE_LEN);
( Y+ q; ]" l% D( d$ h这句是否有问题。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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