Microsoft Word - MAN2011A_CH_RTT.doc

Similar documents
Microsoft Word - MAN2023A_CH_APPONE.doc

Microsoft Word - MSP430 Launchpad 指导书.docx

C语言的应用.PDF

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

C 1

プリント

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

第一章

学习MSP430单片机推荐参考书

P4i45GL_GV-R50-CN.p65

CC213

C/C++ - 字符输入输出和字符确认

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

更新历史 版本时间更新作者 Rev. A 初始创建 Dracula 微控电子乐微电子杭州市登云路 639 号 2B143 销售 TEL: 支持 TEL: FAX: ww

C C

教育扩张能改善收入分配差距吗?——来自CHNS2006年数据的证据

山水文化,市井人家——以湖州邱城小镇的概念性规划为例

105 學 年 度 臺 中 市 立 國 民 中 學 藝 術 才 能 舞 蹈 班 學 生 招 生 暨 鑑 定 重 要 程 序 日 程 表 項 目 重 要 日 期 重 要 工 作 事 項 辦 理 單 位 簡 章 公 告 105 年 3 月 簡 章 暨 報 名 表 請 自 行 於 各 承 辦 網 站 下

臺北市立百齡高級中學九十二學年度第一學期代理教師甄選辦法草案

第九屆全國環境保護模範社區優良事蹟.PDF


新版 明解C言語入門編

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

國 際 金 融 業 務 台 北 市 忠 孝 東 路 四 段 325 號 6 樓 (02) FAX:(02) 分 行 北 寧 分 行 台 北 市 南 京 東 路 四 段 16 號 (02) FAX:(02) 復 旦 分 行

Model P53 pH-ORP Analyzer CH.doc

C/C++ - 函数

PIC_SERVER (11) SMTP ( ) ( ) PIC_SERVER (10) SMTP PIC_SERVER (event driven) PIC_SERVER SMTP 1. E-

Microsoft Word - 事務培訓招生簡章(含報名表).doc

操作指导手册

目录

33 8 No.8Vol.33 JOURNALOF NEIJIANG NORMAL UNIVERSITY MHz-RFID 1, 1, 2, 1, 1 1, * (1., ; 2., ) : 433 MHz, STM MHz, 433MHz,,.,,.

新・解きながら学ぶC言語

C/C++语言 - C/C++数据

51 C 51 isp 10 C PCB C C C C KEIL

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

新・明解C言語入門編『索引』

WARNING RISK OF ELECTRIC SHOCK DO NOT OPEN AVIS RISQUE DE CHOC ELECTRIQUE NE PAS OUVRIR S3125A Ct-2

Microsoft Word - 服装_hyc13_ doc

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

000-A-155 撠

CAUTION RISK OF ELECTRIC SHOCK DO NOT OPEN 2

穨control.PDF

テラル取扱説明書 IMN T

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

_汪_文前新ok[3.1].doc

1 TPIS TPIS 2 2

C/C++ - 文件IO

JLX

公立文化施設における政策評価等のあり方に関する調査研究

Microsoft Word - 家用电器_hyc7620_ doc

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Microsoft Word - Front cover_white.doc

CC213

极客良品 -CC3200xx wifi 学习板 -PWM 实验 CC32xx-PWM 实验 片内定时器功能介绍 ( 使用的 mcu 外设和上一个节内容是一样的 ) 该 CC320 包含 4 个 32 位用户可编程通用定时 (GPTA0~3 或有文档标注为 TIMERA0~3),GPT 可以用于对具有

untitled

Microsoft Word - 目次範例-catalog doc

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

目 錄 壹 訓 練 相 關 法 規 一 交 通 事 業 人 員 員 級 晉 升 高 員 級 資 位 訓 練 辦 法 2 二 99 年 度 交 通 事 業 人 員 員 級 晉 升 高 員 級 資 位 訓 練 課 程 配 當 表 8 三 交 通 事 業 人 員 員 級 晉 升 高 員 級 資 位 訓 練

untitled

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

Andes Technology PPT Temp

Microsoft Word - C-pgm-ws2010.doc

( ) 60 61

プログラムの設計と実現II

EK-STM32F

CX_300 Manual.book

csg(1_29)cs.p65

超级好的移值过程介绍: μC/GUI在MSGl9264液晶上的移植

Edge-Triggered Rising Edge-Triggered ( Falling Edge-Triggered ( Unit 11 Latches and Flip-Flops 3 Timing for D Flip-Flop (Falling-Edge Trigger) Unit 11

STM32Cube_FW_F4?RTC??????BUG

C/C++语言 - 分支结构

AL-M200 Series

WARNING RISK OF ELECTRIC SHOCK DO NOT OPEN AVIS RISQUE DE CHOC ELECTRIQUE NE PAS OUVRIR S3125A 2

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

Microsoft Word - 大连机构资讯周报( )

untitled

ebook39-6

untitled

一、考試宗旨:考選風險管理人才,提升風險管理水準。

计算机网络

Adobe Acrobat GLI gliint.com GLI GLI Adobe Adobe adobe.com 2

TX-NR3030_BAS_Cs_ indd

PPI ( 2. / 3. AIS R VRM EBL R R U/6X 5

C/C++语言 - 运算符、表达式和语句

C++ 程式設計

Microsoft Word - 08_科普作品選讀示例一_ doc

更新历史 版本时间更新作者 Rev. A 初始创建 Dracula 微控电子乐微电子杭州市登云路 639 号 2B143 销售 TEL: 支持 TEL: FAX: www.

2

国家重点实验室建设与运行管理办法

Microsoft Word - ~ doc

untitled

10CP-CW302WN_OG_KOR_ indd

Microsoft PowerPoint - OPVB1基本VB.ppt

目 錄 壹 訓 練 相 關 法 規 一 交 通 事 業 人 員 員 級 晉 升 高 員 級 資 位 訓 練 辦 法 2 二 104 年 度 交 通 事 業 人 員 員 級 晉 升 高 員 級 資 位 訓 練 課 程 配 當 表 10 三 公 務 人 員 晉 升 官 等 ( 資 位 ) 訓 練 成 績

台 灣 花 精 溫 暖 的 家 台 灣 花 精 的 家 再 蛻 變 與 花 氣 最 初 的 相 遇 在 祈 光 總 部, 因 為 一 個 入 世 之 夢, 台 灣 花 精 的 家 落 腳 市 中 心 繁 華 巷 弄 裡, 用 花 草 出 世 的 靈 秀 之 氣 迎 接 心 靈 花 友, 始 終 如

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

桂医大研〔2015〕10号

Contact base Smart Card intercept tools ---

Transcription:

基于 SAM7X EK 和 IAR EWARM 文档编号 文档版本 Rev. A 文档摘要 基于 AT91SAM7X EK 开发板的代码解读,RTT 代码解读 关键词 AT91SAM7X256 SAM7X EK IAR EWARM J LINK RTT 创建日期 2010 06 08 创建人员 Cust126 审核人员 Robin 文档类型 公开发布 / 开发板配套文件 版权信息 Mcuzone 原创文档, 转载请注明出处

更新历史 版本时间更新作者 Rev. A 2010 06 10 初始创建 Cust126 微控电子乐微电子杭州市登云路 639 号 2B143 销售 TEL:86 571 89908193 13957118045 支持 TEL:18913989166 13957118045 FAX:86 571 89908193 www.mcuzone.com www.atarm.com

1. 概述 本文档以 SAM7X EK 为硬件平台,IAR EWARM 为编译器平台, 使用 J Link 作为调试工具, 演示并解读 AT91SAM7X256 的 RTT 操作流程 2. RTT 操作 2.1 RTT 操作流程介绍 RTT 主要有 RTT_MR RTT_AR RTT_VR RTT_SR 4 个寄存器 ; RTT 的初始化流程如下 : 先配置计数器的时钟来源为慢速时钟, 并经过 16 位数值的预分频 这个数值要写入实时模式寄存器 RTT_MR 的 RTPRES 域 配制 RTT 中断, 开中断, 开启实时定时器加 1 中断 实时定时器方框图 :

2.2 RTT 操作的目的与功能描述 AT91 softpack 1.5 的 SAM7X EK 包内的 basic rtt project 工程目的主要是帮助初学者熟悉 RTT 在 AT91SAM7X 系列上的用法 RTT 计数器能够设置报警, 当计数器到达用户预设定的值时触发报警 2.3 示例代码 以下代码截取自 AT91 softpack 1.5 的 SAM7X EK 包内的 basic rtt project, 基于 IAR EWARM 平台 2.3.1 main 函数代码注释解读 下面对 basic rtt project 的主要代码进行注释解读, 首先是 main 函数内容 : // /// Initializes the RTT, displays the current time and allows the user to /// perform several actions: clear the timer, set an alarm, etc. // 初始化 RTT, 显示当前时间, 允许用户设置以下参数 : 清除计数器 设置报警等 // int main(void) { unsigned char c;

// Enable DBGU // 配置 DBGU TRACE_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK); printf(" Basic RTT Project %s \n\r", SOFTPACK_VERSION); printf(" %s\n\r", BOARD_NAME); printf(" Compiled: %s %s \n\r", DATE, TIME ); // Configure RTT // 配置 RTT ConfigureRtt(); // Initialize state machine state = STATE_MAINMENU; alarmed = 0; // 报警标志位 // 刷新显示 // User input loop while (1) { // Wait for user input c = DBGU_GetChar(); // 等待用户输入字符 // Main menu mode // 主菜单模式 if (state == STATE_MAINMENU) { // Reset timer // 重启定时器 if (c == 'r') { ConfigureRtt(); // Set alarm // 设置报警 else if (c == 's') { state = STATE_SETALARM; newalarm = 0; // Clear alarm // 清除报警 else if ((c == 'c') && alarmed) { alarmed = 0;

// Set alarm mode // 报警模式 else if (state == STATE_SETALARM) { // Number //' 字符 '0' '9 转换为数字 0 9 if ((c >= '0') && (c <= '9')) { newalarm = newalarm * 10 + c '0'; // Backspace // 输入为退格 else if (c == 8) { newalarm /= 10; // Enter key //// 输入为回车 else if (c == 13) { // Avoid newalarm = 0 case if (newalarm!= 0) { RTT_SetAlarm(AT91C_BASE_RTTC, newalarm); state = STATE_MAINMENU; 2.3.2 重要子函数代码注释解读 上面是对 main 主函数的代码解读, 下面是对 mian 函数里几个重要的子函数进行代码解读 : RTT 配置子函数 ConfigureRtt(): void ConfigureRtt(void) { unsigned int previoustime; // 设置实时定时器预分频数值 // Configure RTT for a 1 second tick interrupt // 配置 RTT 为 1s 中断 RTT_SetPrescaler(AT91C_BASE_RTTC, 32768); previoustime = RTT_GetTime(AT91C_BASE_RTTC);

while (previoustime == RTT_GetTime(AT91C_BASE_RTTC)); // Enable RTT interrupt AIC_ConfigureIT(AT91C_ID_SYS, 0, ISR_Rtt); AIC_EnableIT(AT91C_ID_SYS); RTT_EnableIT(AT91C_BASE_RTTC, AT91C_RTTC_RTTINCIEN); RefreshDisplay() 屏幕刷新子函数 : void RefreshDisplay(void) { printf("%c[2j\r", 27); printf("time: %u\n\r", RTT_GetTime(AT91C_BASE_RTTC)); // Display alarm // 显示 ALARM if (alarmed) { printf("!!! ALARM!!!\n\r"); // Main menu if (state == STATE_MAINMENU) { printf("menu:\n\r"); printf(" r Reset timer\n\r"); printf(" s Set alarm\n\r"); if (alarmed) { // 如果设置报警标志位, 显示 c Clear alarm notification 菜单 printf(" c Clear alarm notification\n\r"); printf("\n\rchoice? "); // 显示 Choice? 菜单 // Set alarm else if (state == STATE_SETALARM) { printf("enter alarm time: "); if (newalarm!= 0) { printf("%u", newalarm);

2.2.3 运行结果 代码在终端上运行的结果如下 : 开始菜单 设置 20s 报警后的菜单