最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

用過(guò)cy68013的前輩請(qǐng)指教,謝謝!

作者:hai_sha 欄目:單片機(jī)
用過(guò)cy68013的前輩請(qǐng)指教,謝謝!
我想用68013實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)傳輸,但要求很高的可靠性,現(xiàn)在硬件已經(jīng)出來(lái)了,用開(kāi)發(fā)板的軟件試了下官方提供的例程(BULKloop)能正常運(yùn)行.上位機(jī)的軟件準(zhǔn)備用VB來(lái)做,調(diào)用其驅(qū)動(dòng)ezusb.sys需要調(diào)用API函數(shù)creatfile()和iocontrol()由于上位機(jī)編程是第一次,所以沒(méi)經(jīng)驗(yàn),現(xiàn)在主要問(wèn)題是:
1:如何獲得設(shè)備的句柄?
2:獲得句柄后如果想發(fā)送數(shù)據(jù)或讀取數(shù)據(jù)(BULK傳輸),發(fā)送的控制信號(hào)(調(diào)用iocontrol())的順序是怎樣的?下位機(jī)要作怎樣的反應(yīng)呢?
3:有沒(méi)有用VB變好的樣例程序可以參考?
謝謝各位!

2樓: >>參與討論
hai_sha
沒(méi)人嗎?
 
3樓: >>參與討論
hai_sha
為什么這段程序打不開(kāi)呢?Createfile()返回的總是-1
Private Sub Form_Load()
'Handle HidDevice
Dim HidDevice As LONG
DevicePathName = "\\.\ezusb-0"
HidDevice = CreateFile _
          (DevicePathName, _
          GENERIC_WRITE, _
          FILE_SHARE_WRITE, _
          0, _
          OPEN_EXISTING, _
          0, _
          0)
         
    'INVALID_HANDLE_VALUE = -1
    If (HidDevice = INVALID_HANDLE_VALUE) Then
      'OpenDevice = False
     
     
      'Form1.Shape6.Height = (MaxTemper - 0) * TemperScale
    
      MsgBox " 未發(fā)現(xiàn)與之通信的USB設(shè)備!" + _
       Chr(13) & Chr(10) + _
       Chr(13) & Chr(10) + _
       " 請(qǐng)確定其硬件設(shè)備是否已連接," + _
       Chr(13) & Chr(10) + _
       "并確定其驅(qū)動(dòng)程序是否已加載。", _
       17, "可惡"
     
    
    Else
    MsgBox " 發(fā)現(xiàn)與之通信的USB設(shè)備!" + _
       Chr(13) & Chr(10) + _
       Chr(13) & Chr(10) + _
       " 請(qǐng)確定," + _
       Chr(13) & Chr(10) + _
       "!", _
       1, "成功打開(kāi)設(shè)備"
     
      'OpenDevice = True
    End If
End Sub
Public Declare Function CreateFile _
   Lib "kernel32" _
   Alias "CreateFileA" _
    (ByVal lpFileName As String, _
    ByVal dwDesiredAccess As LONG, _
    ByVal dwShareMode As LONG, _
    ByRef lpSecurityAttributes As LONG, _
    ByVal dwCreationDisposition As LONG, _
    ByVal dwFlagsAndAttributes As LONG, _
    ByVal hTemplateFile As LONG) _
As LONG
'*****************************************************************
'API constants.
'*****************************************************************
'IOCTL Code
'Public Const FILE_DEVICE_UNKNOWN = &H22
Public Const Cyusb_IOCTL_INDEX = &H800
Public Const METHOD_BUFFERED = &H0
Public Const FILE_ANY_ACCESS = &H0
'CreateFile
Public Const GENERIC_READ = &H80000000
Public Const GENERIC_WRITE = &H40000000
Public Const FILE_SHARE_READ = &H1
Public Const FILE_SHARE_WRITE = &H2
Public Const OPEN_EXISTING = 3
'Public Const INVALID_HANDLE_VALUE = -1
Public Const INVALID_HANDLE_VALUE = -1

4樓: >>參與討論
ydff
我用VC寫(xiě)過(guò),首先應(yīng)該聲明一個(gè)文件類(lèi)的對(duì)象.
不知道VB里怎么回事?

5樓: >>參與討論
lanwwbhu
可以購(gòu)買(mǎi)一個(gè)CY7C68013開(kāi)發(fā)板參考
FCUSB-CY7C68013-128開(kāi)發(fā)板
http://www.fcctec.com/ShowProduction.aspx?id=2

這是VC代碼
//打開(kāi)設(shè)備
BOOL bOpenDriver (HANDLE * phDeviceHandle, PCHAR devname)
{
   CHAR completeDeviceName[64] = "";
   CHAR pcMsg[64] = "";
   
   strcat (completeDeviceName,
      "\\\\.\\"
      );
   
   strcat (completeDeviceName,
            devname);
   
   *phDeviceHandle = CreateFile(  completeDeviceName,
      GENERIC_WRITE,
      FILE_SHARE_WRITE,
      NULL,
      OPEN_EXISTING,
      0,
      NULL);
   
   if (*phDeviceHandle == INVALID_HANDLE_VALUE) {
      return (FALSE);
   } else {
      return (TRUE);
   }
}




6樓: >>參與討論
hai_sha
謝謝兩位,我覺(jué)得可能是哪個(gè)參數(shù)不對(duì)
尤其是第一個(gè)參數(shù).
開(kāi)發(fā)板我有啊,工具包也有,只是例程是VC寫(xiě)的,以前沒(méi)用過(guò)VC,看不明白.
lanwwbhu可以留個(gè)電話(huà)嗎?電話(huà)交流比較快一點(diǎn),不知你那供不供芯片?56腳的,我們以后要量產(chǎn)的

7樓: >>參與討論
hai_sha
唉,郁悶,看VC算了
 
8樓: >>參與討論
hai_sha
VC好象是打開(kāi)了設(shè)備
VC中無(wú)須聲明便可調(diào)用API?(我沒(méi)聲明好象沒(méi)問(wèn)題).
照GPD的說(shuō)明:
HANDLE DEVICEHandle;
DEVICEHandle=CreateFile("\\\\.\\ezusb-0"
                        GENERIC_WRITE,
                        FILE_SHARE_WRITE,
                        NULL,
                        OPEN_EXISTING,
                        0,
                        NULL);
//測(cè)試代碼
  if(DEVICEHandle=INVALID_HANDLE_VALUE)
    MessageBox("Fail to Open DEVICE!");
  else
    MessageBox("Success!");
//
編譯通過(guò)后執(zhí)行,插上USB板時(shí),消息框?yàn)镾uccess!.斷開(kāi)USB板時(shí)顯示Fail to Open DEVICE!
這是否證明設(shè)備已經(jīng)正常打開(kāi)?


9樓: >>參與討論
hai_sha
發(fā)送控制代碼時(shí)出問(wèn)題
代碼:
#include "ezusbsys.h"
#include "bulkloop.h" //官方樣例程序bulkloop的頭文件之一
#include "devioctl.h" //ezusbsys.h中關(guān)于dwIoControlCode的定義需要
                      //這個(gè)文件,安裝DDK后得到的.
..
..
..
PVOID PvBuffer=NULL;
DWORD nBytes=0;
PvBuffer=malloc(sizeof(Usb_device_Descriptor));
LONG bResult=0;

bResult=DeviceIoControl(DeviceHandle,
                        IOCTL_EZUSB_GET_DEVICE_DESCRIPTOR,
                        NULL,
                        0,
                        PvBuffer,
                        sizeof(Usb_Device_Descriptor),
                        &nBytes,
                        NULL);
編譯后執(zhí)行(我是用一個(gè)按扭來(lái)觸發(fā)的,68013中先燒好經(jīng)過(guò)測(cè)試的樣例程序,連接到PC),這下好了,電腦立刻重新啟動(dòng),試了幾次都這樣,真是奇怪.
不知是上面返回的句柄不對(duì)控制別的器件去了,還是第二個(gè)參數(shù)有問(wèn)題?
我還沒(méi)找到關(guān)于IOCTL_EZUSB_GET_DEVICE_DESCRIPTOR的定義,資料太雜不記得是哪份文檔里有講到這些IO控制代碼的具體值.我將IOCTL_EZUSB_GET_DEVICE_DESCRIPTOR換成0x0801編譯后執(zhí)行就沒(méi)重啟了,但也不知道發(fā)成功沒(méi)有.固件程序是官方的,測(cè)試了沒(méi)問(wèn)題,對(duì)于這種標(biāo)準(zhǔn)USB設(shè)備請(qǐng)求應(yīng)該會(huì)予以處理.再怎么樣也不至于重啟啊.
請(qǐng)做過(guò)的朋友幫忙看看,到底是哪里出了問(wèn)題?還有哪位知道IO控制代碼(第二個(gè)參數(shù))的具體定義在哪個(gè)文件里面?
謝謝!就算路過(guò)的朋友幫忙頂一下,也很感謝!

10樓: >>參與討論
hai_sha
看VCing,頂一下!
 
11樓: >>參與討論
hai_sha
怎么都沒(méi)人說(shuō)話(huà)呢?全靠自己摸索好慢啊
現(xiàn)在不重起了,讀回來(lái)的設(shè)備描述符也是對(duì)的.
雖然我以前上這個(gè)論壇的時(shí)候就感覺(jué)到真正要解決問(wèn)題還得靠自己,但有時(shí)候哪怕是有人鼓勵(lì)下也好啊,太讓我失望了,難道這東西技術(shù)含量很高很需要保密嗎?應(yīng)該不是吧.
我相信我遲早會(huì)弄出來(lái),只是苦于以前一直搞單片機(jī),上位機(jī)軟件的基礎(chǔ)太差.現(xiàn)在開(kāi)始補(bǔ)了

* - 本貼最后修改時(shí)間:2006-3-9 10:29:07 修改者:hai_sha

12樓: >>參與討論
wanyiba
偶也剛學(xué)上位機(jī)的,支持你!
 
13樓: >>參與討論
alice25
我想請(qǐng)教8樓的,我也是這樣寫(xiě)的代碼,編譯通過(guò)了,為什么我插上USB板時(shí)顯示Fail to Open DEVICE
參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
軟件中斷產(chǎn)生一個(gè)500KHZ的時(shí)鐘問(wèn)題
rtc-4553
這個(gè)電路行不行
作液晶顯示,請(qǐng)推薦一個(gè)好用的字模提取軟件?深表感謝!
請(qǐng)推薦一款常用的10位分辨力以上的D/A
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號(hào)