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

📄 swi.h

📁 最新的LPC214X SWI驱动程序
💻 H
字号:
////  $Id: swi.h 42 2008-10-04 18:40:36Z jcw $//  $Revision: 42 $//  $Author: jcw $//  $Date: 2008-10-04 14:40:36 -0400 (Sat, 04 Oct 2008) $//  $HeadURL: http://tinymicros.com/svn_public/arm/lpc2148_demo/trunk/swi/swi.h $//#ifndef _SWI_H_#define _SWI_H_//////typedef enum{  SWICALL_YIELDPROCESSOR = 0,   // FreeRTOS xYieldTask (asm)  SWICALL_A_LED2SET,            // Set LED2 on or off, return previous state (asm)  SWICALL_A_LED2ON,             // LED2 on, return previous state (asm)  SWICALL_A_LED2OFF,            // LED2 off, return previous state (asm)  SWICALL_A_LED2TOGGLE,         // LED2 toggle, return previous state (asm)  SWICALL_C_LED2SET,            // Set LED2 on or off, return previous state (C)  SWICALL_C_LED2ON,             // LED2 on, return previous state (C)  SWICALL_C_LED2OFF,            // LED2 off, return previous state (C)  SWICALL_C_LED2TOGGLE,         // LED2 toggle, return previous state (C)}swiCalls_e;//////#define SWICALL(swiID, swiOut) \	asm  volatile (\	"swi %a1   \n\t" \	"mov %0,r0 \n\t" \	: "=r" (swiOut) : "I" (swiID) : "r0", "lr")#define SWICALL1(swiID, swiIn, swiOut) \	asm  volatile (\	"mov r0,%1 \t\n" \	"swi %a2   \n\t" \	"mov %0,r0 \n\t" \	: "=r" (swiOut) : "r" (swiIn), "I" (swiID) : "r0", "lr")#define SWICALL2(swiID, swiIn1, swiIn2, swiOut) \	asm volatile ( \	"mov r0,%1 \t\n" \	"mov r1,%2 \t\n" \	"swi %a3   \n\t" \	"mov %0,r0 \n\t" \	: "=r" (swiOut) : "r" (swiIn1), "r" (swiIn2), "I" (swiID) : "r0", "lr")#define SWICALL3(swiID, swiIn1, swiIn2, swiIn3, swiOut) \	asm volatile ( \	"mov r0,%1 \t\n" \	"mov r1,%2 \t\n" \	"mov r2,%3 \t\n" \	"swi %a4   \n\t" \	"mov %0,r0 \n\t" \	: "=r" (swiOut) : "r" (swiIn1), "r" (swiIn2), "r" (swiIn3), "I" (swiID) : "r0", "lr")//////void swiInit (void);int swiDispatchC (unsigned long r0, unsigned long r1, unsigned long r2, unsigned long swi);#endif

⌨️ 快捷键说明

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