亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

控制臺不顯示來自串行端口的整個 answar

控制臺不顯示來自串行端口的整個 answar

C#
翻閱古今 2023-08-20 14:56:26
我正在使用移遠通信的 BC66 調制解調器。在我的程序中,當我向調制解調器輸入一些 AT 命令時,它無法顯示調制解調器的完整響應,而是顯示 AT 命令的回復。見下圖:相反,使用終端程序并鍵入 AT 命令,我得到了請求的狀態。見下圖:這是我在程序中所期待的,但不幸的是沒有發生。代碼片段:static void Main(string[] args)        {            if (InitPort() == true)            {                Console.WriteLine("Port initialized");                TestAT();            }        }private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e){     byte[] data = new byte[serialPort.BytesToRead];     serialPort.Read(data, 0, data.Length);     Console.WriteLine(Encoding.ASCII.GetString(data));     //Console.WriteLine(serialPort.ReadExisting());}private static void TestAT(){     for (int i = 0; i < 10; i++)     {        serialPort.Write("at");        Thread.Sleep(2000);        serialPort.Write("at+cereg");        Thread.Sleep(2000);     }}private static bool InitPort()        {            serialPort.PortName = "COM51";            serialPort.BaudRate = 115200;            serialPort.DataBits = 8;            serialPort.Parity = Parity.None;            serialPort.StopBits = StopBits.One;            serialPort.DataReceived += SerialPort_DataReceived;            try            {                serialPort.Open();                return true;            }            catch            {                return false;            }        }關于哪里出了問題有什么建議嗎?
查看完整描述

1 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

正如您在第 7 頁上看到的,您需要使用 來完成命令<CR><LF>。

必須在每個命令行的開頭設置“AT”或“at”前綴。輸入<CR>將終止命令行。

在 C# 中,等價的是\r\n

正如@Mong Zhu 指出的,你可以通過使用來實現這一點?serialPort.WriteLine("at");


查看完整回答
反對 回復 2023-08-20
  • 1 回答
  • 0 關注
  • 130 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號