|
7# 域外天魔 我无力吐槽,虽然比较赞赏看datasheet的同学,但你的知识结构不完整,理解大多不对。
首先data memory和FIFO就不是一起算的。合泰这个芯片是内置USB功能,FIFO是缓存EP的数据队列的。其次无冲的情况 ...
Saphire 发表于 2011-7-27 14:51 
我想我和你以前没啥过节吧,难道是这个无冲的问题触动了某些人的利益?莫名其妙被扣上来知识结构不完整的帽子,还有幸被赞赏了。
不扯那些没用的,直接拿厂家的原程序说话,我想你也应该有,对吧。没有也没关系,我附上下载地址:
http://www.holtek.com.tw/english/tech/appnote/uc/asm_zip/ha0104_b.zip
variable.inc文件第113-114行
C_FIFO0Address EQU 48H
C_FIFO1Address EQU 49H
看清楚了地址是大于40H的,显然使用了192字节RAM的地址范围。
在看usb_lib.asm第68-84行
;;Write data from data buffer to fifo.
SBR_WriteFIFO0:
MOV A,C_FIFO0Address
JMP L_WriteFIFO
;;********************************************************************
SBR_WriteFIFO1:
MOV A,C_FIFO1Address
;
JMP L_WriteFIFO
;;--------------------------------------------------------------------
L_WriteFIFO:
MOV R_FIFOAddress,A
MOV A,OFFSET R_FIFOBAK0
MOV MP0,A
L_WriteFIFOLoop:
SZ R_DataPacketLength
JMP L_WriteFIFOTag
JMP L_ExitProcessFIFO
这是读写用例。 |
|