Microsoft Word - freeRTOS移椊.docx

Size: px
Start display at page:

Download "Microsoft Word - freeRTOS移椊.docx"

Transcription

1 FREERTOS 在 STM32 的移植 V 1.0 FreeRTOS 作为开源的轻量级实时性操作系统, 不仅实现了基本的实时调度 信号量 队列和存储管理, 而且在商业应用上不需要授权费 FreeRTOS 的实现主要由 list.c queue.c croutine.c 和 tasks.c 4 个文件组成 list.c 是一个链表的实现, 主要供给内核调度器使用 ;queue.c 是一个队列的实现, 支持中断环境和信号量控制 ;croutine.c 和 task.c 是两种任务的组织实现 对于 croutine, 各任务共享同一个堆栈, 使 RAM 的需求进一步缩小, 但也正因如此, 他的使用受到相对严格的限制 而 task 则是传统的实现, 各任务使用各自的堆栈, 支持完全的抢占式调度 FreeRTOS 的主要功能可以归结为以下几点 : 1) 优先级调度 相同优先级任务的轮转调度, 同时可设成可剥夺内核或不可剥夺内核 2) 任务可选择是否共享堆栈 (co-routines & tasks), 并且没有任务数限制 3) 消息队列, 二值信号量, 计数信号量, 递归互斥体 4) 时间管理 5) 内存管理 与 UC/OSII 一样,FreeRTOS 在 STM32 的移植大致由 3 个文件实现, 一个.h 文件定义编译器相关的数据类型和中断处理的宏定义 ; 一个.c 文件实现任务的堆栈初始化 系统心跳的管理和任务切换的请求 ; 一个.s 文件实现具体的任务切换 在本次移植中, 使用的编译软件为 IAR EWARM 5.2 各文件关键部分的实现 : PORTMACRO.H 宏定义部分 1. 定义编译器相关的各种数据类型 #define portchar #define portfloat #define portdouble #define portlong #define portshort #define portstack_type #define portbase_type char float double long short unsigned portlong long 1

2 2. 架构相关的定义 Cortex-M3 的堆栈增长方向为高地址向低地址增长 #define portstack_growth ( -1 ) 每毫秒的心跳次数 #define porttick_rate_ms ( ( portticktype ) 1000 / configtick_rate_hz ) 访问 SRAM 的字节对齐 #define portbyte_alignment 8 3. 定义用户主动引起内核调度的 2 个函数强制上下文切换, 用在任务环境中调用 #define portyield() vportyieldfromisr() 强制上下文切换, 用在中断处理环境中调用 #define portend_switching_isr( xswitchrequired ) if( xswitchrequired ) vportyieldfromisr() 4. 定义临界区的管理函数中断允许和关闭 #define portdisable_interrupts() #define portenable_interrupts() vportsetinterruptmask() vportclearinterruptmask() 临界区进入和退出 #define portenter_critical() #define portexit_critical() vportentercritical() vportexitcritical() 用于在中断环境的中断允许和关闭 #define portset_interrupt_mask_from_isr() 0;vPortSetInterruptMask() #define portclear_interrupt_mask_from_isr(x) vportclearinterruptmask();(void)x PORT.C C 接口部分 1. 堆栈初始化 portstack_type *pxportinitialisestack( portstack_type *pxtopofstack, pdtask_code pxcode, void *pvparameters ) *pxtopofstack = portinitial_xpsr; /* 程序状态寄存器 */ pxtopofstack--; *pxtopofstack = ( portstack_type ) pxcode; /* 任务的入口点 */ pxtopofstack--; *pxtopofstack = 0; /* LR */ pxtopofstack -= 5; /* R12, R3, R2 and R1. */ *pxtopofstack = ( portstack_type ) pvparameters; /* 任务的参数 */ pxtopofstack -= 8; /* R11, R10, R9, R8, R7, R6, R5 and R4. */ 2

3 return pxtopofstack; 2. 启动任务调度 portbase_type xportstartscheduler( void ) 让任务切换中断和心跳中断位于最低的优先级, 使更高优先级可以抢占 mcu *(portnvic_syspri2) = portnvic_pendsv_pri; *(portnvic_syspri2) = portnvic_systick_pri; 设置并启动系统的心跳时钟 prvsetuptimerinterrupt(); 初始化临界区的嵌套的个数 uxcriticalnesting = 0; 启动第一个任务 vportstartfirsttask(); 执行到 vportstartfirsttask 函数, 内核已经开始正常的调度 return 0; 3. 主动释放 mcu 使用权 void vportyieldfromisr( void ) 触发 PendSV 系统服务中断, 中断到来时由汇编函数 xportpendsvhandler() 处理 *(portnvic_int_ctrl) = portnvic_pendsvset; 进入临界区时, 首先关闭中断 ; 当退出所以嵌套的临界区后再使能中断 void vportentercritical( void ) portdisable_interrupts(); uxcriticalnesting++; void vportexitcritical( void ) uxcriticalnesting--; 3

