본문 바로가기
코스웨어

ARM고윤석

by 알 수 없는 사용자 2014. 10. 29.
728x90
반응형

주소

#include "AT91SAM7S256.h"

int main()

{

*AT91C_PMC_PCER= (1<<AT91C_ID_PIOA);

*AT91C_PIOA_PDR = 0xFFFFFFFF; // Port Disable PA2~31

*AT91C_PIOA_PER= AT91C_PIO_PA0 | AT91C_PIO_PA1; // Port Enable PA0~1


*AT91C_PIOA_OER= AT91C_PIO_PA1; // PA1 is Output

*AT91C_PIOA_ODR = AT91C_PIO_PA0; // PA0 is Input


while (1)

{


if((AT91C_BASE_PIOA->PIO_PDSR & AT91C_PIO_PA0)) // if PA0 were Hi

*AT91C_PIOA_SODR= AT91C_PIO_PA1; // then PA1 out is Hi


else // if PA0 were Lo

*AT91C_PIOA_CODR = AT91C_PIO_PA1; // then PA1 out is Lo



}

return 0;

}



구조체


#include "AT91SAM7S256.h"

int main()

{


AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA);

   

   AT91C_BASE_PIOA->PIO_PDR = 0xFFFFFFFF;

   AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA0 | AT91C_PIO_PA1;

   AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA1;

   AT91C_BASE_PIOA->PIO_ODR = AT91C_PIO_PA0;

while (1)

{


if((AT91C_BASE_PIOA->PIO_PDSR & AT91C_PIO_PA0)) // if PA0 were Hi

 AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA1;


else // if PA0 were Lo

AT91C_BASE_PIOA->PIO_CODR = AT91C_PIO_PA1;



}

return 0;

}



728x90