导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[原创]MSP430&D12 请教[clarke]

 *第32269篇: [原创]MSP430&D12 请教

  
楼 主:clarke 2005年6月13日23:59
 [原创]MSP430&D12 请教
我用MSP430的F1121A与D12做了个USB接口,
设计程序的初始化如下,可是一运行完初始化部分后,
D12的中断输出INT脚就为低电平(低中断有效,平时应为高才对.),

D12的时钟输出正常,说明D12正常工作了.
关于D12初始化部分:
;/////////////////////////////////////////
           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
整体:
RESET     mov.w #300h,SP                    ;>  >  >  >  >  >  >  >  >  >  >  注意SP
StopWPT   mov.w #WDTPW+WDTHOLD,&WDTCTL
          DINT                                       ;  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <  <
SetupBC   bis.b #XTS,&BCSCTL1
SetupOsc  bic.b #OFIFG,&IFG1
          mov.w #0FFh,R15
setupOsc1 dec.w R15
            jnz setupOsc1
          bit.b #OFIFG,&IFG1
          jnz SetupOsc
          bis.b #SELM_3,&BCSCTL2
init_port mov.b #0xFF,&P1DIR
          mov.b #0xFF,&P1OUT
          mov.b #0x00,&P1DIR
          bic.b #0x20,&P2DIR     
          bis.b #0x20,&P2IES
          bis.b #0x1B,&P2DIR
          bic.b #0x20,&P2IFG
          bis.b #0x20,&P2IE
          bis.b #0x1B,&P2OUT
          bic.b #0x01,&P2OUT
;/////////////////////////////////////////////////
;add init_timer
;///////////////////////////////////////
SetupTA   mov #TASSEL_1+MC_2,&TACTL
     ;     mov #CCIE,&CCTL0
          mov #200,&CCR0
          EINT          

;/////////////////////////////////////////
           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

  
2楼:laorenshen 2009年7月3日16:00
 弄了一个430的开发板,MSP430F149 PDIUSBD12

弄了一个430的开发板,MSP430F149 PDIUSBD12

USB D12芯片程序写的迷糊死了,

给大家看看,我自己弄的,不要见笑。

taobao地址:


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:提供支持多个操作系统的arm板

[下一篇主题]:救助用VHDL编写vga单色显示程序