|
|||||||||||
| 技術(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 |
2148USB ucos下函數(shù)的擴(kuò)展 |
| 作者:Crestxa 欄目:ARM技術(shù) |
ZLG提供的DEMO程序ARM端只能有4個(gè)端口,我想擴(kuò)充一下,看了源代碼 INT8U WritePort1(INT32U len, INT8U *sendbuff, INT16U timeout) { #if DMA_ENGINE_EN return (USB_WritePortDMA(3, &Ctrl_Usb[1], sendbuff, len, timeout)); /* DMA方式 */ #else return (USB_WritePort(3, 64, 2, &Ctrl_Usb[1], sendbuff, len, timeout)); /* 非DMA方式 */ #endif } 這個(gè)是往物理端口3寫數(shù)據(jù) 我自己編了一個(gè)函數(shù),在usbDRIVE.H中聲明如下 extern INT8U MyUSBWritePort(INT8U USBPortNum,INT32U len,INT8U *sendbuff,INT16U timeout); 在USBDRIVE.C中這樣實(shí)現(xiàn) INT8U MyUSBWritePort(INT8U USBPortNum,INT32U len,INT8U *sendbuff,INT16U timeout) { #if DMA_ENGINE_EN return (USB_WritePortDMA(USBPortNum, &Ctrl_Usb[3], sendbuff, len, timeout)); /* DMA方式 */ #else return (USB_WritePort(USBPortNum, 64, 2, &Ctrl_Usb[3], sendbuff, len, timeout)); /* 非DMA方式 */ #endif } 第一個(gè)參數(shù)就是物理端口號(hào) 這樣以來(lái)調(diào)用WritePort1就和調(diào)用MyUSBWritePort(3,,,)一樣了 問題在于:但是PC那端收不到,不知道為什么 |
| 2樓: | >>參與討論 |
| 作者: Crestxa 于 2006/12/20 9:47:00 發(fā)布:
郁悶 在提供的DEMO程序里,我就把 WritePort1(2, buff, 200); 替換為 MyUSBWritePort(3,2,buff,200); 但是PC那端就是收不到,盼望高手解答 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |