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

📄 setjmp.c

📁 sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu
💻 C
字号:
/** setjmp/longjmp tests.*/#include <testfwk.h>#include <setjmp.h>unsigned int global_int = 0;unsigned int *gpInt;#if defined(SDCC_mcs51)#include <8052.h>void T2_isr (void) interrupt 5 //no using{  //do not clear flag TF2 so it keeps interrupting !  (*gpInt)++;}#endif#if defined(SDCC_mcs51) || defined(PORT_HOST)void try_fun(jmp_buf catch, int except){  longjmp(catch, except);}#endifvoidtestJmp(void){#if defined(SDCC_mcs51) || defined(PORT_HOST)  jmp_buf catch;  int exception;#if defined(SDCC_mcs51)  gpInt = &global_int;  //enable the interrupt and set it's flag to generate some heavy stack usage  ET2 = 1;  EA = 1;  TF2 = 1;#endif  exception = setjmp(catch);  if (exception == 0)  {  	try_fun(catch, 1);  	//should not get here!  	ASSERT(0);  }  ASSERT(exception == 1);#endif}

⌨️ 快捷键说明

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