freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

串口通信c課程設計--基于串口通信的高級語言控制程序的設計-其他專業(yè)(編輯修改稿)

2025-02-24 00:20 本頁面
 

【文章內容簡介】 ★ 制定 串口通信控制程序 的總體構架 ; ★熟悉 VC 平臺下的高級語言編程方法; 2 ★熟悉基于 RS232 串口通 信 的高級語言編程方法 ; ★ 在同一臺 PC 機上調試通過所編寫的程序; 分析 目前 Win32 中基于 VC + + 6. 0 的常用串口通信程序一般可以用兩種方法實現 : ①利用 MSComm ActiveX 串行通信控件 。 ②使用 Win2dows API 通信函數。 雖然在 Windows下 Win32API 提供了使用文件操作方式的函數進行串口 操作的方法,但是在編程實現上還是比較復雜。 Windows 平臺先進的 ActiveX 技術使得對串口編程不再需要處理煩瑣的細節(jié)。利用已有的 AxtiveX 控件,只需要編寫少量的代碼,就可以輕松高效地完成任務。因此程序員不需要花時間去了解復雜的 API 函數,只需要利用 MSComm 控件就可實現串口編程。 2 程序的主要功能 參數設置功能 設置和修改串口通信參數,包括端口,波特率,奇偶校驗位,數據位,停止位。 參數顯示功能 顯示 當前 串口通信參數 ,包括端口號,波特率,奇偶校驗位,數據位,停止位 。 打開串口功 能 參數 設置 后,才能打開串口,實現通信。 關閉串口功能 關閉串口,停止通信 。 接收數據功能 能夠進行 單個或多個數據的接收 和顯示 。 發(fā)送數據功能 能夠進行單個或多個數據的發(fā)送 。 清空數據接收區(qū)功能 刪除接收區(qū)所有數據 。 3 清空數據發(fā)送區(qū)功能 清除發(fā)送區(qū)內所有數據 。 自動發(fā)送功能 能把發(fā)送區(qū)內的數據每 2s 自動發(fā)送。 十六進制顯示功能 在接收區(qū)只顯示十六進制數,每兩個字符 一個空格。 十六進制發(fā)送功能 只能發(fā)送十六進制數,不能發(fā)送非十六進制數。 3 程序運行平臺 Visual studio 2021 具體操作如下 : ( 1) 新建 MSComm 項目,選擇 MFC 應用程序,應用程序類型選擇“基于對話框”,生成的類中選擇“ CMSCommDlg” ; ( 2)為 MSComm 項目添加新建一個 Dialog 設置對話框; ( 3)加載 MSComm 控件,添加相應的源程序,加載必要的控件; ( 4)編寫程序代碼,再編譯,鏈接,調試,執(zhí)行等,生成應用程序。 4 4 總體設計 圖 系統(tǒng)總體框架圖 5 程序類的說明 class CMSCommDlg : public CDialog { // 構造 public: CMSCommDlg(CWnd* pParent = NULL)。 // 標準構造函數 // 對話框數據 int OnCreate(LPCREATESTRUCT lpCreateStruct)。 int String2Hex(CString str, CByteArray amp。senddata)。 char ConvertHexChar(char ch)。 enum { IDD = IDD_MSCOMM_DIALOG }。 protected: 主 函 數 參數設置和顯示 打開和關閉串口 發(fā)送數據 接收數據 清空接收區(qū) 清空發(fā)送區(qū) 5 virtual void DoDataExchange(CDataExchange* pDX)。 // DDX/DDV 支持 // 實現 protected: HICON m_hIcon。 // 生成的消息映射函數 virtual BOOL OnInitDialog()。 afx_msg void OnSysCommand(UINT nID, LPARAM lParam)。 afx_msg void OnPaint()。 afx_msg HCURSOR OnQueryDragIcon()。 DECLARE_MESSAGE_MAP() public: CMSComm m_ms。 //聲明 m_msm變量為 CMSComm類型 CString m_recv。 //接收區(qū) CString m_send。 //發(fā)送區(qū) CSetupDlg mySetupDlg。 //聲明設置對話框 BYTE myCom。 //串口號碼 CString myParity。 //奇偶校驗類型 CString myBaudRate。 //通信波特率 CString myData。 //數據位 CString myStop。 //停止位 DECLARE_EVENTSINK_MAP() void OnCommMsm1()。 afx_msg void OnBnClickedSendbutton()。 afx_msg void OnBnClickedClearsend()。 afx_msg void OnBnClickedClearRecv()。 afx_msg void OnBnClickedSetup()。 afx_msg void OnBnClickedOpen()。 afx_msg void OnBnClickedClose()。 afx_msg void OnTimer(UINT_PTR nIDEvent)。 6 afx_msg void OnBnClickedCheckAutosend()。 CButton m_Open。 //打開串口按鈕 CButton m_Close。 //關閉串口按鈕 CButton m_Setup。 //設置按鈕 CString m_Para。 //通信參數顯示 CButton m_ClearRecv。 //清空接收按鈕 CButton m_ClearSend。 //清空發(fā)送按鈕 CButton m_SendText。 //發(fā)送按鈕 CButton m_ctrlHexSend。 //十六進制發(fā)送 CButton m_ctrlHexDisplay。 //十六進制顯示 BOOL m_bAutoSend。 //自動發(fā)送 }。 6 模塊分析 和 顯示 模塊 單擊主界面中的 【 設置 】 按鈕,將彈出“設置”對話框,如圖 所示,可以在該對話框中設置串口的通信參數。該命令的代碼如下: void CMSCommDlg::OnBnClickedSetup()
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1