导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→高手指点一下,上位机为何收不到数据?

* 27364: 高手指点一下,上位机为何收不到数据?

   fjddxx 
fjddxx发表的帖子 

 高手指点一下,上位机为何收不到数据?
下位机部分:(ADuC824是51内核)
#include   <ADuC824.h>  
sbit P3_4=P3^4;

#define Uchar unsigned char
#define Uint unsigned int
Uint i;
void main(void)
{

Uchar k = '5';

TMOD=0x20;                   /*8wei changshu zidong zhuangzai  dinshi qi*/
TH1=0xfd;        /*11.0592MHZ*/
PCON=0x00;                     /*botelv:SMOD=0  */
TR1=1;                          /*qidong jishu*/
SCON=0x52; 
P3_4=1;                /*信号灯*/    
ES=1;                            /*chuankou kai zhongduan*/
EA=1;                              /*cpu kai zhongduan */

SBUF=k;
while(1){}; 

}                                  


void ssio(void) interrupt 4 using 1
{
Uchar a;
Uchar b;
a='5';

P3_4=0;
TI=0;
RI=0;
ES=0;
b=SBUF;   /*关串口中断*/
for(i=0;i  <10000;i++){}
P3_4=1;  
ES=1;

}      


上位机部分:(VB)
Private Sub Command1_Click()
Dim b As String

   MSComm1.PortOpen = True
      b = MSComm1.Input
     Text1.Text = CStr(b)
   MSComm1.PortOpen = False
End Sub

Private Sub Command2_Click()
   Dim c As String
   
   MSComm1.PortOpen = True
  c = Text1.Text
 MSComm1.Output = c
   MSComm1.PortOpen = False

End Sub

Private Sub MSComm1_OnComm()
   MSComm1.CommPort = 1
   ' 9600 波特,无奇偶校验,8 位数据,一个停止位。
   MSComm1.Settings = "9600,N,8,1"
   ' 当输入占用时,
   ' 告诉控件读入整个缓冲区。
   MSComm1.InputLen = 0
   ' 打开端口。
   MSComm1.InBufferCount = 0 '数据传输区清零
   MSComm1.OutBufferCount = 0 '数据传输区清零

End Sub
                          


发表时间:2003年4月25日10:45:28

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  27374.[详细]试试
摘要:只有MSComm1.PortOpen = True.上位机才接收数据,一般的做法是一启动程序就打开串口,程序结束时关闭串口.......(97字)
- [guest][1002次] 2003年4月25日

[上一篇帖子]:以前的电子竞赛题可以查95年的题目 你也可以发信到我的邮箱:bilborn258@hotma
[下一篇帖子]:[求助]请问谁能推荐一个压降小于0.2的三极管?我为了省电在IC的VDD加了个开关管,但这个管子管压