亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cansenddlg.cpp

?? can端口的發(fā)數(shù)據(jù)的測(cè)試
?? CPP
字號(hào):
// CANSendDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CANSend.h"
#include "CANSendDlg.h"
#include "..\..\include\adscan.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

typedef struct {
    UCHAR rtr;      /* EFF RTR 0 0 DLC.3 DLC.2 DLC.1 DLC.0 */
    ULONG id;       /* not present in standard frames */
	UCHAR dlen;
    UCHAR data[8];
} CAN_MSG_T, *PCAN_MSG_T;

/////////////////////////////////////////////////////////////////////////////
// CCANSendDlg dialog

CCANSendDlg::CCANSendDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCANSendDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCANSendDlg)
	m_nPattern = 0;
	m_dwPakTotalCnt = 8;
	m_nDevNum = 0;
	m_strCount = _T("");
    m_bOpen = FALSE;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CCANSendDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCANSendDlg)
	DDX_Control(pDX, IDC_REC_LST, m_lstDisplay);
	DDX_Text(pDX, IDC_PATTERN, m_nPattern);
	DDX_Text(pDX, IDC_PAK_TOTAL_CNT_EDT, m_dwPakTotalCnt);
	DDX_Text(pDX, IDC_DEV_NUM, m_nDevNum);
	DDX_Text(pDX, IDC_COUNT_STA, m_strCount);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CCANSendDlg, CDialog)
	//{{AFX_MSG_MAP(CCANSendDlg)
	ON_BN_CLICKED(IDC_CLEAR_LIST_BTN, OnClearListBtn)
	ON_BN_CLICKED(IDC_START_BTN, OnStartBtn)
	ON_BN_CLICKED(IDC_INIT_BTN, OnInitBtn)
	ON_WM_CLOSE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCANSendDlg message handlers

BOOL CCANSendDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen

	// initialization value
	m_nBTR0 = 0x03;  // set baud rate to 125K
	m_nBTR1 = 0x1c;  // the detailed information, please refer to help file.

	m_nAcpCode = 0;         // set accept code is 0
	m_nAcpMask = 0xff;      // set mask value is 0xff
	m_nIntMask = 0x0;       // set interrupt disable for receive and transmit
	m_nOutCtrlCode = 0xfa;  // set output control code to 0xfa
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CCANSendDlg::OnClearListBtn() 
{
	// TODO: Add your control notification handler code here
	m_lstDisplay.ResetContent();	
}

void CCANSendDlg::OnStartBtn() 
{
	// TODO: Add your control notification handler code here
	UINT i, j;
	CString s;
	CAN_MSG_T msg;
    UINT nStartPoint;

    // MMM: Rose test
    DWORD dwRet;
    TCHAR szTemp[100];

    // initilize message data
    UpdateData (TRUE); 
	msg.id   = 0x51;		    
	msg.rtr  = 0;
	msg.dlen = 8;
	BOOL bReady = FALSE;
    nStartPoint = m_nPattern;

    m_lstDisplay.ResetContent();

	for (i = 0; i < m_dwPakTotalCnt; i++)
	{
	    for( j=0; j < 8; j++ )
            msg.data[j] = (UCHAR)nStartPoint++;

        // try to write something to bus
		dwRet = CANWriteFile(m_nPort, (BOOL *) &bReady, (PVOID) &msg);
		if ( !bReady )
		{
            wsprintf(szTemp, _T("CAN send message error code = %d"), dwRet);

			MessageBox(szTemp, NULL, MB_OK);
			MessageBox(_T( "CAN send message FAILURE!" ), NULL, MB_OK);
			return;					
		}
		else
		{
			s.Format(_T( "SEND : ID = %u, Len = %u, %2.2XH %2.2XH %2.2XH %2.2XH %2.2XH %2.2XH %2.2XH %2.2XH" ),
				msg.id,
				msg.dlen,
				msg.data[0],
				msg.data[1], 
				msg.data[2], 
				msg.data[3],
				msg.data[4],
				msg.data[5],
				msg.data[6],
				msg.data[7]);
			AddStrToLst(s);
			s.Format(_T( "%lu" ), i + 1);
			m_strCount = s;
		}
	}

	UpdateData(FALSE);	
	MessageBox(_T( "CAN send message OK!" ), NULL, MB_OK);
}

void CCANSendDlg::OnInitBtn() 
{
	// TODO: Add your control notification handler code here
    UpdateData (TRUE);

    // Before using driver, we need to call CANPortOpen
	if (CANPortOpen(m_nDevNum, (WORD *) &m_nPort, (WORD *) &m_nHostID, (WORD *) &m_nPreBaudRate) != SUCCESS)
	{
    	MessageBox(_T( "CAN port open error!" ), NULL, MB_ICONERROR);
        return;
	}

    // Set protocol usage is 2.0A 
    if (CANSetProtocolType(m_nPort, CANBUS_PROTOCOL_20A) != SUCCESS)
    {
		MessageBox(_T( "CANSetProtocol error!" ), NULL, MB_ICONERROR);
		CANPortClose(m_nPort);
        return;
    }

    // Initialize baud rate and interrupt bits
	if (CANInit(m_nPort, m_nBTR0, m_nBTR1, (UCHAR) m_nIntMask) != SUCCESS)
	{
		MessageBox(_T( "CAN port init error!" ), NULL, MB_ICONERROR);

		CANPortClose(m_nPort);
        return;
	}

    // Set output control code
	if (CANSetOutCtrl(m_nPort, m_nOutCtrlCode) != SUCCESS)
	{
		MessageBox(_T( "CAN out ctrl code error!" ), NULL, MB_ICONERROR);

		CANPortClose(m_nPort);
        return;
	}

    // Set accept code for 2.0A
	if (CANSetAcp(m_nPort, m_nAcpCode, m_nAcpMask) != SUCCESS)
	{
		MessageBox(_T( "CAN set acp code error!" ), NULL, MB_ICONERROR);

		CANPortClose(m_nPort);
        return;
	}

    // Set baud rate again
	if (CANSetBaud(m_nPort, m_nBTR0, m_nBTR1) != SUCCESS)
	{
		MessageBox(_T( "CAN set baud rate error!" ), NULL, MB_ICONERROR);

		CANPortClose(m_nPort);
        return;
	}

    // Set to operation mode
	if (CANSetNormal(m_nPort) != SUCCESS)
	{
		MessageBox(_T( "CAN set normal error!" ), NULL, MB_ICONERROR);

		CANPortClose(m_nPort);
        return;
	}	
    
    // Everything is OK, then update the flag
    m_bOpen = TRUE;
}

void CCANSendDlg::OnClose() 
{
	// TODO: Add your message handler code here and/or call default

    // if m_bOpen is true, then close port usage
    if (m_bOpen)
    {
	    if (CANPortClose(m_nPort) != SUCCESS)
	    {
		    MessageBox(_T( "CANPortClose error!" ), NULL, MB_ICONERROR);
	    }
        m_bOpen = FALSE;
    }

	CDialog::OnClose();
}

void CCANSendDlg::AddStrToLst(CString& s)
{
	int nItemsCount = 0;

	nItemsCount = m_lstDisplay.GetCount();

	if (nItemsCount >= 1000)
		m_lstDisplay.ResetContent();

	m_lstDisplay.AddString(s);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区在线视频| 一区二区三区日韩欧美| 另类小说欧美激情| 日韩一级欧美一级| 国产一区二区主播在线| 久久久久久久综合| 成人av网址在线| 有坂深雪av一区二区精品| 欧美日韩一级黄| 久久国产三级精品| 国产日韩一级二级三级| 一本一本久久a久久精品综合麻豆| 尤物在线观看一区| 日韩免费高清视频| 国产成人自拍网| 亚洲欧美日韩久久| 欧美一三区三区四区免费在线看| 九九久久精品视频| 亚洲欧美日韩国产手机在线 | 91丝袜高跟美女视频| 一区二区激情视频| 欧美美女直播网站| 精品一区二区久久久| 国产精品的网站| 884aa四虎影成人精品一区| 精久久久久久久久久久| 亚洲三级在线播放| 日韩欧美的一区| 91蜜桃婷婷狠狠久久综合9色| 午夜精品一区在线观看| 国产日韩高清在线| 欧美日韩国产大片| 成人动漫在线一区| 青青草91视频| 亚洲欧美经典视频| 337p日本欧洲亚洲大胆色噜噜| 99久久伊人网影院| 美腿丝袜在线亚洲一区| 亚洲美女视频在线观看| 精品国产3级a| 欧美性大战久久| 成人精品国产免费网站| 免费日本视频一区| 一区二区三区在线播放| 国产丝袜欧美中文另类| 91精品国产91久久久久久一区二区| 国产高清久久久| 男女视频一区二区| 亚洲一二三区视频在线观看| 欧美激情在线一区二区三区| 欧美一区二区三区视频在线| 色婷婷亚洲精品| gogo大胆日本视频一区| 激情综合网av| 日韩精品色哟哟| 一区二区三区蜜桃| 国产精品第五页| 中文字幕精品一区二区精品绿巨人| 欧美电影免费观看高清完整版在线观看| 色婷婷亚洲婷婷| 99精品热视频| 国产+成+人+亚洲欧洲自线| 精品中文字幕一区二区小辣椒| 亚洲国产日产av| 亚洲最新在线观看| 成人欧美一区二区三区小说| 亚洲国产精品精华液ab| 久久久久久黄色| 欧美大片一区二区| 精品捆绑美女sm三区| 欧美一级淫片007| 欧美酷刑日本凌虐凌虐| 欧美日韩国产色站一区二区三区| 欧美亚洲国产怡红院影院| 色综合久久久久| 欧洲av在线精品| 欧美午夜理伦三级在线观看| 欧美亚日韩国产aⅴ精品中极品| 日本精品一级二级| 欧美日韩国产综合一区二区三区| 91官网在线免费观看| 欧美日韩亚洲综合一区二区三区| 欧美性极品少妇| 欧美日韩国产美| 日韩欧美一区二区久久婷婷| 日韩精品一区二区三区三区免费| 欧美变态凌虐bdsm| 久久婷婷国产综合国色天香 | 国产91在线观看| 成人一区二区在线观看| 99精品视频一区| 欧美专区亚洲专区| 91精品国产欧美一区二区成人 | 久久久亚洲精品石原莉奈 | 国产精品入口麻豆九色| 亚洲婷婷国产精品电影人久久| 亚洲乱码中文字幕| 性做久久久久久免费观看 | 国产成人免费在线视频| 成人亚洲一区二区一| 色婷婷av久久久久久久| 欧美精品久久天天躁| 欧美r级电影在线观看| 国产欧美一二三区| 亚洲在线观看免费| 久久国产精品色| 成人免费毛片嘿嘿连载视频| 色菇凉天天综合网| 日韩欧美一区二区视频| 国产精品国产三级国产aⅴ入口| 一区二区三区成人| 久久国产精品99久久久久久老狼| 成人一区二区在线观看| 欧美日韩国产小视频| 久久色中文字幕| 一区二区三区毛片| 久久爱www久久做| 色视频欧美一区二区三区| 欧美一级精品在线| 亚洲三级在线看| 国产一区二区视频在线播放| 色狠狠色噜噜噜综合网| 欧美精品一区二区三区视频| 亚洲男人的天堂一区二区| 日韩精品成人一区二区三区| 成人精品视频网站| 日韩免费看的电影| 一区二区三区四区在线播放| 国内精品久久久久影院色| 欧美性受xxxx| 中文字幕免费观看一区| 日本亚洲天堂网| 成人黄色大片在线观看| 日韩欧美国产高清| 亚洲第一在线综合网站| 成人av电影免费在线播放| 日韩女优电影在线观看| 亚洲国产一区视频| 99天天综合性| 国产亚洲自拍一区| 日韩和欧美的一区| 91福利视频久久久久| 国产精品毛片a∨一区二区三区 | 亚洲黄色片在线观看| 国产精品一级黄| 欧美va亚洲va国产综合| 三级一区在线视频先锋| 欧美在线一区二区三区| 成人欧美一区二区三区在线播放| 国产经典欧美精品| 精品国产免费久久 | 韩国精品一区二区| 日韩一区二区三区免费观看| 亚洲综合在线观看视频| yourporn久久国产精品| 国产色一区二区| 国产成人综合在线播放| 久久久久久**毛片大全| 国产在线播放一区三区四| 日韩亚洲欧美一区二区三区| 日韩精品一级二级| 在线不卡a资源高清| 亚洲国产精品久久久男人的天堂| 91美女视频网站| 亚洲精品中文字幕乱码三区| 色欲综合视频天天天| 亚洲女与黑人做爰| 在线看不卡av| 亚洲二区在线视频| 欧美日韩精品专区| 青青青伊人色综合久久| 在线播放亚洲一区| 蜜臀av国产精品久久久久| 日韩精品一区二区三区四区| 久久激情综合网| 久久人人超碰精品| 国产999精品久久| 亚洲色图一区二区三区| 在线免费精品视频| 性做久久久久久| 欧美va亚洲va香蕉在线| 国产成人精品影视| 亚洲人亚洲人成电影网站色| 91高清视频免费看| 奇米四色…亚洲| 国产日韩一级二级三级| 99久久精品情趣| 夜夜亚洲天天久久| 欧美一区二区网站| 精品一区二区久久| 国产精品免费视频观看| 欧美曰成人黄网| 日本vs亚洲vs韩国一区三区| 精品国产三级电影在线观看| 丁香网亚洲国际| 亚洲制服欧美中文字幕中文字幕| 日韩一区二区三区电影在线观看| 国产美女一区二区| 亚洲精品你懂的| 精品久久久久久久久久久院品网 |