main.c

来自「ARM7x256开发板的了LED测试程序」· C语言 代码 · 共 63 行

C
63
字号
//*----------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//  DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
//  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
//  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
//  DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
//  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
//  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
//  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//*----------------------------------------------------------------------------
//* File Name           : main.c
//* Object              : main application written in C
//* Creation            :    14/Feb/2007
//*----------------------------------------------------------------------------

// Include Standard files
#include "delay.h"
#include "project.h"


int main()
{//* Begin
       AT91C_BASE_RSTC->RSTC_RMR = AT91C_RSTC_URSTEN | (0x4<<8) | (unsigned int)(0xA5<<24);
   
    // First, enable the clock of the PIO
       AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;
       AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_PIOB;
    // then, we configure the PIO Lines corresponding to LED1 to LED4
    // to be outputs. No need to set these pins to be driven by the PIO because it is GPIO pins only.
       AT91F_PIO_CfgOutput( AT91D_BASE_PIO_LED, AT91B_LED_MASK ) ;

    // Clear the LED's. On the EB55 we must apply a "1" to turn off LEDs
       AT91F_PIO_SetOutput( AT91D_BASE_PIO_LED, AT91B_LED_MASK ) ;
    // Clear the LED's. On the EB55 we must apply a "1" to turn off LEDs
       AT91F_PIO_ClearOutput( AT91D_BASE_PIO_LED, AT91B_LED_MASK ) ;

    // Loop forever
   while (1)
    {
        // Once a Shot on each led
//	for ( i=0 ; i < AT91B_NB_LEB ; i++ )
        //{
	    AT91F_PIO_ClearOutput( AT91D_BASE_PIO_LED, AT91B_LED1) ;
	    
        AT91F_PIO_SetOutput( AT91D_BASE_PIO_LED, AT91B_LED2);
        
        delay_1ms(600);
	    
        AT91F_PIO_SetOutput( AT91D_BASE_PIO_LED, AT91B_LED1 ) ;
	   
        AT91F_PIO_ClearOutput( AT91D_BASE_PIO_LED, AT91B_LED2 ) ;
	   
        delay_1ms(600);        
       
       
    }
   
}//* End

⌨️ 快捷键说明

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