音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | 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

44B0開發(fā)板,USB應(yīng)用疑問,急~

作者:jackilin 欄目:ARM技術(shù)
44B0開發(fā)板,USB應(yīng)用疑問,急~
USB DEMO 程序:
這個(gè)獲取ID的程序是什么意思呢?
在D12的資料,指令集中,我查不到有0xfd這個(gè)指令
U32 D12RdChipId()
{
    U32 tmp;
    
    D12Cmd = 0xfd;
    tmp = D12Dat;//將地址為0x2000000的數(shù)據(jù)讀出
    tmp = tmp<<8|D12Dat;        
    return tmp;    
}

UsbRdChipId=D12RdChipId

獲取的CHIPID=0x1210是怎么來的呢?
if(UsbRdChipId()==0x1210)
{
puts("Find PDIUSBD12, chip id = 0x1210");
......

謝謝!!急!請高手路過能指點(diǎn)一二

2樓: >>參與討論
good02xaut
判斷芯片是否正確
手冊沒有不代表不存在啊,呵呵
很多手機(jī)的說明書沒有介紹的東西,在修理手機(jī)時(shí)都會用到。


3樓: >>參與討論
jackilin
CHIPID=0x1210
CHIPID=0x1210是怎么得來的呢?是不是D12的ID都是一樣的?還是有所不同?

4樓: >>參與討論
jackilin
自己頂。!怎么沒人回我?
 
5樓: >>參與討論
computer00
都是一樣的。發(fā)0xFD就是讀ID號.如果正確,則說明電路基本上沒問題
 
6樓: >>參與討論
jackilin
想用USB和PC機(jī)進(jìn)行通訊
USB DEMO程序中是通過設(shè)置EP4中斷,PC發(fā)送信號進(jìn)行LED亮燈
中斷程序:
void D12Ep4IntProc()
{
    U8 size;
    U8 Ep2OutBuf[Ep2PacketSize];

    D12RdLastTrStat(4);    
    size = D12RdEp(4, Ep2OutBuf, Ep2PacketSize);
    if((size==6)&&(*(U32 *)Ep2OutBuf==0x12345678))    
        ShowLed(Ep2OutBuf[4]+(Ep2OutBuf[5]<<8));//CTRL_SET.H    
}
但是我現(xiàn)在想向PC機(jī)發(fā)送信息,是不是利用:
void D12WrEp(U8 Ep, U8 buf[], U8 cnt)
{
    while(1)
    {
        D12SelEp(Ep);
        if(!(D12Cmd&1))
            break;
    }
    D12Cmd = 0xf0;
    D12Dat = 0;
    D12Dat = cnt;
    while(cnt)
    {
        D12Dat = *buf++;
        cnt--;
    }
    D12Cmd = 0xfa;
}
程序就能直接發(fā)送了?
我知道USB好像是被動(dòng)發(fā)送數(shù)據(jù),必須通過主機(jī)發(fā)送信號才能發(fā)送數(shù)據(jù)的吧?
我44B0的程序如何進(jìn)行發(fā)送部分的程序呢?謝謝,各位大俠給點(diǎn)提示!

7樓: >>參與討論
computer00
USB不能主動(dòng)給PC發(fā)送數(shù)據(jù),必須等待PC申請數(shù)據(jù)。
你可以由PC端的程序申請USB設(shè)備返回?cái)?shù)據(jù),這樣44B0收到后,返回?cái)?shù)據(jù)就行了。

或者將作成中斷傳輸模式的設(shè)備,這樣USB主機(jī)會定時(shí)查詢設(shè)備是否需要返回?cái)?shù)據(jù)。

8樓: >>參與討論
jackilin
謝謝!
USB定義了4種傳送類型:
  &#8226;控制傳送:可靠的、非周期性的、由主機(jī)軟件發(fā)起的請求或者回應(yīng)的傳送,通常用于命令事務(wù)和狀態(tài)事務(wù)。
  &#8226;同步傳送:在主機(jī)與設(shè)備之間的周期性的、連續(xù)的通信,一般用于傳送與時(shí)間相關(guān)的信息。這種類型保留了將時(shí)間概念包含于數(shù)據(jù)中的能力。但這并不意味著,傳送這樣數(shù)據(jù)的時(shí)間總是很重要的,即傳送并不一定很緊急。
  &#8226;中斷傳送:小規(guī)模數(shù)據(jù)的、低速的、固定延遲的傳送。
  &#8226;批傳送:非周期性的,大包的可靠的傳送。典型地用于傳送那些可以利用任何帶寬的數(shù)據(jù),而且這些數(shù)據(jù)當(dāng)沒有可用帶寬時(shí),可以容忍等待。

因?yàn)槲倚枰笕萘康臄?shù)據(jù)流通,當(dāng)然并不需要速度快,是不是PC機(jī)要對USB進(jìn)行傳送類型設(shè)置?還是44B0本身可以進(jìn)行設(shè)置!

我負(fù)責(zé)的時(shí)44B0板子,USB發(fā)送數(shù)據(jù)軟件編程,PC機(jī)編程不是由我負(fù)責(zé)!我想問下,是不是直接用
void D12WrEp(U8 Ep, U8 buf[], U8 cnt)
{
    while(1)
    {
        D12SelEp(Ep);
        if(!(D12Cmd&1))
            break;
    }
    D12Cmd = 0xf0;
    D12Dat = 0;
    D12Dat = cnt;
    while(cnt)
    {
        D12Dat = *buf++;
        cnt--;
    }
    D12Cmd = 0xfa;
}
函數(shù)就可以實(shí)現(xiàn)發(fā)送?
對了,如何檢驗(yàn)我是否發(fā)送成功呢?