4 if( uxcriticalnesting == 0 ) portenable_interrupts(); 4. 心跳时钟处理函数 void xportsystickhandler( void ) unsigned portlong uldummy; 如果是抢占式调度, 首先看一下有没有需要调度的任务 #if configuse_preemption == 1 *(portnvic_int_ctrl) = portnvic_pendsvset; #endif uldummy = portset_interrupt_mask_from_isr(); 通过 task.c 的心跳处理函数 vtaskincrementtick(), 进行时钟计数和延时任务的处理 vtaskincrementtick(); portclear_interrupt_mask_from_isr( uldummy ); PORTASM.S 汇编处理部分 1. 请求切换任务 xportpendsvhandler: 保存当前任务的上下文到其任务控制块 mrs r0, psp ldr r3, =pxcurrenttcb 获取当前任务的任务控制块指针 ldr r2, [r3] stmdb r0!, r4-r11 str r0, [r2] 保存 R4-R11 到该任务的堆栈 将最后的堆栈指针保存到任务控制块的 pxtopofstack stmdb sp!, r3, r14 关闭中断 mov r0, #configmax_syscall_interrupt_priority msr basepri, r0 切换任务的上下文,pxCurrentTCB 已指向新的任务 4

5 bl vtaskswitchcontext mov r0, #0 msr basepri, r0 ldmia sp!, r3, r14 恢复新任务的上下文到各寄存器 ldr r1, [r3] ldr r0, [r1] /* The first item in pxcurrenttcb is the task top of stack. */ ldmia r0!, r4-r11 /* Pop the registers. */ msr psp, r0 bx r14 任务切换的示意图如下 : 保存当前任务上下文 通过进程堆栈指针 PSP, 将 R4-R11 保存到该任务的堆栈 将新的栈顶指针保存到 pxcurrenttcb->pxtopofstack 选择新任务 通过 vtaskswitchcontext() 更新 pxcurrenttcb 指针 pxcurrenttcb 指针指向当前优先级最高的任务 恢复新任务的上下文 通过 pxcurrenttcb->pxtopofstack 恢复新任务的栈顶指针 恢复 R4-R11 并更新进程堆栈指针 PSP 2. 中断允许和关闭的实现, 通过 BASEPRI 屏蔽相应优先级的中断源 vportsetinterruptmask: push r0 mov R0, #configmax_syscall_interrupt_priority msr BASEPRI, R0 pop R0 bx r14 vportclearinterruptmask: PUSH r0 MOV R0, #0 5

6 MSR BASEPRI, R0 POP R0 bx r14 3. 直接切换任务, 用于 vportstartfirsttask 第一次启动任务时初始化堆栈和各寄存器 vportsvchandler; ldr r3, =pxcurrenttcb ldr r1, [r3] ldr r0, [r1] ldmia r0!, r4-r11 msr psp, r0 mov r0, #0 msr basepri, r0 orr r14, r14, #13 bx r14 4. 启动第一个任务的汇编实现 vportstartfirsttask 通过中断向量表的定位堆栈的地址 ldr r0, =0xE000ED08 向量表偏移量寄存器 (VTOR) ldr r0, [r0] ldr r0, [r0] msr msp, r0 将堆栈地址保存到主堆栈指针 msp 中 触发 SVC 软中断, 由 vportsvchandler() 完成第一个任务的具体切换工作 svc 0 FreeRTOS 内核调度器启动的流程如下 : 6

7 设置中断优先级 配置心跳时钟 vportstartfirsttask 定位堆栈地址 触发 SVC 软中断 初始化任务环境 调度器开始工作 xportstartscheduler vportsvchandler 以上 3 个文件实现了 FreeRTOS 内核调度所需的底层接口, 相关代码十分精简 创建测试任务 : 下面创建第一个测试任务,LED 测试 int main( void ) 设置系统时钟, 中断向量表和 LED 使用的 GPIO 使用 stm32 的固件包提供的初始化函数, 具体说明见相关手册 prvsetuphardware(); 通过 xtaskcreate() 创建 4 个 LED 任务 vledflashtask(), 每个任务根据各自的频率闪烁, 分别对应开发板上的 4 个 LED vstartledflashtasks( mainflash_task_priority ); 创建一个 IDLE 任务后, 通过 xportstartscheduler 启动调度器 vtaskstartscheduler(); 调度器工作不正常时返回 return 0; porttask_function() 是 FreeRTOS 定义的函数声明, 没特殊作用 static porttask_function( vledflashtask, pvparameters ) 7

8 省略, 具体为计算各 LED 的闪烁频率 for(;;) vtaskdelayuntil( &xlastflashtime, xflashrate ); vpartesttoggleled( uxled ); vtaskdelayuntil() 的延时时间 xflashrate, 是从上一次的延时时间 xlastflashtime 算起的, 相对 vtaskdelay() 的直接延时更为精准 vtaskdelayuntil( &xlastflashtime, xflashrate ); vpartesttoggleled( uxled ); FreeRTOS 的任务创建与 UC/OSII 差异不大, 主要参数为任务函数, 堆栈大小和任务的优先级 如 : xtaskcreate( vledflashtask, ( signed portchar * ) "LEDx", ledstack_size, NULL, uxpriority, ( xtaskhandle * ) NULL ); 下面再创建一个 LCD 显示任务, 以最低优先级运行 : xtaskcreate( vlcdtask, ( signed portchar * ) "LCD", configminimal_stack_size, NULL, tskidle_priority, NULL ); void vlcdtask( void *pvparameters ) 省略 for( ;; ) vtaskdelay(1000); printf("%c ", usdisplaychar); 该任务很简单, 每隔 1000 个 ticks( 就是 1000ms), 从 LCD 上刷新一个数字 如下图 : 8

