blinker.c

来自「Atmel 公司提供的开发板参考程序」· C语言 代码 · 共 36 行

C
36
字号
//  *****************************************************************************
//   						blinker.c
// 
//     Endless loop blinks a code for crash analysis
//     
//	   Inputs:	Code  -  blink code to display
//						 1 = undefined instruction (one blinks ........ long pause)
//						 2 = prefetch abort        (two blinks ........ long pause)
//						 3 = data abort            (three blinks ...... long pause)
//
//  Author:  James P Lynch  May 12, 2007
//  ***************************************************************************** 

#include "AT91SAM7S256.h"
#include "board.h"

unsigned long	blinkcount;									// global variable


void  blinker(unsigned char    code) {
	volatile AT91PS_PIO		pPIO = AT91C_BASE_PIOA;			// pointer to PIO register structure
	volatile unsigned int	j,k;							// loop counters
		
	// endless loop	
	while (1)  {	
		for  (j = code; j != 0; j--) {						// count out the proper number of blinks
			pPIO->PIO_CODR = LED1;							// turn LED1 (DS1) on	
			for (k = 600000; k != 0; k-- );					// wait 250 msec
			pPIO->PIO_SODR = LED1;							// turn LED1 (DS1) off
			for (k = 600000; k != 0; k-- );					// wait 250 msec
		}
		for (k = 5000000; (code != 0) && (k != 0); k-- );	// wait 2 seconds
		blinkcount++;
	}	
}

⌨️ 快捷键说明

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