CH341A问题

请大家帮忙,我想通过以下的程序控制D0-D7的状态,执行程序没有报错,但是无论我怎么改,D0-D7的状态都是5V,我用的是供应商提供的DLL里边的函数。大家知道怎么会事吗

BOOL SetIO(void) { int data[8]={0,0,0,0,0,0,0,0}; int m_add0=1; UCHAR mBuf[1]=""; mBuf[0]=(data[0]<<7)|(data[1]<<6)|(data[2]<<5)|(data[3]<<4)| (data[4]<<3)|(data[5]<<2)|(data[6]<<1)|(data[7]<<0); //组合按钮键值; ULONG mLen=1; //数据长度 if(m_open) { try { if(m_add0==0)//用地址0方式发送数据 { if(!CH341MemWriteAddr0(mIndex,mBuf,&mLen)) { //MessageBox("MEM写数据块0失败!","CH341",MB_OK|MB_ICONSTOP); return FALSE; } } else if(m_add0==1)//用地址1方式发送数据 { if(!CH341MemWriteAddr1(mIndex,mBuf,&mLen)) { //MessageBox("MEM写数据块1失败!","CH341",MB_OK|MB_ICONSTOP); return FALSE; } } } catch( CException * ) { TRACE("Error: %d",GetLastError()); return FALSE; } } else { ::MessageBox(main_hwnd,"设备未打开!","Error",MB_OK|MB_ICONSTOP); return FALSE; } return TRUE; }

请问你是如何确认没有操作成功的呢? 有没有加锁存器?


只有登录才能回复,可以选择微信账号登录