9 至此,FreeRTOS 在 STM32 上的移植基本完成 与 UC/OSII 相比,FreeRTOS 精简的实现更适合用来学习实时操作系统的工作原理, 对其进行剖析也相对容易 接下来, 将会移植 CAN,RS485,SD 卡和 USB 等接口到 FreeRTOS, 使其在 STM32 平台上更加完善 9

<4D F736F F F696E74202D204D34D1D0CCD6BBE F55434F534949D4DA4C4D3446D6D0B5C4D2C6D6B2D3EBD3A6D3C3>

<4D F736F F F696E74202D204D34D1D0CCD6BBE F55434F534949D4DA4C4D3446D6D0B5C4D2C6D6B2D3EBD3A6D3C3> uc/os-ii 在 LM4F 中的移植与应用 捷恩斯威科技, 最专业的 TI MCU 方案设计商 目录 1 uc/os-ii 简介 2 uc/os-ii 体系结构 3 uc/os-ii 的移植 4 uc/os-ii 任务创建 uc/os-ii 简介 1. μc/os-ii 具有执行效率高 占用空间小 实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 2. μc/os-ii 是一种可移植的,

More information

uc/os 1

uc/os 1 uc/os 1 uc/os-ii Source Code ANSI C, uc/os-ii 8/16/32 bits microprocessor Preemptive real-time Task 64 Stack Size ROMable (C compiler, assembler and linker/locator) uc/os-ii Mailboxes, Queues, Semaphores,

More information

WMSDK用户手册

WMSDK用户手册 WM_W60X_SDK_OS 移植指导 V1.3 (winner micro) 地址 : 北京市海淀区阜成路 67 号银都大厦 18 层电话 :+86-10-62161900 公司网址 :www.winnermicro.com 1 文档修改记录 版本 修订时间 修订记录 作者 审核 V1.0 2018.09.21 初稿 Muqing V1.1 2018.10.11 修改系统时钟为静态变量 Cuiych

More information

嵌入式操作系统FreeRTOS的原理与实现

嵌入式操作系统FreeRTOS的原理与实现 嵌入式操作系统 FreeRTOS 的原理与实现 在嵌入式领域中, 嵌入式实时操作系统正得到越来越广泛的应用 采用嵌入式实时操作系统 (RTOS) 可以更合理 更有效地利用 CPU 的资源, 简化应用软件的设计, 缩短系统开发时间, 更好地保证系统的实时性和可靠性 由于 RTOS 需占用一定的系统资源 ( 尤其是 RAM 资源 ), 只有 μc/os-ii embos salvo FreeRTOS 等少数实时操作系统能在小

More information

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

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

ST template WORD

ST template WORD 一种计算 CPU 使用率的方法及其实现原理 1 前言 出于性能方面的考虑, 有的时候, 我们希望知道 CPU 的使用率为多少, 进而判断此 CPU 的负载情况和对于当前运行环境是 否足够 胜任 本文将介绍一种计算 CPU 占有率的方法以及其实现原理 2 移植算法 2.1 算法简介 此算法是基于操作系统的, 理论上不限于任何操作系统, 只要有任务调度就可以 本文将以 FreeRTOST 为例来介绍本算法的使用方法

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80

,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80 1996 2 ( ), :,, = = : A BX A B X, A B A B,, : a A B A B ; b A B :, : a, b, A BX= A B X X,,, :,,,,,,, 79 ,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80 ,,,, (,, )

More information

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

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

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

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Static Enforcement of Security with Types

