亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? uart.lst

?? LPC214X系列ARM在KEIL編譯環(huán)境下的所以例程
?? LST
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
ARM COMPILER V2.53,  uart                                                                  02/08/06  09:01:33  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE uart
OBJECT MODULE PLACED IN .\Obj\uart.obj
COMPILER INVOKED BY: g:\Keil\ARM\BIN\CA.exe uart.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\UART.LST) TABS(4) OBJEC
                    -T(.\Obj\uart.obj) 

stmt  level    source

    1          /*****************************************************************************
    2           *   uart.c:  UART API file for Philips LPC214x Family Microprocessors
    3           *
    4           *   Copyright(C) 2006, Philips Semiconductor
    5           *   All rights reserved.
    6           *
    7           *   History
    8           *   2005.10.01  ver 1.00    Prelimnary version, first Release
    9           *
   10          ******************************************************************************/
   11          #include "LPC214x.H"                        /* LPC21xx definitions */
   12          #include "type.h"
   13          #include "target.h"
   14          #include "irq.h"
   15          #include "uart.h"
   16          
   17          DWORD UART0Status;
   18          BYTE UART0TxEmpty = 1;
   19          BYTE UART0Buffer[BUFSIZE]={0x01,0x03,0x05,0x07,0x09,0x0a,0x0b,0x0c,0x08,0x04};
   20          DWORD UART0Count = 0;
   21          
   22          /*****************************************************************************
   23          ** Function name:       UART0Handler
   24          **
   25          ** Descriptions:        UART0 interrupt handler
   26          **
   27          ** parameters:          None
   28          ** Returned value:      None
   29          ** 
   30          *****************************************************************************/
   31          void UART0Handler (void) __irq 
   32          {
   33   1          BYTE IIRValue, LSRValue;
   34   1          BYTE Dummy;
   35   1      
   36   1          IENABLE;                /* handles nested interrupt */  
   37   1          IIRValue = U0IIR;
   38   1          
   39   1          IIRValue >>= 1;         /* skip pending bit in IIR */
   40   1          IIRValue &= 0x07;           /* check bit 1~3, interrupt identification */
   41   1          if ( IIRValue == IIR_RLS )      /* Receive Line Status */
   42   1          {
   43   2          LSRValue = U0LSR;
   44   2          /* Receive Line Status */
   45   2          if ( LSRValue & (LSR_OE|LSR_PE|LSR_FE|LSR_RXFE|LSR_BI) )
   46   2          {
   47   3              /* There are errors or break interrupt */
   48   3              /* Read LSR will clear the interrupt */
   49   3              UART0Status = LSRValue;
   50   3              Dummy = U0RBR;      /* Dummy read on RX to clear 
   51   3                          interrupt, then bail out */
   52   3              IDISABLE;
   53   3              VICVectAddr = 0;        /* Acknowledge Interrupt */
   54   3              return;
   55   3          }
   56   2          if ( LSRValue & LSR_RDR )   /* Receive Data Ready */            
   57   2          {
   58   3              /* If no error on RLS, normal ready, save into the data buffer. */
ARM COMPILER V2.53,  uart                                                                  02/08/06  09:01:33  PAGE 2   

   59   3              /* Note: read RBR will clear the interrupt */
   60   3              UART0Buffer[UART0Count] = U0RBR;
   61   3              UART0Count++;
   62   3              if ( UART0Count == BUFSIZE )
   63   3              {
   64   4              UART0Count = 0;     /* buffer overflow */
   65   4              }   
   66   3          }
   67   2          }
   68   1          else if ( IIRValue == IIR_RDA ) /* Receive Data Available */
   69   1          {
   70   2          /* Receive Data Available */
   71   2          UART0Buffer[UART0Count] = U0RBR;
   72   2          UART0Count++;
   73   2          if ( UART0Count == BUFSIZE )
   74   2          {
   75   3              UART0Count = 0;     /* buffer overflow */
   76   3          }
   77   2          }
   78   1          else if ( IIRValue == IIR_CTI ) /* Character timeout indicator */
   79   1          {
   80   2          /* Character Time-out indicator */
   81   2          UART0Status |= 0x100;       /* Bit 9 as the CTI error */
   82   2          }
   83   1          else if ( IIRValue == IIR_THRE )    /* THRE, transmit holding register empty */
   84   1          {
   85   2          /* THRE interrupt */
   86   2          LSRValue = U0LSR;       /* Check status in the LSR to see if
   87   2                          valid data in U0THR or not */
   88   2          if ( LSRValue & LSR_THRE )
   89   2          {
   90   3              UART0TxEmpty = 1;
   91   3          }
   92   2          else
   93   2          {
   94   3              UART0TxEmpty = 0;
   95   3          }
   96   2          }
   97   1          
   98   1          IDISABLE;
   99   1          VICVectAddr = 0;        /* Acknowledge Interrupt */
  100   1      }
  101          
  102          /*****************************************************************************
  103          ** 函數(shù)名:      UARTInit
  104          **
  105          ** 描述:        初始化UART0端口, 選擇引腳設(shè)置,
  106          **              時(shí)鐘, 奇偶, 停止位, FIFO,等等.
  107          **
  108          ** 參數(shù):            UART 波特率
  109          ** 返回值:      true or false, return false only if the 
  110          **              interrupt handler can't be installed to the 
  111          **              VIC table
  112          ** 
  113          *****************************************************************************/
  114          DWORD UARTInit( DWORD baudrate )
  115          {
  116   1          DWORD Fdiv;
  117   1      
  118   1          PINSEL0 = 0x00050005;       /* 允許 RxD1 和TxD1, RxD0 和TxD0 */
  119   1      
  120   1          U0LCR = 0x83;               /* 8 位,無(wú)奇偶校驗(yàn), 一位停止位   */
  121   1          Fdiv = ( Fpclk / 16 ) / baudrate ;  /*波特率 */
  122   1          U0DLM = Fdiv / 256;                         
  123   1          U0DLL = Fdiv % 256; 
  124   1          U0LCR = 0x03;               /* DLAB = 0                         */
ARM COMPILER V2.53,  uart                                                                  02/08/06  09:01:33  PAGE 3   

  125   1          U0FCR = 0x07;       /* 允許復(fù)位 TX 和RX FIFO. */
  126   1      
  127   1          if ( install_irq( UART0_INT, (void *)UART0Handler ) == FALSE )
  128   1          {
  129   2          return (FALSE);
  130   2          }
  131   1         
  132   1          U0IER = IER_RBR | IER_THRE | IER_RLS;   /* 允許UART0中斷*/
  133   1          return (TRUE);
  134   1      }
  135          
  136          /*****************************************************************************
  137          ** Function name:       UARTSend
  138          **
  139          ** Descriptions:        Send a block of data to the UART 0 port based
  140          **              on the data length
  141          **
  142          ** 參數(shù):            緩沖器指示, a和數(shù)據(jù)長(zhǎng)度
  143          ** Returned value:      None
  144          ** 
  145          *****************************************************************************/
  146          void UARTSend(BYTE *BufferPtr, DWORD Length )
  147          {
  148   1          while ( Length != 0 )
  149   1          {
  150   2          while ( !(UART0TxEmpty & 0x01) );   /* THRE status, contain valid 
  151   2                              data */
  152   2          U0THR = *BufferPtr;
  153   2          UART0TxEmpty = 0;   /* not empty in the THR until it shifts out */
  154   2          BufferPtr++;
  155   2          Length--;
  156   2          }
  157   1          return;
  158   1      }
  159          
  160          /******************************************************************************
  161          **                            End Of File
  162          ******************************************************************************/
