• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   2 Anonymous Users






Re: RS232的棘手問題~~
#3
新會員
新會員


查看用戶資訊
太感謝你了~~真的解決了~~ ^^"
不知能否為我解釋一下,想要多學點

發表於: 2006/4/21 11:24
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: RS232的棘手問題~~
#2
版主
版主


查看用戶資訊
在judge裡刪掉 CREN & SPEN 清零的動作後再試試看:
judge:
        
clrf    PORTD
        clrf    TRISD
        clrf    LATD
;        bcf        RCSTA,CREN,0  
;        bcf        RCSTA,SPEN,0
        movff    RCREG
,number
        btfss    number
,1        
        
goto    turn    
        
goto    act    
        
return

發表於: 2006/4/20 16:22
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


RS232的棘手問題~~
#1
新會員
新會員


查看用戶資訊
小妹我使用RS232傳輸訊號給PIC實驗板,運用VB寫一個測試程式用按鈕傳值給板子,把RS232的特殊暫存器RCREG所接收到的資料陣列直接傳給PORTD,發現一個問題,訊號的確是有送入PORTD,但是往往測試到第31次,PORTD就會停住而不在改變,用示波器量測的結果是資料有一直在更新,可是實驗板就是停住,都要按一下實驗板上的RESET鍵,才可以重新來,不知道為什麼會這樣,以下我列出我的程式碼,希望版主可以為我解個答,謝謝~~

====================================
程式碼
====================================
#include <p18f452.inc>
Baud_Rate    equ        d'103'
W_Temp        set     0x20
STATUS_Temp    set     0x21
BSR_Temp               set     0x22
number        set        0x23
        org        0x00
        nop
        
goto    Main_Program
        org        0x08
        
goto    INT_SER
        retfie
        org        0x18
        retfie
    
Main_Program
:
        
clrf    PORTD
        clrf    TRISD
        clrf    LATD

BB        call    RS232_Initial
        call    Open_Interrupt
ss        
goto    ss
 
INT_SER
:
        
nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        movwf    W_Temp
,0            Save W
        movff   STATUS
,STATUS_Temp    Save STATUS
        movff    BSR
,BSR_Temp                      Save BSR
        btfss    PIR1
,RCIF,0
        
goto    INT_SER
        call    judge
        call    INT_SER_End
        
goto    BB
        retfie

INT_SER_End
:
       
        
movff   STATUS_Temp,STATUS    
                                
Load STATUS
        movff    BSR_Temp
,BSR                        Load BSR
        movf    W_Temp
,W,0            Load W
        
return
 
Open_Interrupt:        
        
bsf        RCON,IPEN,0
        bsf        INTCON
,PEIE,0    
        bsf        INTCON
,GIE,0
        
return    

RS232_Initial:
        
clrf    TMR0L
        clrf    TMR0H
        bsf     TRISC
,6,0
        bcf        TRISC
,6,0
        bcf        TRISC
,7,0
        bsf        TRISC
,7,0
        movlw    Baud_Rate
        movwf    SPBRG
,0
        bsf        TXSTA
,BRGH,0
        bcf     TXSTA
,SYNC,0  ;高速 非同步 8bit    
        bsf        RCSTA
,CREN,0
        bsf        RCSTA
,SPEN,0
        bsf        IPR1
,RCIP,0
        bsf        PIE1
,RCIE,0
        
return

judge:
        
clrf    PORTD
        clrf    TRISD
        clrf    LATD
        bcf        RCSTA
,CREN,0  
        bcf        RCSTA
,SPEN,0
        movff    RCREG
,number
        btfss    number
,1        
        
goto    turn    
        
goto    act    
        
return

turn
        btfss    number
,0    
                           
;判斷最後一bit為1時則為right
         
goto    left            
                                 
;left為            0x42
    
goto    right    
                       
;right為0x43    
        
act
        btfss    number
,0
        
goto    forward
        
goto    stop
left
        movff    RCREG
,LATD
        
        retfie

right
        movff    RCREG
,LATD
        
        retfie


forward
        movff    RCREG
,LATD
             
        retfie

stop
        movff    RCREG
,LATD
        
        retfie
        end



發表於: 2006/4/20 15:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------