Static Enforcement of Security with Types 例题 1 一个 C 语言程序及其在 X86/Linux 操作系统上的编译结 果如下 根据所生成的汇编程序来解释程序中四个变 量的存储分配 生存期 作用域和置初值方式等方面 的区别 static long aa = 10; short bb = 20; func( ) { } static long cc = 30; short dd = 40; static long aa = 10; func(

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

ARM中C和汇编混合编程及示例.doc

ARM中C和汇编混合编程及示例.doc ARM 中 C 和汇编混合编程及示例 在嵌入式系统开发中, 目前使用的主要编程语言是 C 和汇编,C++ 已经有相应的编译器, 但是现在使用还是比较少的 在稍大规模的嵌入式软件中, 例如含有 OS, 大部分的代码都是用 C 编写的, 主要是因为 C 语言的结构比较好, 便于人的理解, 而且有大量的支持库 尽管如此, 很多地方还是要用到汇编语言, 例如开机时硬件系统的初始化, 包括 CPU 状态的设定,

More information

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

超级好的移值过程介绍: μC/GUI在MSGl9264液晶上的移植 : C GUI MSGl9264 C GUI MSGl9264 µc GUI Micrium µc OS µc GUI * [1] µc GUI Windows µc GUI VC Windows µc GUI µc GUI µc GUI µc GUI MSGl9264 µc GUI 1 µc GUI MSP430F149 MSP430F149 16 (RISC 125ns ) ( ADC ) 2KB

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

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

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 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

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

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

Andes Technology PPT Temp

Andes Technology PPT Temp 晶心科技線上技術研討會 AndesCore 便捷的全 C 嵌入式编程 晶心科技市場及技術服務部毛礼杰軟件經理 WWW.ANDESTECH.COM 大纲 系统初始化介绍 异常和中断说明 全 C 语法例子说明 总结 2 CPU 相关特性 1: 中断向量表 系统初始化 (1) 2: 系统寄存器 通常需要用 assembly( 汇编 / 组合 ) 语言来操作 AndesCore 全 C 嵌入式编程 C 扩展语法

More information

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

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

Microsoft Word - μCOS-II在AndesCore N1033A-S上的移植 中簡Aug-2011.doc

Microsoft Word - μCOS-II在AndesCore N1033A-S上的移植  中簡Aug-2011.doc 晶心科技技术文章 µc/os-ii 在 AndesCore TM N1033A-S 上的移植 發表人 : 周杰, 应用工程师, 晶心宏科技 ( 杭州 ) 有限公司 Tel:0571-85269013-307 Mobile: 13706511046 zhoujie@andestech.com.cn. 晶 心 科 技 新 闻 联 络 人 市场部 Janine 徐家玲经理电话 : 886-3-6668300

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

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

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 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

江 西 : 失 信 被 执 行 人 曝 光 台 写 入 两 会 报 告 摘 要 1 月 27 日, 江 西 省 十 二 届 人 大 五 次 会 议 举 行 第 二 次 全 体 会 议, 江 西 省 高 级 人 民 法 院 院 长 张 忠 厚 向 大 会 作 江 西 省 高 级 人 民 法 院 工 作

江 西 : 失 信 被 执 行 人 曝 光 台 写 入 两 会 报 告 摘 要 1 月 27 日, 江 西 省 十 二 届 人 大 五 次 会 议 举 行 第 二 次 全 体 会 议, 江 西 省 高 级 人 民 法 院 院 长 张 忠 厚 向 大 会 作 江 西 省 高 级 人 民 法 院 工 作 安 徽 : 道 德 信 贷 帮 助 想 干 事 的 好 人 干 成 事 摘 要 安 徽 省 实 施 道 德 信 贷 工 程 两 年 多 来, 通 过 对 道 德 模 范 和 身 边 好 人 优 先 评 级 授 信 优 惠 贷 款 利 率 等 举 措, 为 有 需 要 的 道 德 模 范 和 身 边 好 人 化 解 资 金 之 渴 道 德 模 范 和 身 边 好 人 用 善 行 义 举 温 暖 了 社

More information

形 式 审 查 不 通 过, 将 说 明 原 因 并 予 退 回, 不 予 重 新 修 改 提 交 ( 形 式 审 查 常 见 主 要 问 题 参 考 附 件 3) ( 三 ) 申 请 人 下 载 打 印 网 上 状 态 为 请 交 纸 质 材 料 至 窗 口 受 理 的 申 报 书, 报 送 项

形 式 审 查 不 通 过, 将 说 明 原 因 并 予 退 回, 不 予 重 新 修 改 提 交 ( 形 式 审 查 常 见 主 要 问 题 参 考 附 件 3) ( 三 ) 申 请 人 下 载 打 印 网 上 状 态 为 请 交 纸 质 材 料 至 窗 口 受 理 的 申 报 书, 报 送 项 关 于 申 报 2016 年 度 广 东 省 基 础 与 应 用 基 础 研 究 专 项 资 金 ( 省 自 然 科 学 基 金 ) 项 目 的 通 知 来 源 : 广 东 省 科 技 厅 基 础 研 究 与 科 研 条 件 处 发 布 日 期 : 2015-08-12 粤 科 函 基 字 (2015)1150 号 按 照 广 东 省 省 级 财 政 专 项 资 金 管 理 办 法 规 定,2016

More information

撤 离 你 听 到 了 吗? 它 们 已 经 进 了 墙 里 边 了 那 些 金 属 的 撞 击 声 在 狂 风 之 中 很 难 听 清, 但 断 然 不 会 有 错 围 坐 在 桌 边 的 四 人 靠 得 更 紧 了 些, 并 不 是 因 为 害 怕, 而 是 为 了 取 暖 你 们 觉 得 呢?

撤 离 你 听 到 了 吗? 它 们 已 经 进 了 墙 里 边 了 那 些 金 属 的 撞 击 声 在 狂 风 之 中 很 难 听 清, 但 断 然 不 会 有 错 围 坐 在 桌 边 的 四 人 靠 得 更 紧 了 些, 并 不 是 因 为 害 怕, 而 是 为 了 取 暖 你 们 觉 得 呢? 撤 离 你 听 到 了 吗? 它 们 已 经 进 了 墙 里 边 了 那 些 金 属 的 撞 击 声 在 狂 风 之 中 很 难 听 清, 但 断 然 不 会 有 错 围 坐 在 桌 边 的 四 人 靠 得 更 紧 了 些, 并 不 是 因 为 害 怕, 而 是 为 了 取 暖 你 们 觉 得 呢? 普 雷 斯 科 特 完 全 没 有 掩 饰 他 的 紧 张, 我 想 那 些 墙 壁 很 厚, 它

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

Microsoft Word - 1-3陳詠琳-近代..

Microsoft Word - 1-3陳詠琳-近代.. 近 代 數 字 卦 研 究 考 述 陳 詠 琳 摘 要 所 謂 的 數 字 卦, 乃 指 出 土 文 物 上 某 種 奇 特 的 卜 筮 符 號, 有 學 者 表 示 這 些 符 號 為 數 字, 並 將 之 與 周 易 連 結, 遂 使 此 類 符 號 有 筮 數 易 卦 之 稱, 為 一 門 新 穎 的 易 學 研 究 議 題 張 政 烺 以 奇 數 為 陽, 偶 數 為 陰 的 原 則, 把

More information

PowerPoint Presentation

PowerPoint Presentation 浙江大学海洋学院 STM32 高级 uc/os-ii 嵌入式实时操作系统 司玉林博士海洋工程与技术研究所浙江大学 2019 年 4 月 12 日 @ 舟山 内容提要 操作系统 嵌入式操作系统 嵌入式实时操作系统 1 操作系统 操作系统 ( 英语 :operating system, 缩写 :OS) 是管理计算机硬件与软件资源的计算机程序, 同时也是计算机系统的内核与基石 操作系统需要处理如管理与配置内存

More information

嵌入式Linux/WinCE/VxWorks培训免费讲座

嵌入式Linux/WinCE/VxWorks培训免费讲座 嵌入式培训专家 VxWorks 系统开发 www.farsight.com.cn 日程 v 如何跨入嵌入式系统开发 ; vbsp(bootrom) 的移植 ; vvxworks 的内核机制 ; v 中断的处理 ; v 应用程序的开发 ( 多线程 ); vvxworks 的调试环境 ; vq/a? Vxworks 的应用 数据通信 消费电子 数字图象设备 航空航天 工业控制 计算机外设 交通运输 电信

More information

课程安排 1 学习和掌握一种 RTOS 2 FreeRTOS 基础 3 前后台系统 4 实时内核 5 FreeRTOS 原理 6 实验 Page 2

课程安排 1 学习和掌握一种 RTOS 2 FreeRTOS 基础 3 前后台系统 4 实时内核 5 FreeRTOS 原理 6 实验 Page 2 嵌入式实时操作系统原理 -FreeRTOS 北京麦克泰软件技术有限公司 2017 年 7 月 本讲义版权归北京麦克泰软件技术有限公司所有 课程安排 1 学习和掌握一种 RTOS 2 FreeRTOS 基础 3 前后台系统 4 实时内核 5 FreeRTOS 原理 6 实验 Page 2 学习和掌握一种 RTOS 北京麦克泰软件技术有限公司 2017 年 7 月 本讲义版权归北京麦克泰软件技术有限公司所有

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

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

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

C

C C 2017 3 14 1. 2. 3. 4. 2/95 C 1. 3/95 C I 1 // talkback.c: 2 #include 3 #include 4 #define DENSITY 62.4 5 int main(void) 6 { 7 float weight, volume; 8 int size; 9 unsigned long letters;

More information

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

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

Microsoft Word - MAN2011A_CH_RTT.doc

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

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

这篇文章的英文原版我是在 上下载得到的 其实我并没有决定是否要在系统中使用 FreeRTOS, 虽然我想要的也仅仅是一个实时内核, 当然更重要的 是免费 之所以翻译这篇文章倒不是因为 FreeRTOS 有多么优秀, 完全是因为这篇文章还不算太长 而且 FreeRTO

这篇文章的英文原版我是在  上下载得到的 其实我并没有决定是否要在系统中使用 FreeRTOS, 虽然我想要的也仅仅是一个实时内核, 当然更重要的 是免费 之所以翻译这篇文章倒不是因为 FreeRTOS 有多么优秀, 完全是因为这篇文章还不算太长 而且 FreeRTO USING THE FREERTOS REAL TIME KERNEL A Practical Guide Richard Barry FREERTOS 实时内核 实用指南 FreeRTOS 1 这篇文章的英文原版我是在 www.freertos.net 上下载得到的 其实我并没有决定是否要在系统中使用 FreeRTOS, 虽然我想要的也仅仅是一个实时内核, 当然更重要的 是免费 之所以翻译这篇文章倒不是因为

More information

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

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

密级 : 公开资料 TTC BLE SDK RTOS 简介 文件版本 :V1.0 深圳市昇润科技有限公司 2016 年 12 月 05 日 版权所有

密级 : 公开资料 TTC BLE SDK RTOS 简介 文件版本 :V1.0 深圳市昇润科技有限公司 2016 年 12 月 05 日 版权所有 密级 : 公开资料 TTC BLE SDK RTOS 简介 文件版本 :V1.0 深圳市昇润科技有限公司 2016 年 12 月 05 日 版权所有 版本修订日期修订人审稿人修订内容 1.0 2016-12-05 郭高亮张眼初稿 目录 1.TI RTOS 概述...2 1.1 信号量 (Semaphore)...2 1.2 任务及事件处理 (Task & Event)...3 1.3 定时任务 (Clock)...4

More information

DVK530/531扩展板

DVK530/531扩展板 DVK720 扩展板 驱动移植手册 2014.04.03 V1.0 版权声明 本手册所有权由深圳市微雪电子有限公司独家持有 未经本公司的书 面许可, 不得以任何方式或形式进行修改 分发或复制本文档的任何 部分, 否则一切后果由违者自负 版本更新记录 版本日期说明 V1.0 2014.04.03 初始发布 深圳市微雪电子有限公司 www.waveshare.net I 目录 版权声明... I 版本更新记录...

More information

<4D F736F F D20B5DA36D5C F532DA2F2B2D9D7F7CFB5CDB3BBF9B4A1BCB0C6E4D2C6D6B2BFAAB7A2B3F5B2BD2E646F6378>

<4D F736F F D20B5DA36D5C F532DA2F2B2D9D7F7CFB5CDB3BBF9B4A1BCB0C6E4D2C6D6B2BFAAB7A2B3F5B2BD2E646F6378> CORTEX-M3+UCOS-II 嵌入式系统开发入门与应用 作者 : 华清远见 第 6 章 C/OS-Ⅱ 操作系统基础及其移植开发初步 本章目标 C/OS-Ⅱ 内核作为一种代码公开的嵌入式实时操作系统的内核非常有特色, 在 规模不大的代码内实现了抢占式任务调度和多任务间通信等功能, 任务调度算法也 很有特点 该内核裁剪到最小状态后编译出来只有 8KB 左右, 全部内核功能 ( 添加 LWIP 网络协议栈等

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

C C

C C C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please

More information

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

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 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

汇集全球21位医生的经验和智慧,总结出最实用的专业建议,这些都是最值得你牢记的健康提醒

汇集全球21位医生的经验和智慧,总结出最实用的专业建议,这些都是最值得你牢记的健康提醒 彙 集 全 球 21 位 醫 生 的 經 驗 和 智 慧, 總 結 出 最 實 用 的 專 業 建 議, 這 些 都 是 最 值 得 你 牢 記 的 健 康 提 醒 top1. 不 是 每 個 人 都 適 合 做 近 視 矯 行 手 術, 除 非 你 在 手 術 前 已 經 持 續 穩 定 地 佩 戴 了 一 年 以 上 的 近 視 眼 鏡 或 者 隱 形 眼 鏡 如 果 你 時 摘 時 戴 眼 鏡,

More information

1 行 业 发 展 不 平 衡 我 国 房 地 产 中 介 服 务 业 起 步 较 晚, 专 业 分 工 程 度 和 国 外 发 达 国 家 相 比 还 有 很 大 差 距 房 地 产 中 介 服 务 行 业 的 发 展 水 平 与 房 地 产 开 发 行 业 的 市 场 化 水 平 密 切 相 关

1 行 业 发 展 不 平 衡 我 国 房 地 产 中 介 服 务 业 起 步 较 晚, 专 业 分 工 程 度 和 国 外 发 达 国 家 相 比 还 有 很 大 差 距 房 地 产 中 介 服 务 行 业 的 发 展 水 平 与 房 地 产 开 发 行 业 的 市 场 化 水 平 密 切 相 关 房 地 产 中 介 服 务 : 仍 处 于 成 长 期, 市 场 空 间 巨 大 作 者 : 庞 增 华 房 地 产 中 介 服 务 业 内 的 企 业 包 括 依 法 设 立 并 具 备 房 地 产 中 介 资 格 的 房 地 产 顾 问 策 划 房 地 产 代 理 销 售 房 地 产 评 估 房 地 产 经 纪 等 中 介 服 务 机 构, 是 房 地 产 开 发 价 值 链 中 不 可 或 缺

More information

Microsoft Word - MAN2023A_CH_APPONE.doc

Microsoft Word - MAN2023A_CH_APPONE.doc AT91 softpack 1.5 代码解读 基于 SAM7X EK 综合应用代码解读 文档编号 文档版本 Rev. A 文档摘要 基于 AT91SAM7X EK 开发板的代码解读,GPIO H161T01 代码解读 关键词 AT91SAM7X256 系统板 创建日期 2010 07 14 创建人员 Cust126 审核人员 Robin 文档类型 公开发布 / 开发板配套文件 版权信息 Mcuzone

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

嵌入式工程师考纲大纲(中级)

嵌入式工程师考纲大纲(中级) ARM9 嵌入式系统设计与开发应用 教学大纲 编写 : 熊茂华 本教材是为中国电子学会嵌入式设计工程师考试指定教材, 根据嵌入式设计工程师考试大纲 ( 中级 ) 要求, 制订了 ARM9 嵌入式系统设计与开发应用 课程的教学大纲 课程能力目标 : 通过本课程的教学, 掌握嵌入式应用系统的基本结构 嵌入式硬件接口和软件系统设计的方法 ; 利用嵌入式开发工具 ADS 1.2 开发基于 μc/os-ii

More information

【第一类】

【第一类】 第 一 类 用 于 工 业 科 学 摄 影 农 业 园 艺 森 林 的 化 学 品, 未 加 工 人 造 合 成 树 脂, 未 加 工 塑 料 物 质, 肥 料, 灭 火 用 合 成 物, 淬 火 和 金 属 焊 接 用 制 剂, 保 存 食 品 用 化 学 品, 鞣 料, 工 业 用 粘 合 剂 [ 注 释 ] 本 类 主 要 包 括 用 于 工 业 科 学 和 农 业 的 化 学 制 品, 包

More information

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

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 1 2 1 2 3 4 5 6 7 8 9 10 3 1 150 2 150 1 1 1.1 1.1.1 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.4 1.4.1 CPU 1.4.2 I/O 1.4.3 I/O 1.5 1.5.1 CISC RISC 1.5.2 1.5.3 1.6 1.6.1 1.6.2 N 1.6.3 2 2.1 2.1.1 2.1.2 2.1.3

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

QQ: gxtcp lib(for print) 使用指南 格芯单片机, 您的网络方案专家!!! i

QQ: gxtcp lib(for print) 使用指南 格芯单片机, 您的网络方案专家!!!   i gxtcp lib(for print) 使用指南 格芯单片机, 您的网络方案专家!!! i 目录 第 1 章 gxtcp LIB(for print) 使用指南...1 1.1... 1 1.2 gxtcplib... 2 1.3 gxtcplib... 3 1.4 gxtcplib... 4 1.5...5 1.6...6 1.6.1 UART bsp_uart.c... 6 1.6.2 bsp_wdt.c...7

More information

1

1 1 2 3 4 5 GNUDebugger 6 7 void main(int argc, char **argv){ vulncpy(argv[1]); return; } void vulncpy(char *a){ char buf[30]; strcpy(buf, a); return; } *argv[1] buf Shellcode *argv[1]... &buf &buf 8 strcpy

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 1 CARDGAME 1 CardGame 题目描述 桌上有一叠牌, 从第一张牌 ( 即位于顶面的牌 ) 开始从上往下依次编号为 1~n 当至少还剩两张牌时进行以下操作 : 把第一张牌扔掉, 然后把新的第一张放到整叠牌的最后 请模拟这个过程, 依次输出每次扔掉的牌以及最后剩下的牌的编号 输入 输入正整数 n(n

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 嵌入式系统设计与实例开发 ARM 与 µc/os-Ⅱ 北京航空航天大学智能嵌入式技术工作室 1 第四讲 嵌入式实时操作系统分析 一 操作系统概述二 嵌入式实时操作系统 µc/os 三 嵌入式 Linux 简介四 WinCE 2 一 操作系统的发展 串行处理 简单批处理系统 IBMSYS 多通道程序批处理系统 分时操作系统 实时操作系统 3 批处理操作系统 工作方式 : 用户将作业交给系统操作员 系统操作员将许多用户的作业组成一批作业

More information

Microsoft PowerPoint - STM32 tools Oct-2007.ppt

Microsoft PowerPoint - STM32 tools Oct-2007.ppt STM32 开发套件及仿真工具 2007/10/31 Shanghai 2007/10/31 2 国际性的开发套件所有套件均可从 ST 订购 STM3210B-SK/IAR $239 开发套件包含 JTAG 接口的仿真器 / 编程器和 STM32 评估板 可以用此套件评估 STM32 以及开始开发项目 ( 代码限制取决于编译器 ) 可以通过代理商从 ST 定购 STM3210B-SK/KEIL $189

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

STM32 STM3232ARM Cortex-M3 Cortex-M3 STM32Thumb-2 STM32MCU Cortex-M3ARM MCU STM32ARM 32 ARMCortex-M3 32 STM32 Cortex-M3 ARM Cortex-M3 ARM ARM

STM32 STM3232ARM Cortex-M3 Cortex-M3 STM32Thumb-2 STM32MCU Cortex-M3ARM MCU STM32ARM 32 ARMCortex-M3 32 STM32 Cortex-M3 ARM Cortex-M3 ARM ARM STM32 ARM Cortex -M3 32 www.st.com/mcu www.stmicroelectronics.com.cn/mcu STM32 STM3232ARM Cortex-M3 Cortex-M3 STM32Thumb-2 STM32MCU 32 1632 Cortex-M3ARM MCU STM32ARM 32 ARMCortex-M3 32 STM32 Cortex-M3

More information

untitled

untitled 1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20 (Jump) (Loop) (Conditional jump) CMP CALL AND SAR/SHR TEST JMP NOT SAL/SHL Jnnn* OR RCR/ROR LOOP XOR RCL/ROL RETn * nnn, JNE JL -128 127-32,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

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

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 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

untitled

untitled 2010 1 67,380 18,736 48,644 2010 12 31 18,736 27.81 48,644 72.19 67,380 100 72.19% 2010 1 115,492 7,079 17,469,446 2.59 2 115,709 217 17,529,487 2.6 3 121,455 5,746 10,527,246 1.56 4 116,269-5,186 14,337,400

More information

STM32F05x training in Prague - DAY1

STM32F05x training in Prague - DAY1 Cortex-M0 内核 Cortex-M 系列处理器 跨越传统单片机 8/16/32 位的界限 跨越所用应用的无缝架构 每个产品都针对超低功耗做了优化, 且易于使用 Cortex-M0 Cortex-M3 Cortex-M4 8/16-bit applications 16/32-bit applications 32-bit/DSC applications 程序和开发工具都兼容 Cortex-M

More information

untitled

untitled www.mcudriver.cn 1.1 / 1) WinAVR20070525 2) Source Insight 3) ISP 4) PonyProg ISP 5) USB 6) 1.2. MCU ATMEGA16 1.3. AVR8 1.4 LED0~LED7 1 1.5 #include // Program 1.1 LED.C #define uchar unsigned