9樓: >>參與討論
eleven11
大容量的數(shù)據(jù)流通為什么不用isp系列的?
設(shè)置雙緩沖,每個(gè)緩沖512

10樓: >>參與討論
jackilin
因?yàn)槭呛凸P記本通訊
44B0是與筆記本進(jìn)行數(shù)據(jù)通訊,筆記本上只有配置USB,沒有任何串口。老板要求就用USB進(jìn)行數(shù)據(jù)通訊,我也是不得已而為之,哪位高手能幫忙呢?謝謝了!

還有個(gè)問題想問一下 ,串口調(diào)試有串口調(diào)試助手,USB通訊,有沒什么調(diào)試助手之類得軟件呢?謝謝,USB1.1

11樓: >>參與討論
computer00
你可以使用bus hound這個(gè)軟件。
 
12樓: >>參與討論
jackilin
謝謝大俠幫忙
請問大俠,您是否能回答我的問題呢?44B0中USB往筆記本發(fā)送數(shù)據(jù),程序難么?我現(xiàn)在無從下手,老板要求10號搞定,我都著急死拉,能否幫幫我呢?謝謝

13樓: >>參與討論
computer00
USB不能主動(dòng)給USB發(fā)送數(shù)據(jù),只能被動(dòng)的等待PC請求數(shù)據(jù),并返回之
要搞USB的話,還是從協(xié)議入手吧,難度是有點(diǎn)的。

14樓: >>參與討論
coolbaboy
網(wǎng)上有很多關(guān)于D12的資料的
網(wǎng)上有很多關(guān)于D12的資料的,我有一個(gè)用VB些的簡單測試程序

15樓: >>參與討論
Jackilin
TO coolbaboy
大俠,能給我發(fā)一份么,謝謝!
linweiping19@163.com

16樓: >>參與討論
ringsound
看看usb的傳輸協(xié)議
d12是usb DEVICE,usb傳輸只能由usb host發(fā)起,即是說要傳輸據(jù)到pc機(jī),要pc機(jī)先發(fā)送命令給d12,d12接受產(chǎn)生相應(yīng)請求中斷才能發(fā)送,而發(fā)送命令要由pc機(jī)的應(yīng)用程序來完成。這些應(yīng)該是由pc編成的人完成的吧。
而首先要先讓usb枚舉成功,建立正確的連接并能在pc上裝上驅(qū)動(dòng),這個(gè)很關(guān)鍵,44b0頻率不能太高不然d12不能正常工作,枚舉失敗,建議20M左右,如不行再降到11M,當(dāng)初被這個(gè)問題搞了很長時(shí)間,這個(gè)還跟接口配置參數(shù)有些關(guān)系,就是bank0-7有個(gè)設(shè)置似乎是io延時(shí)的東東(還沒搞明白具體是什么),說明書上也沒說清楚是什么東西,得設(shè)成最長的,3clk。設(shè)置低了cpu頻率就得降得很低。

17樓: >>參與討論
jackilin
To ringsound
要pc機(jī)先發(fā)送命令給d12,d12接受產(chǎn)生相應(yīng)請求中斷才能發(fā)送
我的意思是,當(dāng)D12產(chǎn)生相應(yīng)請求中斷的時(shí)候,我之前是不是需要將傳送的數(shù)據(jù)先發(fā)送給D12某個(gè)類似數(shù)據(jù)發(fā)送區(qū)的地方?是不是就是D12WrEp()這個(gè)函數(shù)?

如果因?yàn)槲椰F(xiàn)在負(fù)責(zé)的是44B0板子上的工作,PC機(jī)上的工作不由我負(fù)責(zé),我想問下我現(xiàn)在最開始應(yīng)該做的是什么呢?謝謝大俠們,非常感謝

18樓: >>參與討論
jackilin
To 各位同仁
現(xiàn)在準(zhǔn)備采用同步傳輸?shù)膫鬏敺绞竭M(jìn)行USB數(shù)據(jù)通訊,搞了N久,好像沒什么效果,請問那位好心的人,可否有相關(guān)DEMO能供我參考呢?謝謝

19樓: >>參與討論
jackilin
D12中斷程序不解
void D12Ep4IntProc()
{
    U8 size;
    U8 Ep2OutBuf[Ep2PacketSize];

    D12RdLastTrStat(4);    
    size = D12RdEp(4, Ep2OutBuf, Ep2PacketSize);
    if((size==6)&&(*(U32 *)Ep2OutBuf==0x12345678))    
        ShowLed(Ep2OutBuf[4]+(Ep2OutBuf[5]<<8));
}
if((size==6)&&(*(U32 *)Ep2OutBuf==0x12345678))這個(gè)語句是何意思呢?
看不明白,特別是這個(gè)(*(U32 *)Ep2OutBuf==0x12345678))何解?謝謝大俠

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請教用ARM 做數(shù)字錄音的方案
尋找MX21的產(chǎn)品級單板機(jī)
關(guān)于UCOS-II的幾點(diǎn)疑惑,請大家指教
H-JTAG的理解?
ARM流水線與PC問題,不很明白,很想弄清楚
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號