欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2667|回復: 8
收起左側

STC8H單片機USB端點2發送程序問題

[復制鏈接]
ID:549545 發表于 2022-5-9 23:08 | 顯示全部樓層 |閱讀模式
最近在搞STC8H8K64U的USB功能,由官網下的STC8H實驗箱程序中的“41-USB鍵盤設備通過P0口矩陣按鍵模擬小鍵盤功能”修改,官網案例中只有一個鍵盤的功能,只支持端點1上傳,但想做一個復合鍵鼠,就要用到端點2上傳數據
原官方案例的端點1數據上傳程序為:
                        WriteReg(INDEX, 1);
                        for(i=0;i<8;i++)
                        {
                                WriteReg(FIFO1, HidInput[ i]);
                        }
                        WriteReg(INCSR1, INIPRDY);
改為端點2上傳數據:
                        WriteReg(INDEX, 2);
                        for(i=0;i<8;i++)
                        {
                                WriteReg(FIFO2, HidInput[ i]);
                        }
                        WriteReg(INCSR1, INIPRDY);

理論上描述符雖然支持1個端點,但不影響我單片機強制發端點2,但改成端點2上傳數據的程序就完全沒動靜了,中斷不進,總線分析儀也抓不到東西,看了好久手冊實在找不出原因,所以才來請教各位大神,希望大神們幫我解
工程文件放在附件里面

41-USB鍵盤設備通過P0口矩陣按鍵模擬小鍵盤功能.zip

87.24 KB, 下載次數: 9

回復

使用道具 舉報

ID:123289 發表于 2022-5-10 08:56 | 顯示全部樓層
先弄清楚:
WriteReg、INDEX、FIFO2、 HidInput[ i]、INCSR1、INIPRDY。
是什么意思,它們對應的內存在哪里?
回復

使用道具 舉報

ID:549545 發表于 2022-5-10 09:38 | 顯示全部樓層
yzwzfyz 發表于 2022-5-10 08:56
先弄清楚:
WriteReg、INDEX、FIFO2、 HidInput[ i]、INCSR1、INIPRDY。
是什么意思,它們對應的內存在 ...

這個大概清楚,WriteReg,這個要輸入兩個參數,一個是想要間接訪問的寄存器地址,第二個是想要寫入的數據;FIFO1和FIFO2是USB端號索引寄存器,往INCSR1寫INIPRDY是發送數據,所以整體來看是先往INDEX里面寫入2,選擇端點2,然后循環8個往FIFO2填入數據,然后設置發送,但我不太清楚為什么改成端點2 之后發不出去
回復

使用道具 舉報

ID:685744 發表于 2022-5-10 14:22 | 顯示全部樓層
判斷條件是和FIFO1時不一樣嗎
回復

使用道具 舉報

ID:123289 發表于 2022-5-10 16:18 | 顯示全部樓層
CPU中有幾個USB。
每個USE占用的內存緩沖有多少?對應的物理地址在何處?
回復

使用道具 舉報

ID:549545 發表于 2022-5-10 18:03 | 顯示全部樓層
yzwzfyz 發表于 2022-5-10 16:18
CPU中有幾個USB。
每個USE占用的內存緩沖有多少?對應的物理地址在何處?

一共6個端點,這個和物理地址關系不大,我只需要操作間接操作寄存器就能寫進去,緩存是0-3收發in/out是64,4-5的in/out是128/256,但是,和這些都沒關系,因為用間接操作寄存器就能操作,我都笑死了,我改成兩個端點的描述,所有有關端點1的操作復制一次,居然就能發出去了,還是感謝大哥回帖了^v^已經完美模擬多點觸控了
回復

使用道具 舉報

ID:71233 發表于 2023-1-14 13:51 | 顯示全部樓層
還是看不懂,感覺這USB功能好難玩的。
回復

使用道具 舉報

ID:1034262 發表于 2023-1-14 21:18 | 顯示全部樓層
STC官方有鼠標鍵盤復合的例子的。
回復

使用道具 舉報

ID:71233 發表于 2023-1-19 10:08 | 顯示全部樓層
炮姐我老婆 發表于 2022-5-10 18:03
一共6個端點,這個和物理地址關系不大,我只需要操作間接操作寄存器就能寫進去,緩存是0-3收發in/out是64 ...

請問樓主是怎樣實現的,我怎么老是操作不成功
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表