More information

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

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

PIC_SERVER (11) SMTP  ( ) ( ) PIC_SERVER (10) SMTP  PIC_SERVER (event driven)  PIC_SERVER SMTP  1.  E- (2005-02-01) (2005-04-28) PIC_SERVER (10) SMTP E-mail PIC_SERVER (event driven) E-mail PIC_SERVER SMTP E-mail 1. E-mail E-mail 1 (1) (2) (3) (4) 1 1. 2 E-mail A E-mail B E-mail SMTP(Simple Mail Transfer

More information

Microsoft Word - CPE考生使用手冊160524.docx

Microsoft Word - CPE考生使用手冊160524.docx 大 學 程 式 能 力 檢 定 (CPE) 考 生 使 用 手 冊 2016 年 5 月 24 日 這 份 手 冊 提 供 給 參 加 CPE 檢 定 考 試 的 考 生 內 容 包 含 考 試 環 境 的 使 用, 以 及 解 題 時 所 使 用 I/O 的 基 本 知 識 1. 如 欲 報 名 參 加 CPE 考 試, 請 先 於 CPE 網 站 完 成 帳 號 註 冊, 然 後 再 報 名 該

More information

红 罐 王 老 吉 品 牌 定 位 战 略 来 源 : 成 美 营 销 官 网 品 牌 释 名 凉 茶 是 广 东 广 西 地 区 的 一 种 由 中 草 药 熬 制, 具 有 清 热 去 湿 等 功 效 的 药 茶 在 众 多 老 字 号 凉 茶 中, 又 以 王 老 吉 最 为 著 名 王 老 吉 凉 茶 发 明 于 清 道 光 年 间, 至 今 已 有 175 年, 被 公 认 为 凉 茶 始

More information

哈尔滨工业大学硕士毕业论文模板

哈尔滨工业大学硕士毕业论文模板 μc/os-Ⅱ 在 STM32 中的移植 摘要 近些年来, 数字化技术高速发展, 嵌入式产品已经出现在我们生活中的方方面面 嵌入式操作系统又作为嵌入产品的基石, 在产业发展过程中扮演了越来越不可替代的角色 本文主要研究了嵌入式操作系统中应用较为广泛的 源代码开放的 μc/os-ii 在 STM32 芯片上的移植 本文首先分析了 μc/os-ii 实时系统的内核结构, 介绍了 μc/os-ii 的中的任务

More information

untitled

untitled 串 串 例 : char ch= a ; char str[]= Hello ; 串 列 ch=getchar(); scanf( %c,&ch); 串 gets(str) scanf( %s,str); 8-1 數 ASCII 例 : char ch= A ; printf( %d,ch); // 65 A ascii =0x41 printf( %c,ch); // A 例 : char ch;

More information

Microsoft Word - 实用案例.doc

Microsoft Word - 实用案例.doc 计 算 机 系 统 应 用 2009 年 第 12 期 嵌 入 式 Linux 下 温 湿 度 传 感 器 的 设 计 与 实 现 1 Design and Implementation of Temperature and Humidity Sensor Based on Embedded Linux 陈 博 刘 锦 高 ( 华 东 师 范 大 学 电 子 科 学 技 术 系 上 海 200241)

More information

第一部分 从 0 到 1 教你写 FreeRTOS 内核 本部分以 FreeRTOS Nano 为蓝本, 抽丝剥茧, 不断迭代, 教大家如何从 0 开始把 FreeRTOS 写出来 这一部分着重讲解 FreeRTOS 实现的过程, 当你学完这部分之后, 再来重新使用 FreeRTOS 或者其他 RT

第一部分 从 0 到 1 教你写 FreeRTOS 内核 本部分以 FreeRTOS Nano 为蓝本, 抽丝剥茧, 不断迭代, 教大家如何从 0 开始把 FreeRTOS 写出来 这一部分着重讲解 FreeRTOS 实现的过程, 当你学完这部分之后, 再来重新使用 FreeRTOS 或者其他 RT 第一部分 从 0 到 1 教你写 FreeRTOS 内核 本部分以 FreeRTOS Nano 为蓝本, 抽丝剥茧, 不断迭代, 教大家如何从 0 开始把 FreeRTOS 写出来 这一部分着重讲解 FreeRTOS 实现的过程, 当你学完这部分之后, 再来重新使用 FreeRTOS 或者其他 RTOS, 将会得心应手, 不仅知其然, 而且知其所以然 在源码实现的过程中, 涉及的数据类型 变量名称

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

RT-Thread内核实现与应用开发实战指南—基于STM32

RT-Thread内核实现与应用开发实战指南—基于STM32 野火 STM32 固件库和 GUI 书籍 1 / 193 第 1 章前言 1.1 如何学习本书 本书是首本系统讲解 RT-Thread 的中文书籍, 共分为两个部分, 第一部分为 从 0 到 1 教你写 RT-Thread 内核, 即重点讲解 RT-Thread 的原理实现, 从 0 开始, 不断迭代, 教你怎么把 RTT 的内核写出来, 让你彻底学会线程是如何定义的, 系统是如何调度的 ( 包括底层的汇编代码讲解

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

Freescale PowerPoint Template

Freescale PowerPoint Template October 2013 MQX Lite 简介 概述, 主要特性和代码大小 应用实验 创建一个新的 MQX-Lite 工程, 利用 PE 添加串口组件和闪灯组件 创建三个任务, 每个任务控制一个 LED 灯闪烁并输出调试信息, 完成闪灯和串口打印实验 2 通过今天的练习, 学会使用 PE 配置 MQX Lite 组件 基于 Kinetis E 系列微控制器编写多个 MQX Lite 任务, 点亮

More information

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public

More information

V1.0 RT-Thread 开发者能力认证考试样题 (RCEA) 注 : 样题仅为部分题目 第一小卷 : 单选题 40 题 40 分钟 40.0 分 1 对两个字符 a 和 b 进行初始化 : char a[] = "ABCDEF"; char b[]={'a','b','c','d','e','

V1.0 RT-Thread 开发者能力认证考试样题 (RCEA) 注 : 样题仅为部分题目 第一小卷 : 单选题 40 题 40 分钟 40.0 分 1 对两个字符 a 和 b 进行初始化 : char a[] = ABCDEF; char b[]={'a','b','c','d','e',' RT-Thread 开发者能力认证考试样题 (RCEA) 注 : 样题仅为部分题目 第一小卷 : 单选题 40 题 40 分钟 40.0 分 1 对两个字符 a 和 b 进行初始化 : char a[] = "ABCDEF"; char b[]={'a','b','c','d','e','f'; 则以下叙述正确的是 (1 分 ) a 数组大小比 b 数组大小大 a 与 b 大小相同但两个数组不完全相同

More information