当前位置:编程学习 > C#/ASP.NET >>

接收从GPRS返回的指令,请大家帮帮忙^_^

我想用C#编程实现与GPRS握手,向GPRS发AT指令,但总是无法显示OK,当我把程序命令提示符窗口关上后,打开串口调试助手,却能直接在接收区内看到之前GPRS对之前AT指令的返回"OK",难道我从串口读数据的部分有问题么,请大家帮帮忙,小妹在此谢过了!! 
using  System; 
using  System.IO.Ports; 
using  System.Text; 
using System.Threading; 

namespace ConsoleApplication3 


    class Program 
    { 
        static void Main(string[] args) 
        { 
            SerialPort gprs = new SerialPort(); 

            gprs.Open(); 



            string command = "AT"; 



            //写缓冲区 

            byte[] writebuffer = new byte[command.Length + 1]; 

            int i; 

            //把指令字符串转换成字节数组 

            for (i = 0; i < command.Length; i++) 
            { 
                writebuffer[i] = Convert.ToByte(command[i]); 
            } 

            writebuffer[i] = 0x0D; 

            gprs.Write(writebuffer, 0, writebuffer.Length); 

            Thread.Sleep(50); 

          
            //接收缓冲区 

              int len = gprs.BytesToRead; 

            byte[] bytes = new byte[len]; 

            gprs.Read(bytes, 0, len); 
            
            //将ASCII码变成字符OK显示 

            string response = Encoding.ASCII.GetString(bytes); 

            Console.WriteLine(response); 

            Console.ReadLine(); 

          
            } 
        } 
    } 
--------------------编程问答-------------------- 是不是编码问题
在调试模式下一步步跟踪看看 --------------------编程问答-------------------- 好想你没有用datarecieved事件吧,必须添加那个委托,光sleep(50)可能不好用。那个才是接数据的,大家一起学习,我也是做串口通信的QQ:272253931 --------------------编程问答-------------------- 調試跟蹤一下,看接收到了沒有? --------------------编程问答-------------------- UP
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,