3가지 방법을 이용한 ARM 소스 표현
// 직접 작성된 해더파일 사용 시
#include "myAT91SAM7S256.h"
int main()
{
PCM_PECR = 1 << 2;
PIO_PDR = 0xFFFFFFFF;
PIO_PER = PA0 | PA1;
PIO_OER = PA1;
PIO_ODR = PA0;
while (1)
{
if((PIO_PDSR & PA0))
PIO_SODR = PA1;
else
PIO_CODR = PA1;
}
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 ))
AT91C_BASE_PIOA -> PIO_SODR = AT91C_PIO_PA1;
else
AT91C_BASE_PIOA -> PIO_CODR = AT91C_PIO_PA1;
}
return 0;
}
// 직접 주소에 접근하여 사용 시
#include "AT91SAM7S256.h"
int main()
{
*AT91C_PMC_PCER = 1 << AT91C_ID_PIOA;
*AT91C_PIOA_PDR = 0xFFFFFFFF;
*AT91C_PIOA_PER = AT91C_PIO_PA0|AT91C_PIO_PA1;
*AT91C_PIOA_OER = AT91C_PIO_PA1;
*AT91C_PIOA_ODR = AT91C_PIO_PA0;
while (1)
{
if(( *AT91C_PIOA_PDSR & AT91C_PIO_PA0 ))
*AT91C_PIOA_SODR = AT91C_PIO_PA1;
else
*AT91C_PIOA_CODR = AT91C_PIO_PA1;
}
return 0;
}
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
ADS LED ON/OFF (0) | 2014.10.31 |
---|---|
10.30 PIT 활용 LED On/Off [오두환] (0) | 2014.10.30 |
2014.10.29 ARM Source 구조체 -> 포인터 변경 소스코딩 - 오두환 (0) | 2014.10.30 |
2014.10.29 업무보고 18번 오영주 (5) | 2014.10.30 |
[서상우]arm main (0) | 2014.10.29 |
20141029 ARM소스 3가지 방식 문대영 (0) | 2014.10.29 |
ARM소스 (0) | 2014.10.29 |
ARM 한솔 (0) | 2014.10.29 |