سلام از کد زیر استفاده کن
#include <AT91SAM7X256.H> /* AT91SAMT7X256 definitions */
#include <lib_AT91SAM7X256.h>
void wait(void);
//#define key (1<<8) //PB8
#define key (1<<0) //PB0
int main (void) {
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOB);
AT91F_PIO_CfgOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19);
AT91F_PIO_CfgInput(AT91C_BASE_PIOB, key);
AT91F_PIO_CfgPullup(AT91C_BASE_PIOB,key);
//if((AT91C_PIO_PB0)==0){
for (;;)
{
if((AT91F_PIO_GetInput(AT91C_BASE_PIOB)& key)==0x00000000){
goto ham;
}
salam:
AT91F_PIO_SetOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19);
wait();
wait();
if((AT91F_PIO_GetInput(AT91C_BASE_PIOB)& key)==0x00000000){
goto ham;
}
AT91F_PIO_ClearOutput (AT91C_BASE_PIOB, AT91C_PIO_PB19);
wait();
wait();
}
ham : AT91F_PIO_ClearOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19);
wait();
wait();
wait();
wait();
while(1) {
if((AT91F_PIO_GetInput(AT91C_BASE_PIOB)& key)==0x00000000){
goto salam;
}
}
}
void wait (void) {
unsigned int n;
for (n = 0; n < 737280; n++);
}