📄 if101ctrl.cpp
字号:
// IF101Ctrl.cpp : implementation file
//
#include "stdafx.h"
#include "IF101DriverTest.h"
#include "IF101Ctrl.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CIF101Ctrl dialog
CIF101Ctrl::CIF101Ctrl(CWnd* pParent /*=NULL*/)
: CDialog(CIF101Ctrl::IDD, pParent)
{
//{{AFX_DATA_INIT(CIF101Ctrl)
m_IIC_writeval = 0;
m_IIC_readval = 0;
m_Spi_readval = 0;
m_Spi_writeval = 0;
m_IIC_writeaddr = 0;
m_IIC_readaddr = 0;
m_Spi_read_cmd = 0;
m_Spi_write_cmd = 0;
//}}AFX_DATA_INIT
}
void CIF101Ctrl::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CIF101Ctrl)
DDX_Text(pDX, IDC_IIC_WRITE_VAL, m_IIC_writeval);
DDX_Text(pDX, IDC_IIC_READ_VAL, m_IIC_readval);
DDX_Text(pDX, IDC_SPI_READ_VAL, m_Spi_readval);
DDX_Text(pDX, IDC_SPI_WRITE_VAL, m_Spi_writeval);
DDX_Text(pDX, IDC_IIC_WRITE_ADDR, m_IIC_writeaddr);
DDX_Text(pDX, IDC_IIC_READ_ADDR, m_IIC_readaddr);
DDX_Text(pDX, IDC_SPI_READ_CMD, m_Spi_read_cmd);
DDX_Text(pDX, IDC_SPI_WRITE_CMD, m_Spi_write_cmd);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CIF101Ctrl, CDialog)
//{{AFX_MSG_MAP(CIF101Ctrl)
ON_BN_CLICKED(IDC_IIC_WRITE, OnIicWrite)
ON_BN_CLICKED(IDC_IIC_READ, OnIicRead)
ON_BN_CLICKED(IDC_SPI_WRITE, OnSpiWrite)
ON_BN_CLICKED(IDC_SPI_READ, OnSpiRead)
ON_WM_CLOSE()
ON_BN_CLICKED(DOWNLOADFIRWARM, OnDOWNLOADFIRWARM)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CIF101Ctrl message handlers
#define IIC_WRITE_BYTE 0x80
#define IIC_READ_BYTE 0x81
#define SPI_WRITE_REG 0x82
#define SPI_READ_REG 0x83
void CIF101Ctrl::OnIicRead()
{
// TODO: Add your control notification handler code here
TCHAR szMsg[1000];
UINT16 dwInBuffer[2] = {0};
UINT16 dwOutBuffer[2] = {0};
DWORD dwReturn = 0;
// Open the existing file.
this->UpdateData(TRUE);
dwInBuffer[0] = m_IIC_readaddr;
if(!DeviceIoControl(hINNO,IIC_READ_BYTE,dwInBuffer,2,dwOutBuffer,2,&dwReturn,NULL))
{
wsprintf (szMsg, TEXT("Could not read file from INO1:"));
return;
}
RETAILMSG(1,(TEXT("Read IIC addr 0x%x val 0x%x dwReturn = %d\r\n"),dwInBuffer[0],dwOutBuffer[0],dwReturn));
m_IIC_readval = dwOutBuffer[0]&0xFF;
this->UpdateData(FALSE);
}
void CIF101Ctrl::OnIicWrite()
{
// TODO: Add your control notification handler code here
TCHAR szMsg[1000];
UINT16 dwInBuffer[2] = {0};
UINT16 dwOutBuffer[2] = {0};
DWORD dwReturn = 0;
this->UpdateData(TRUE);
dwInBuffer[0] = m_IIC_writeaddr;
dwInBuffer[1] = m_IIC_writeval;
if(!DeviceIoControl(hINNO,IIC_WRITE_BYTE,dwInBuffer,2,dwOutBuffer,2,&dwReturn,NULL))
{
wsprintf (szMsg, TEXT("Could not write file INO1:"));
return;
}
RETAILMSG(1,(TEXT("Write IIC addr 0x%x val 0x%x\r\n"),dwInBuffer[0],dwInBuffer[1]));
m_IIC_writeval = dwInBuffer[1]&0xFF;
this->UpdateData(FALSE);
}
void CIF101Ctrl::OnSpiWrite()
{
// TODO: Add your control notification handler code here
TCHAR szMsg[1000];
UINT16 dwInBuffer[2] = {0};
UINT16 dwOutBuffer[2] = {0};
DWORD dwReturn = 0;
this->UpdateData(TRUE);
dwInBuffer[0] = m_Spi_write_cmd;
if(!DeviceIoControl(hINNO,SPI_WRITE_REG,dwInBuffer,1,dwOutBuffer,1,&dwReturn,NULL))
{
wsprintf (szMsg, TEXT("Could not write file INO1:"));
return;
}
RETAILMSG(1,(TEXT("Write IIC addr 0x%x val 0x%x\r\n"),dwInBuffer[0],dwInBuffer[1]));
m_Spi_writeval = dwInBuffer[0]&0xFF;
this->UpdateData(FALSE);
}
void CIF101Ctrl::OnSpiRead()
{
// TODO: Add your control notification handler code here
TCHAR szMsg[1000];
UINT16 dwInBuffer[2] = {0};
UINT16 dwOutBuffer[2] = {0};
DWORD dwReturn = 0;
this->UpdateData(TRUE);
dwInBuffer[0] = m_Spi_read_cmd;
if(!DeviceIoControl(hINNO,SPI_READ_REG,dwInBuffer,1,dwOutBuffer,1,&dwReturn,NULL))
{
wsprintf (szMsg, TEXT("Could not write file INO1:"));
return;
}
m_Spi_readval = dwOutBuffer[0]&0xFF;
this->UpdateData(FALSE);
}
BOOL CIF101Ctrl::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_IIC_writeaddr = 0x245;
m_IIC_writeval = 86;
m_IIC_readaddr = 0x245;
m_IIC_readval = 0;
m_Spi_read_cmd = 0x0;
m_Spi_write_cmd = 0x0;
UpdateData(FALSE);
hINNO = NULL;
hINNO = CreateFile (L"INO1:", // Open One.txt
GENERIC_READ, // Open for reading
0, // Do not share
NULL, // No security
OPEN_EXISTING, // Existing file only
FILE_ATTRIBUTE_NORMAL, // Normal file
NULL); // No template file
if (hINNO == INVALID_HANDLE_VALUE)
{
// Your error-handling code goes here.
MessageBox(TEXT("INO1: Open Failed!!!"));
return FALSE;
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CIF101Ctrl::OnClose()
{
// TODO: Add your message handler code here and/or call default
if(hINNO)
CloseHandle(hINNO);
CDialog::OnClose();
}
#define INNO_STARTUP 0x88
void CIF101Ctrl::OnDOWNLOADFIRWARM()
{
DWORD dwReturn = 0;
if(!DeviceIoControl(hINNO,INNO_STARTUP,NULL,0,NULL,0,&dwReturn,NULL));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -