API UART: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 28: Riadok 28:
 
         call  UART_bReadRxStatus     
 
         call  UART_bReadRxStatus     
 
         and  A, UART_RX_COMPLETE     
 
         and  A, UART_RX_COMPLETE     
         jz    WaitForData      
+
         jz    WaitForData        
   
 
 
         call  UART_bReadRxData          ; nacitanie znaku     
 
         call  UART_bReadRxData          ; nacitanie znaku     
 
         call  UART_SendData            ; echo znaku   
 
         call  UART_SendData            ; echo znaku   
 
      
 
      
 
 
  cmp A,'x'                      ; skok na aktivitu 'x'
 
  cmp A,'x'                      ; skok na aktivitu 'x'
 
  jz state_x
 
  jz state_x
Riadok 39: Riadok 37:
 
  cmp A,'y' ; skok na aktivitu 'y'
 
  cmp A,'y' ; skok na aktivitu 'y'
 
  jz state_y
 
  jz state_y
 
 
         jmp  WaitForData              ; navrat do slucky cakania na novy znak
 
         jmp  WaitForData              ; navrat do slucky cakania na novy znak
  

Verzia zo dňa a času 23:42, 27. máj 2010


Imbox draft.png
Toto je projekt, na ktorom sa ešte stále pracuje!!

Aj keď sú v tomto dokumente použiteľné informácie, ešte nie je dokončený. Svoje návrhy môžete vyjadriť v diskusii o tejto stránke.

Aplikačné rozhranie bloku UART

  • UART_Start Enable user module and set parity.
  • UART_Stop Disable user module.
  • UART_EnableInt Enable both RX and TX interrupts.
  • UART_DisableInt Disable both RX and TX interrupts.
  • UART_SetTxIntMode Set the source of the Tx interrupt.
  • UART_SendData Send byte without checking TX status.
  • UART_bReadTxStatus Return status of TX Status register.
  • UART_bReadRxData Return data in RX Data register without checking status of character is valid.
  • UART_bReadRxStatus Check status of RX Status register.

Príklady použitia

Zdrojový kód jednoduchého povelového interpreteru. Program prijíma znaky z UART a podľa ich významu vykonáva predvolené aktivity.

_main:	
        mov   A,UART_PARITY_NONE        ; inicializacia serioveho rozhrania  
        call  UART_Start         
	M8C_EnableGInt   

   WaitForData:                         ; cakanie na prichod znaku     
        call  UART_bReadRxStatus    
        and   A, UART_RX_COMPLETE    
        jz    WaitForData         
        call  UART_bReadRxData          ; nacitanie znaku     
        call  UART_SendData             ; echo znaku  
    
 	cmp A,'x'                       ; skok na aktivitu 'x'
 	jz state_x
 	
 	cmp A,'y'			; skok na aktivitu 'y'
 	jz state_y
        jmp   WaitForData               ; navrat do slucky cakania na novy znak

state_x:   
        .....                           ; implementacia aktivity 'x'
        jmp   WaitForData

state_y:   
        .....                           ; implementacia aktivity 'y'
        jmp   WaitForData

Odkazy a literatúra