📄 tc.lst
字号:
###############################################################################
# #
# 24/Apr/2009 23:50:12 #
# IAR ANSI C/C++ Compiler V5.20.0.20892/W32 EVALUATION for ARM #
# Copyright 1999-2008 IAR Systems AB. #
# #
# Cpu mode = arm #
# Endian = little #
# Source file = F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek #
# -iar\getting-started-project-at91sam7x-ek\at91lib\periph #
# erals\tc\tc.c #
# Command line = F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek #
# -iar\getting-started-project-at91sam7x-ek\at91lib\periph #
# erals\tc\tc.c -D at91sam7x128 -D flash -D TRACE_LEVEL=4 #
# -lC F:\Diplomovka\Atmel\getting-started-project-at91sam7 #
# x-ek-iar\getting-started-project-at91sam7x-ek\at91sam7x- #
# ek\getting-started-project\ewp\at91sam7x128_flash\List\ #
# --remarks --diag_suppress Pe826,Pe1375 -o #
# F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek #
# -iar\getting-started-project-at91sam7x-ek\at91sam7x-ek\g #
# etting-started-project\ewp\at91sam7x128_flash\Obj\ #
# --no_cse --no_unroll --no_inline --no_code_motion #
# --no_tbaa --no_clustering --no_scheduling --debug #
# --endian=little --cpu=ARM7TDMI -e --fpu=None #
# --dlib_config "C:\Program Files (x86)\IAR #
# Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\DLib_Config_Full.h" -I #
# F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek #
# -iar\getting-started-project-at91sam7x-ek\at91sam7x-ek\g #
# etting-started-project\ewp\..\..\..\at91lib/peripherals\ #
# -I F:\Diplomovka\Atmel\getting-started-project-at91sam7 #
# x-ek-iar\getting-started-project-at91sam7x-ek\at91sam7x- #
# ek\getting-started-project\ewp\..\..\..\at91lib\ -I #
# F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek #
# -iar\getting-started-project-at91sam7x-ek\at91sam7x-ek\g #
# etting-started-project\ewp\..\..\..\at91lib/components\ #
# -I F:\Diplomovka\Atmel\getting-started-project-at91sam7x #
# -ek-iar\getting-started-project-at91sam7x-ek\at91sam7x-e #
# k\getting-started-project\ewp\..\..\..\at91lib/boards/at #
# 91sam7x-ek\ -I "C:\Program Files (x86)\IAR #
# Systems\Embedded Workbench 5.0 Evaluation\ARM\INC\" #
# --interwork --cpu_mode arm -Oh #
# List file = F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek #
# -iar\getting-started-project-at91sam7x-ek\at91sam7x-ek\g #
# etting-started-project\ewp\at91sam7x128_flash\List\tc.ls #
# t #
# Object file = F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek #
# -iar\getting-started-project-at91sam7x-ek\at91sam7x-ek\g #
# etting-started-project\ewp\at91sam7x128_flash\Obj\tc.o #
# #
# #
###############################################################################
F:\Diplomovka\Atmel\getting-started-project-at91sam7x-ek-iar\getting-started-project-at91sam7x-ek\at91lib\peripherals\tc\tc.c
1 /* ----------------------------------------------------------------------------
2 * ATMEL Microcontroller Software Support
3 * ----------------------------------------------------------------------------
4 * Copyright (c) 2008, Atmel Corporation
5 *
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * - Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the disclaimer below.
13 *
14 * Atmel's name may not be used to endorse or promote products derived from
15 * this software without specific prior written permission.
16 *
17 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 * ----------------------------------------------------------------------------
28 */
29
30 //------------------------------------------------------------------------------
31 // Headers
32 //------------------------------------------------------------------------------
33
34 #include "tc.h"
35
36 //------------------------------------------------------------------------------
37 // Global Functions
38 //------------------------------------------------------------------------------
39
40 //------------------------------------------------------------------------------
41 /// Configures a Timer Counter to operate in the given mode. Timer is stopped
42 /// after configuration and must be restarted with TC_Start(). All the
43 /// interrupts of the timer are also disabled.
44 /// \param pTc Pointer to an AT91S_TC instance.
45 /// \param mode Operating mode (TC_CMR value).
46 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
47 void TC_Configure(AT91S_TC *pTc, unsigned int mode)
48 {
49 // Disable TC clock
50 pTc->TC_CCR = AT91C_TC_CLKDIS;
\ TC_Configure:
\ 00000000 0220A0E3 MOV R2,#+2
\ 00000004 002080E5 STR R2,[R0, #+0]
51
52 // Disable interrupts
53 pTc->TC_IDR = 0xFFFFFFFF;
\ 00000008 0020E0E3 MVN R2,#+0
\ 0000000C 282080E5 STR R2,[R0, #+40]
54
55 // Clear status register
56 pTc->TC_SR;
\ 00000010 202090E5 LDR R2,[R0, #+32]
57
58 // Set mode
59 pTc->TC_CMR = mode;
\ 00000014 041080E5 STR R1,[R0, #+4]
60 }
\ 00000018 1EFF2FE1 BX LR ;; return
61
62 //------------------------------------------------------------------------------
63 /// Enables the timer clock and performs a software reset to start the counting.
64 /// \param pTc Pointer to an AT91S_TC instance.
65 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
66 void TC_Start(AT91S_TC *pTc)
67 {
68 pTc->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
\ TC_Start:
\ 00000000 0510A0E3 MOV R1,#+5
\ 00000004 001080E5 STR R1,[R0, #+0]
69 }
\ 00000008 1EFF2FE1 BX LR ;; return
70
71 //------------------------------------------------------------------------------
72 /// Disables the timer clock, stopping the counting.
73 /// \param pTc Pointer to an AT91S_TC instance.
74 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
75 void TC_Stop(AT91S_TC *pTc)
76 {
77 pTc->TC_CCR = AT91C_TC_CLKDIS;
\ TC_Stop:
\ 00000000 0210A0E3 MOV R1,#+2
\ 00000004 001080E5 STR R1,[R0, #+0]
78 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -