阅读:1267回复:5
用地址数据复用的方法如何向USBD12的命令字中写入两个数据?多谢大家指教!
用地址数据复用的方法如何向USBD12的命令字中写入两个数据?多谢大家指教!
|
|
沙发#
发布于:2004-06-23 13:10
这样的操作我知道了,可是引用:
-------------------------------------------------------------------------------- PDIUSBD12有两种数据总线方式:多路地址/数据总线和单地址数据总线。多路地址/数据总线ALE接单片机的ALE管脚,这样使用MOVX指令可以与D12接口,对D12的操就像对RAM操作一样。这时可以忽略A0的输入,D12在ALE的下降沿锁存地址信息。奇地址的输出为命令,偶地址的输出为数据。单地址数据总线ALE接地。A0为1时,使用MOVX输出的是命令,A0为0时,使用MOVX输出的是数据。 -------------------------------------------------------------------------------- 5)ALE 和A0 的接法必须组合在一起,根据USB 芯片与MCU 之间数据地址总线情况 的不同,有两种接法:a)如果总线和地址复用,则可以将ALE 接至MCU 的ALE,A0 接高 电平,这种情况下D12 会在ALE 的下降沿锁存地址信号,直接将数据写入对应的USB 地 址码中。比如D0 是D12 的地址使能命令字,则直接将要使能的USB 地址写入D0 中,在 MCU 的ALE 下降沿,D12 先将D0 保存下来,然后再将端口地址作为数据送至D12; 为什么会截然不同呢? |
|
板凳#
发布于:2004-06-23 11:24
直接跟2个数据就行
outportb(D12_COMMAND, 0xF3); outportb(D12_DATA, D1); outportb(D12_DATA, D2); |
|
|
地板#
发布于:2004-06-23 11:23
直接跟2个数据就行
outportb(D12_COMMAND, 0xF3); outportb(D12_DATA, bConfig); outportb(D12_DATA, bClkDiv); |
|
|
地下室#
发布于:2004-06-23 11:02
F3 是地址,调用设备层的子函数就可以,。D12的固件源程序很多的
|
|
|
5楼#
发布于:2004-06-23 10:26
void outportb(unsigned char port,unsigned char val)
{ unsigned char xdata *ext_address; ext_address=port; *ext_address=val; } outportb(0xf3,0x06); 向F3写第二个字节(时钟分频系数)该如何写,我是新手,还望各位高手指教指教。 |
|