其实很简单,就是初始化之后,向单片机发送字符串,然后我在单片机有个这样的程序
- void transmit(unsigned char *dat)
- {
- unsigned int i;
- for(i=0;i<5;i++)
- {
- SBUF0 = dat[i];
- while(!TI0);
- TI0 = 0;
- }
- }
复制代码可以直接发送到SBUF里,当然,串口接收单片机里也写好了,而且已经通过串口助手检测无误了(串口助手里发送什么就能收到什么)
现在的目的是想在C#的环境里像单片机发送字符串,然后通过串口助手检测单片机是否能收到,但现在的问题是,每回发送都显示错误,C#串口部分的代码真的很简单,如下所示:
- private void button1_Click(object sender, EventArgs e)
- {
- try
- {
- label2.Text = "ff"+label3.Text + label1.Text;
- serialPort1.PortName = "COM4";
- serialPort1.BaudRate = 9600;
- serialPort1.DataBits = 8;
- serialPort1.Parity =System.IO.Ports.Parity.None ;
- serialPort1.StopBits = System.IO.Ports.StopBits.One;
- serialPort1.Open();
- byte[] data = Encoding.ASCII .GetBytes(label2.Text);
- string str=Convert .ToBase64String (data);
- serialPort1.Write (str);
- MessageBox.Show("success!", "congadualation");
- }
- catch (Exception ex)
- {
- MessageBox.Show("error", "waring");
- }
- }
复制代码不知道哪里错了,另外当我插上串口线之后电脑显示的的是COM4,我觉得这应该没问题吧,波特率9600我单片机里面也是这样的
此帖出自
小平头技术问答
一周热门 更多>