ARM COMPILER V2.53,  uart                                                                  02/08/06  09:01:33  PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (install_irq?T)
 EXTERN CODE16 (?C?UDIV?T)



*** PUBLICS:
 PUBLIC         UARTInit?T
 PUBLIC         UART0Handler?A
 PUBLIC         UARTSend?T
 PUBLIC         UART0Status
 PUBLIC         UART0TxEmpty
 PUBLIC         UART0Buffer
 PUBLIC         UART0Count



*** DATA SEGMENT '?DT0?uart':
 00000000          UART0Status:
 00000000            DS          4
 00000004          UART0Count:
 00000004           BEGIN_INIT
 00000004  00000000  DD          0x0
 00000008           END_INIT
 00000008          UART0TxEmpty:
 00000008           BEGIN_INIT
 00000008  01        DB          0x1
 00000009           END_INIT
 00000009          UART0Buffer:
 00000009           BEGIN_INIT
 00000009  01        DB          0x1
 0000000A  03        DB          0x3
 0000000B  05        DB          0x5
 0000000C  07        DB          0x7
 0000000D  09        DB          0x9
 0000000E  0A        DB          0xA
 0000000F  0B        DB          0xB
 00000010  0C        DB          0xC
 00000011  08        DB          0x8
 00000012  04        DB          0x4
 00000013            SPACE       6
 00000019           END_INIT



