c# 232接口 通信

本人初学单片机,想用232接口将开发板的数据传到计算机里(光盘里有232接口的通讯例程,应该没有错误)在上位机这里,我想用c#做个小程序(改的参考书上的例程,错误应该是在... 本人初学单片机,想用232接口将开发板的数据传到计算机里(光盘里有232接口的通讯例程,应该没有错误)在上位机这里,我想用c#做个小程序(改的参考书上的例程,错误应该是在这里吧)
不知道哪里的问题,一按"调试"就不动了(不是死机,像一直在运行,生成的时候也没有错误.)
程序如下,恳请各位大神帮忙,如果成功,另有50分奖励.
232的例程(这个是盘里的,应该没有错):

#include <REG52.H>
#include <stdio.h>

void delay(unsigned int i); //函数声明

char code MESSAGE[]= "普中科技助您学习RS232 ,请使用串口调试助手: ";
unsigned char a;

void main (void) {

SCON = 0x50; //REN=1允许串行接受状态,串口工作模式2
TMOD|= 0x20; //定时器工作方式2
PCON|= 0x80; //波特率提高一倍
// TH1 = 0xFD; //baud*2 /* reload value 19200、数据位8、停止位1。效验位无(11.0592)
TH1 = 0xF3; // //baud*2 /* 波特率4800、数据位8、停止位1。效验位无 (12M)
TL1 = 0xF3;
TR1 = 1; //开启定时器1
ES = 1; //开串口中断
EA = 1; // 开总中断
// IE = 0x0;

while(1)
{ a=0;

while(MESSAGE[a] != '\0')
{
SBUF = MESSAGE[a]; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI); // 等特数据传送 (TI发送中断标志)
TI = 0; // 清除数据传送标志

a++; // 下一个字符

}
delay(1000);
}

}

/**************************************************

延时处理程序

**************************************************/

void delay(unsigned int i)
{
unsigned char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--) ;

}

在下改写的c#(照着参考书改的,就改了按键1的内容,就改了,这一段,估计错误就在这里了,生成还都没有错,调试也行,就是一按按钮,就不动了):
**************************************************************

namespace 通过串口接收数据
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM5";
serialPort1.BaudRate = 4800;
serialPort1.Open();
byte[] data = Convert.FromBase64String(serialPort1.ReadLine());
textBox1.Text = Encoding.Unicode.GetString(data);
serialPort1.Close();
MessageBox.Show("数据接收成功!","系统提示");
}
private void Form1_Load(object sender, EventArgs e)
{

}
}
}
能不能说得再详细一些啊,谢谢了
展开
 我来答
楼宛曼4E
2010-08-02
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
a=0;

while(1)
{

while(MESSAGE[a] != '\0')
{
SBUF = MESSAGE[a]; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI); // 等特数据传送 (TI发送中断标志)
TI = 0; // 清除数据传送标志

a++; // 下一个字符

}
delay(1000);
}

a清零应在循环之外。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
EE_Sure
2010-08-13 · 超过11用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:29.4万
展开全部
你又邮箱吗,我这有全套的东西,可以发过去。c#的上位,c的下位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eric_3344
2010-08-01 · TA获得超过645个赞
知道小有建树答主
回答量:1069
采纳率:53%
帮助的人:407万
展开全部
这几几年的教程了,这么老,直接设置下串口发送数据不就结了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式