QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 2433|回复: 1
收起左侧

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

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

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

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

x
源程序如下:& P$ Q& Y: M# n( V( Q3 z$ U
# l; D: K- c, ~
#include <reg51.h>
* B8 d4 ^& R+ i' h+ a' k3 g/ O#define MESSAGE_LEN 3    // 定义数据长度
" I7 u% [$ Z0 C" Hunsigned char message[MESSAGE_LEN];
# v; x1 D# C2 P1 S. y% e0 c/ z+ R! Tvoid init_serialcomm()
" o$ w: X4 d. I% `' t{
0 ^+ j6 F6 W5 t0 y5 v* D TMOD = 0x20; // 设置定时器1为工作方式1,波特率9600,初值为0X20. y' o, _& k( v" `% e; k& {) v1 g
TH1 = 0xfd;4 Z- b% L: Z2 {7 h
TL1 = 0xfd;* [/ h- q  p$ [/ y, w
TR1 = 1;, }& L7 c' {; M. x" P
SCON = 0xd8;
& v! a! f6 h5 J+ e PCON = 0x00;9 c6 w& R/ `6 Y: a3 ~4 ~% E
IE = 0x90;( d# e8 _6 r6 Z/ L
}$ L$ N9 C% H) p3 Q" p4 E
void putchar(unsigned char ch)    // 串口发送一个字符  Y: l1 Z8 A* b& l/ P, @* d
{+ S9 N5 x; C3 ?; t: u, P
SBUF = ch;7 k3 Y- x6 P5 m) o1 G$ {" u
while (TI == 0);; m# F* z% H  G6 Y
TI = 0; ' t# g+ Y9 X8 P& o0 {
}( x0 h( L) J  u  T8 v
void send_message(void)    // 串口发送字符串
5 E1 T& t& \( c  I4 ]; @& G* i{
1 x, G' M. }3 T1 f0 l5 [+ H unsigned int i = 0;
5 {3 H, d) J1 T: k% h3 q0 g do
! V0 C( v  T0 k  @5 o8 n {8 _. i- Y/ A, Z; A& x
  putchar(message[i]);
6 Y- r/ K' F4 p- W, e9 r  i++;
6 {* e  W, l" T9 v. n6 y& w } while (i < MESSAGE_LEN);
5 P3 h$ ]" W& c/ S}/ l8 M/ X9 W, P" H
main()
' h9 c7 D' }7 V; u{
% a( {+ R$ z! h" |3 \ message[MESSAGE_LEN] = {'M','C','S'};  t! V) [3 X* d' H% U6 i* \
init_serialcomm();
( F/ E$ w* v8 O9 F: N send_message();
# Z, p$ u( U/ Y6 z( O}
+ j3 P2 H; X$ r; e- s
" m6 V: T6 l4 e3 ?% D1 Y/ T使用KEIL编译后模拟仿真,在串行口输出窗口输出“MMCS”
6 `: f4 `" o/ L3 W. E' o, C本想显示“MCS”,为什么会显示错呢?
3 ~4 z/ n$ z- O$ Y6 C8 ^2 f
( h( @) e' P3 S# X1 O5 P* C: n! ^哪位高手可以指导一下呢?
发表于 2010-8-13 11:22:05 | 显示全部楼层 来自: 中国湖南株洲
数据发送重复了;
! [$ H+ i$ T/ O3 v* S5 Q, Ounsigned int i = 0;
) ^. m$ j* P8 W# D& R+ N" t) K& E7 l# jdo
. F- t/ O0 y$ B{putchar(message[i]);
  k# t+ ]# H0 O- l) M3 O# k% w i++; . B/ J1 o: R7 V7 u2 w! j
} while (i < MESSAGE_LEN);
7 ^' S- B7 P+ b这句是否有问题。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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