*** CODE SEGMENT '?PR?UART0Handler?A?uart':
   31: void UART0Handler (void) __irq 
 00000000  E92D403F  STMDB       R13!,{R0-R5,LR}
 00000004  ---- Variable 'LSRValue' assigned to Register 'R0' ----
   32: {
 00000004            ; SCOPE-START
   36:     IENABLE;                /* handles nested interrupt */  
 00000004  E14FE000  MRS         R14,SPSR
 00000008  E92D4000  STMFD       R13!,{LR}
 0000000C  E321F01F  MSR         CPSR_c,#0x1F
 00000010  E92D4000  STMFD       R13!,{LR}
   37:     IIRValue = U0IIR;
 00000014  E5101000  LDR         R1,=0xE000C008
 00000018  E5912000  LDR         R2,[R1,#0x0]
 0000001C  E1A02C02  MOV         R2,R2,LSL #24
 00000020  E1A02C22  MOV         R2,R2,LSR #24
 00000024  ---- Variable 'IIRValue' assigned to Register 'R2' ----
   39:     IIRValue >>= 1;         /* skip pending bit in IIR */
 00000024  E1A020A2  MOV         R2,R2,LSR #1 ; IIRValue
   40:     IIRValue &= 0x07;           /* check bit 1~3, interrupt identification */
 00000028  E2022007  AND         R2,R2,#0x0007 ; IIRValue
   41:     if ( IIRValue == IIR_RLS )      /* Receive Line Status */
 0000002C  E1A01002  MOV         R1,R2 ; IIRValue
 00000030  E1A01C01  MOV         R1,R1,LSL #24 ; IIRValue
ARM COMPILER V2.53,  uart                                                                  02/08/06  09:01:33  PAGE 5   

 00000034  E1A01C21  MOV         R1,R1,LSR #24
 00000038  E3510003  CMP         R1,#0x0003
 0000003C  1A000030  BNE         L_1  ; Targ=0x104
   43:     LSRValue = U0LSR;
 00000040  E5100000  LDR         R0,=0xE000C014
 00000044  E5900000  LDR         R0,[R0,#0x0]
 00000048  E1A00C00  MOV         R0,R0,LSL #24
 0000004C  E1A00C20  MOV         R0,R0,LSR #24
   45:     if ( LSRValue & (LSR_OE|LSR_PE|LSR_FE|LSR_RXFE|LSR_BI) )
 00000050  E1A01000  MOV         R1,R0 ; LSRValue
 00000054  E1A01C01  MOV         R1,R1,LSL #24 ; LSRValue
 00000058  E1A01C21  MOV         R1,R1,LSR #24
 0000005C  E311009E  TST         R1,#0x009E
 00000060  0A00000E  BEQ         L_2  ; Targ=0xA0
   49:         UART0Status = LSRValue;
 00000064  E1A01000  MOV         R1,R0 ; LSRValue
 00000068  E1A03C01  MOV         R3,R1,LSL #24 ; LSRValue

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合网| 日本女优在线视频一区二区| 亚洲综合免费观看高清完整版在线| 天天爽夜夜爽夜夜爽精品视频| 色综合久久中文综合久久97| 国产欧美日韩在线| 国产精品一区在线| 久久精品在这里| 国产成人av自拍| 舔着乳尖日韩一区| 国产精品第13页| 99久久免费精品| 亚洲一区二区欧美| 成人一级片网址| 亚洲一区二区三区精品在线| 精品三级av在线| 国产一区二区三区黄视频 | 91麻豆swag| 一区二区三区小说| 欧美浪妇xxxx高跟鞋交| 成人美女在线观看| 韩国一区二区视频| 中文字幕av不卡| 在线视频你懂得一区二区三区| 亚洲国产精品一区二区www在线| 欧美一区国产二区| 国产精品一区二区久久精品爱涩| 三级不卡在线观看| 亚洲国产一区在线观看| 日韩精品一区二区三区老鸭窝| 久久精品久久综合| 中文字幕国产一区| www国产亚洲精品久久麻豆| 成人一级片在线观看| 国产乱理伦片在线观看夜一区| 麻豆免费精品视频| 中文一区二区完整视频在线观看| 日韩欧美国产三级| 日韩精品在线看片z| 91精品综合久久久久久| 成人午夜激情视频| 国产精品99精品久久免费| 国产在线视频一区二区三区| 久久精品国产久精国产| 免费久久精品视频| 美女视频一区二区三区| 亚洲一区二区四区蜜桃| 亚洲一区中文日韩| 亚洲午夜日本在线观看| 亚洲一区二区精品视频| 亚洲成人先锋电影| 欧美国产综合一区二区| 国产精品你懂的在线| 日韩一区二区在线观看视频播放| 91在线播放网址| 91久久精品一区二区二区| 国产精品亚洲第一区在线暖暖韩国| 美女视频网站久久| 国产一区二区按摩在线观看| 国产成a人亚洲精| 紧缚捆绑精品一区二区| 亚洲第一会所有码转帖| 日本成人在线视频网站| 久久成人免费网| 国产成人午夜99999| av一区二区三区在线| 国产精品中文字幕日韩精品| 国产成人综合精品三级| 色综合视频在线观看| 欧美高清视频一二三区| 精品国产一区二区三区忘忧草| 3atv在线一区二区三区| 久久久亚洲精品一区二区三区| 777久久久精品| 久久久久久毛片| 亚洲免费观看高清完整版在线观看熊| 久久午夜色播影院免费高清| 国产精品美女一区二区| 亚洲国产视频直播| 韩国女主播一区二区三区| 国产大片一区二区| 欧美亚洲愉拍一区二区| 一本一道综合狠狠老| 欧美一区二区三区在线观看 | 日韩—二三区免费观看av| 韩国精品久久久| 91一区二区在线观看| 日韩一区二区三区四区五区六区| 中文av一区特黄| 日本在线不卡视频一二三区| 国产91对白在线观看九色| 欧美色中文字幕| 国产色综合一区| 亚洲444eee在线观看| 国产精品白丝jk黑袜喷水| 欧美日韩中字一区| 欧美疯狂做受xxxx富婆| 国产欧美日韩三级| 青青草原综合久久大伊人精品优势 | 色94色欧美sute亚洲线路二| 日韩欧美亚洲国产精品字幕久久久| 国产精品欧美综合在线| 裸体歌舞表演一区二区| 在线观看区一区二| 国产精品女人毛片| 久久国产尿小便嘘嘘| 一本大道久久a久久综合| 久久久久九九视频| 秋霞电影网一区二区| 色女孩综合影院| 中文字幕免费在线观看视频一区| 石原莉奈一区二区三区在线观看| 成人精品小蝌蚪| 精品欧美黑人一区二区三区| 亚洲高清在线视频| 色综合天天综合网国产成人综合天| 在线观看亚洲成人| 中文字幕欧美一区| 青青草伊人久久| 欧美午夜精品理论片a级按摩| 国产精品久久久久久久久搜平片| 国产一区二区伦理| 欧美tickling挠脚心丨vk| 三级亚洲高清视频| 欧美狂野另类xxxxoooo| 亚洲成人精品一区二区| 欧美性生活一区| 亚洲综合丁香婷婷六月香| 91香蕉视频污| 国产精品久久久久7777按摩| 国产黄色精品视频| 日本一区二区视频在线| 国产真实乱子伦精品视频| 日韩女优电影在线观看| 日本午夜一本久久久综合| 欧美美女直播网站| 性欧美疯狂xxxxbbbb| 欧美精品一二三区| 午夜精品久久久久久久| 欧美日韩精品福利| 国产精品第一页第二页第三页 | 国产91富婆露脸刺激对白| 日韩欧美国产一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 成人免费视频视频| 国产女人18水真多18精品一级做| 精品亚洲aⅴ乱码一区二区三区| 91麻豆精品久久久久蜜臀| 日韩高清不卡在线| 日韩视频123| 久久精工是国产品牌吗| 欧美变态口味重另类| 韩国女主播成人在线观看| 国产日韩av一区| 波多野结衣在线aⅴ中文字幕不卡| 成人一级视频在线观看| 亚洲欧洲日韩综合一区二区| 99精品久久免费看蜜臀剧情介绍| 国产精品白丝jk黑袜喷水| 国产欧美日韩激情| 97久久精品人人做人人爽50路| 亚洲男人的天堂在线观看| 欧美视频一区二区三区| 日韩精品一区第一页| 精品日韩在线一区| 成人开心网精品视频| 一区二区三区欧美在线观看| 欧美日韩国产一二三| 久久99国产精品久久| 激情综合色播激情啊| 欧美一级精品在线| 国产精品1区2区| 最新不卡av在线| 国产精品88888| 17c精品麻豆一区二区免费| 欧美性高清videossexo| 韩国精品久久久| 亚洲精品乱码久久久久久黑人| 国产91丝袜在线播放| 亚洲一区二区三区不卡国产欧美| 日韩三级视频在线观看| 成人久久久精品乱码一区二区三区| 亚洲精品老司机| 久久精品日产第一区二区三区高清版 | 欧美经典一区二区三区| 欧美三级视频在线观看| 国产精品一区二区久激情瑜伽 | 久久综合九色综合97婷婷| 一本久久a久久精品亚洲| 精品一区二区三区免费播放| 亚洲伦理在线精品| 久久综合九色综合欧美98| 欧美在线你懂得| 国产成人综合网站| 免费av网站大全久久| 一区二区三区四区乱视频| 国产免费久久精品| 欧美一区二区成人| 欧洲人成人精品| 成人av综合在线|