;> > > > > > > > > > > > > > > > > > > > > > >
connect_USB
;> > > > > > > > > > > > > > > > > > > > > > > > > > > >
DINT
mov.w #0,&Union_epp_flags
EINT
mov.b #D12_NOLAZYCLOCK+D12_SOFTCONNECT,R14
mov.b #D12_SETTOONE+D12_CLOCK_12M,R15
call #D12_SetMode
RET
;> > > > > > > > > > > > > > > > > > > > >
reconnect_USB
;> > > > > > > > > > > > > > > > > > > > > > > > > >
bic.b #0x01,&P2OUT ; P2.0---> PDIUSBD12
mov.b #D12_NOLAZYCLOCK,R14
mov.b #D12_SETTOONE+D12_CLOCK_12M,R15
call #D12_SetMode
mov #0xC350,R15
connectloop dec R15
jnz connectloop
call #connect_USB
RET
;/////////////////////////////////////////
mov.b #0,R12 ; < < < < < < < < < < < <
mov.b #1,R11 ; < < < < < < < < < < < < < < < <
call #D12_SetAddressEnable ; < < < < < < < < < < < < <,
mov.b #1,R12 ; < < < < < < < < < < < < < < maybe not need
call #D12_SetEndpointEnable ; < < < < < < < < < < < <
mov #0,&Union_epp_flags
call #reconnect_USB
;> > > > > > > > > > > > > > > > > > > > > > >
connect_USB
;> > > > > > > > > > > > > > > > > > > > > > > > > > > >
DINT
mov.w #0,&Union_epp_flags
EINT
mov.b #D12_NOLAZYCLOCK+D12_SOFTCONNECT,R14
mov.b #D12_SETTOONE+D12_CLOCK_12M,R15
call #D12_SetMode
RET
;> > > > > > > > > > > > > > > > > > > > >
reconnect_USB
;> > > > > > > > > > > > > > > > > > > > > > > > > >
bic.b #0x01,&P2OUT ; P2.0---> PDIUSBD12
mov.b #D12_NOLAZYCLOCK,R14
mov.b #D12_SETTOONE+D12_CLOCK_12M,R15
call #D12_SetMode
mov #0xC350,R15
connectloop dec R15
jnz connectloop
call #connect_USB
RET
USB D12芯片程序写的迷糊死了,
给大家看看,我自己弄的,不要见笑。
taobao地址: