⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uarttx.s90

📁 移植的ucos
💻 S90
字号:
;********************************************************************************************************
;                                               uC/OS-II
;                                         The Real-Time Kernel
;
;                                          AVR Specific code
;                                      (IAR AA90 V1.30 or later)
;
;
; File     : UARTTX.S90
; By       : Ole Saether
;
; $Modtime: 12.06.01 16:56 $ 
; $Revision: 2 $
;
;********************************************************************************************************
;                                           I/O PORT ADDRESSES
;********************************************************************************************************

SREG    = 0x3F
SPH     = 0x3E
SPL     = 0x3D
TCNT0   = 0x32

;********************************************************************************************************
;                                          PUBLIC DECLARATIONS
;********************************************************************************************************

                NAME  UARTTX

;********************************************************************************************************
;                                         EXTERNAL DECLARATIONS
;********************************************************************************************************

                EXTERN  OSIntExit
                EXTERN  OSIntNesting
                EXTERN  UartTxHandler


#include        "ATMACRO.S90"

                RSEG    CODE

;********************************************************************************************************
;                                    Uart Transmit Complete ISR
;
; Description : This function is the Uart Transmit Complete handler. The actual work is done by the
;               function UartTxHandler in the file "test.c".
;
;
;********************************************************************************************************

UartTxIsr:      PUSHRS                              ; Save interrupted task's context
                IN      R16,SREG
                SBR     R16,0x80                    ; Set interrupt bit in status reg and save
                ST      -Y,R16
                PUSHSP
                
                LDS     R16,OSIntNesting            ; Notify uC/OS-II of ISR
                INC     R16                         ;
                STS     OSIntNesting,R16            ;             
                SEI
                
                RCALL   UartTxHandler

                RCALL   OSIntExit                   ; Notify uC/OS-II about end of ISR

                POPSP                               ; Restore interrupted task's context
                POPSREG
                POPRS
                RET                                 ; Note: RET instead of RETI                        

;********************************************************************************************************
;                                           INTVEC
;
; Description : Set up the AVR interrupt vector table so that the Uart Transmit Complete interrupt
;               vectors to the function above.
;
;********************************************************************************************************

                COMMON  INTVEC
                DS      22
                RJMP    UartTxIsr

                END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -