當前位置:首頁 » 編程軟體 » vs2010串口編程

vs2010串口編程

發布時間: 2022-02-22 04:10:57

『壹』 怎麼在VS2010中添加串口通信程序開發控制項!本人菜鳥,對這個開發工具不熟悉!

第一次使用Dex控制項開發Winfrogm程序,現在遇到RibbonMain主窗體的頂部菜單默認隱藏,點擊ribbon才顯示。這樣可以節約界面空間。但是找不到設置地方。而且是在其他人坐的winform程序上有這種效果的。

『貳』 誰做過 vs2010 c# WindowsForms下的 串口通信

using UnityEngine;
using System.Collections;
using System;
using System.IO.Ports;
using System.Threading;
using System.Text.RegularExpressions;
using System.Runtime.InteropServices;
using System.IO;
using System.Diagnostics;
public class planeControl2 : MonoBehaviour
{
private static SerialPort _serialPort;
static bool _dataIsOK = false;
private static Vector3 _eulerAngles = new Vector3(0, 0, 0);
public string portName = "COM6";
public int baudrate = 115200;
GameObject plane;
Thread readThread = new Thread(Read);
Thread _scmd = new Thread(_cmd);
static ProcessStartInfo _Log = new ProcessStartInfo("cmd.exe");
private static StreamReader reader;
private static Process p;
static StreamWriter stdlog;
static bool isopen = false;
public static void _cmd(){
while(true){
if (p == null)
{
p = Process.Start(_Log);

StreamWriter stdlog = p.StandardInput;
}
//Console.ReadLine();
if(p.StandardOutput!=null){
p.StandardOutput.ReadLine();
// p.StandardInput.WriteLine("ssss");

}
// string str = _scmd..ReadLine();
}
}
// Use this for initialization
// start.UseShellExecute = false;

void Start()
{

_Log.RedirectStandardInput = true;
_Log.RedirectStandardOutput = true;
_Log.UseShellExecute = false;
_Log.FileName = "cmd.exe";
_scmd.Start();
stdlog.WriteLine("hello");
_serialPort = new SerialPort(portName, baudrate, Parity.None, 8, StopBits.One);
_serialPort.ReadTimeout = 500;
try
{
_serialPort.Open();
}
catch (Exception)
{
//Debug.Log(e);
}
readThread.Start();
plane = GameObject.FindWithTag("plane");

}

// Update is called once per frame
void Update()
{
if (_dataIsOK)
{
plane.transform.localRotation = Quaternion.Slerp(Quaternion.Euler(plane.transform.eulerAngles), Quaternion.Euler(_eulerAngles), (float)0.4 * Time.time);
_dataIsOK = false;
}

}
void OnGUI()
{


//_serialPort.Close();
string str = "";
// GUI.TextField
str = GUILayout.TextField(str, 20);
GUI.Label(new Rect(20, 20, 50, 20), "用戶名");
string userName = "", userPassword = "", info = "";
userName = GUI.TextField(new Rect(80, 20, 100, 20), userName, 15);//15為最大字元串長度
//密碼
GUI.Label(new Rect(20, 50, 50, 20), "密 碼");
userPassword = GUI.PasswordField(new Rect(80, 50, 100, 20), userPassword, '*');//'*'為密碼遮罩
//信息
GUI.Label(new Rect(20, 100, 100, 20), info);
//登錄按鈕
if (GUI.Button(new Rect(80, 80, 50, 20), "登錄"))
{
if (userName == "zuoyamin" && userPassword == "123")
{
info = "登錄成功!";
}
else
{
info = "登錄失敗!";
}

}
}
public static void Read()
{
while (true)
{
try
{
string message = _serialPort.ReadLine();
MatchCollection mc = Regex.Matches(message, @"-?([1-9]d*|0(?!.0+$)).d+");
float[] strdatafloat = new float[4];
int i = 0;
foreach (object m in mc)
{
if (i > 2)
{
//Debug.Log("Error! i>2");
}
else
{
strdatafloat[i] = (float)Convert.ToDouble(m.ToString());
//Debug.Log(m.ToString());
}
i++;
}
if (_dataIsOK == false)//update已經成功處理數據
{
_eulerAngles = new Vector3(strdatafloat[0], strdatafloat[1], strdatafloat[2]);
_dataIsOK = true;
}

}
catch (TimeoutException)
{
//Debug.Log(e);
}
}
}
void OnApplicationQuit()
{
p.Close();
_scmd.Abort();
readThread.Abort();
_serialPort.Close();

}
}
ps:這是在我的unity里用C#寫的代碼,負責將串口的數據解析,原理是雙線程,一個線程負責讀取,一個負責渲染,至於你說的怎麼寫,建議關注msdn上的serialport類的描述


『叄』 visual studio 2010 或者2013 串口通信 使用serialport的具體操作

樓主用的什麼語言?C還是C#來編寫,C語言裡面應該是叫CSerialPort類,C#裡面是在 System.IO.Ports::SerialPort。
可以參考一下MSDN的C#說明,https://msdn.microsoft.com/zh-cn/library/system.io.ports.serialport.aspx

『肆』 VS2010基於C#編寫的窗體應用程序,串口讀取數據,轉換為到text.box里顯示,如何實現實時

有一個datareceive事件 可以檢測接收數據時觸發. 觸發後讀取即可.

一般來說,理論就是上面這樣處理.

『伍』 你好,請問你在vs2010中使用SerialPort類進行串口通信編程實現了沒有啊我現在做這個,不知道該怎麼做

.net 後 微軟 的 mscomm 控制項 改名 為 serialport

用 這個 試試

『陸』 我用C#語言在vs2010中編寫了一個串口接收數據的程序,程序可以正常運行,可是運行大概幾分鍾電腦就

沒代碼怎麼看?

『柒』 如何在Vs2010基於MFC下,編寫代碼,強行佔用【串口】

這可能是USB線的原因,接觸不良,或者由此引起的驅動崩潰,從應用代碼來說,無法修復的,類似根基爛了,只能重建。

『捌』 vs2010中調用什麼函數才能得到串口數據

可以用 serialport 組件

『玖』 如何利用vs2010 mfc 界面編程一個串口通信

.net的SerialPort在System.IO命名空間中,很好用的。
界面的設計可以參考現有的軟體
像格西烽火、串口調試助手等都不錯。

『拾』 用vs2010編寫comm的串口程序已經編譯成功了,為什麼不能接收

初始化 加上 m_cComm.inputmode(1);1表示以2進制傳輸.

熱點內容
電腦登陸加密 發布:2025-01-16 05:21:57 瀏覽:151
安卓怎麼修復閃退 發布:2025-01-16 05:21:54 瀏覽:553
易盾加密 發布:2025-01-16 05:20:51 瀏覽:893
html上傳圖片的代碼 發布:2025-01-16 05:16:55 瀏覽:600
搭建伺服器租用電信的怎麼樣 發布:2025-01-16 05:12:32 瀏覽:48
phpmysql源碼下載 發布:2025-01-16 05:12:31 瀏覽:210
python安裝依賴包 發布:2025-01-16 05:11:45 瀏覽:995
澳門雲主機品牌伺服器 發布:2025-01-16 05:06:55 瀏覽:768
資料庫設計主要內容 發布:2025-01-16 05:02:02 瀏覽:12
存儲過程如何修改 發布:2025-01-16 05:01:55 瀏覽:633