
要用C写一个串口之间通信并显示内容的程序
可能是液晶显示与串口通信程序在时间上冲突了,在显示时串口中断了,打乱了显示程序的时序,显示时应关掉中断或停止串口通信。
C语言串口问题
你好
波特率设置的对吗
求C++ C语言大神帮忙弄一个串口通信的代码
这是我以前写的一个串口通讯文件,全部贴出来了,希望对你有帮助,包括设置,发送,接受数据,你可以好好看看,祝你成功\\\/\\\/ 串口Dlg.cpp : 实现文件\\\/\\\/#include stdafx.h#include 串口.h#include 串口Dlg.h#include afxdialogex.h#ifdef _DEBUG#define new DEBUG_NEW#endif\\\/\\\/ 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialogEx{public: CAboutDlg();\\\/\\\/ 对话框数据 enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); \\\/\\\/ DDX\\\/DDV 支持\\\/\\\/ 实现protected: DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD){}void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialogEx::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)END_MESSAGE_MAP()\\\/\\\/ C串口Dlg 对话框C串口Dlg::C串口Dlg(CWnd* pParent \\\/*=NULL*\\\/) : CDialogEx(C串口Dlg::IDD, pParent) , m_Selection(0) , m_recv(_T()) , m_send(_T()){ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void C串口Dlg::DoDataExchange(CDataExchange* pDX){ CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_MSCOMM1, m_CMscomm); DDX_Control(pDX, IDC_COMBO2, m_CComboBox); DDX_Text(pDX, IDC_RECV, m_recv); DDX_Text(pDX, IDC_SEND, m_send);}BEGIN_MESSAGE_MAP(C串口Dlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &C串口Dlg::OnBnClickedButton1) ON_CBN_SELCHANGE(IDC_COMBO2, &C串口Dlg::OnSelchangeCombo2) ON_WM_LBUTTONDBLCLK() ON_BN_CLICKED(IDC_BUTTON2, &C串口Dlg::OnBnClickedButton2) ON_WM_DRAWITEM()END_MESSAGE_MAP()\\\/\\\/ C串口Dlg 消息处理程序BOOL C串口Dlg::OnInitDialog(){ CDialogEx::OnInitDialog(); \\\/\\\/ 将“关于...”菜单项添加到系统菜单中。
\\\/\\\/ IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } \\\/\\\/ 设置此对话框的图标。
当应用程序主窗口不是对话框时,框架将自动 \\\/\\\/ 执行此操作 SetIcon(m_hIcon, TRUE); \\\/\\\/ 设置大图标 SetIcon(m_hIcon, FALSE); \\\/\\\/ 设置小图标 \\\/\\\/ TODO: 在此添加额外的初始化代码 m_CMscomm.put_CommPort(2); if(m_CMscomm.get_PortOpen()) m_CMscomm.put_PortOpen(0);\\\/\\\/解除占用 m_CMscomm.put_PortOpen(1);\\\/\\\/打开串口 static CString str(9600,n,8,1); m_CMscomm.get_Input(); m_CMscomm.put_RThreshold(1); m_CMscomm.put_Settings(str); static char ch[10]; CString str1(com); for(int i=1;i<10;i++) { itoa(i,ch,10); m_CComboBox.AddString(str1+ch); } m_CComboBox.SetCurSel(0); return TRUE; \\\/\\\/ 除非将焦点设置到控件,否则返回 TRUE}void C串口Dlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialogEx::OnSysCommand(nID, lParam); }}\\\/\\\/ 如果向对话框添加最小化按钮,则需要下面的代码\\\/\\\/ 来绘制该图标。
对于使用文档\\\/视图模型的 MFC 应用程序,\\\/\\\/ 这将由框架自动完成。
void C串口Dlg::OnPaint(){ if (IsIconic()) { CPaintDC dc(this); \\\/\\\/ 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast
HCURSOR C串口Dlg::OnQueryDragIcon(){ return static_cast 跟普通文件的操作或数据库的操作一样的。 如果串口数据并非都是文本内容,那么存储时应该用二进制方式。C ++串口通信
求一个C语言操作串口接受数据的程序,(传感器与电脑连接。
需要读取传感器通过串口传歘的数据。
)
你得注释, 越看头越大, unsigned char fifo_head=0; \\\/\\\/往fifo写入数据时的位置unsigned char fifo_tail=0; \\\/\\\/ 读出fifo时的位置unsigned char Rx1_pos=0; \\\/\\\/当前的接收位置unsigned char Rx1_num=0; \\\/\\\/数据长度unsigned char Frame_in=



