안녕하세요 L입니다.
오늘시간은 ARM 맛보기로 스팩보는법과 LED제어 맛보기 입니다.
[ ARM 스팩 기초 ]
ㆍARM = 32bit
ㆍAtmega 는 LED를 on/off 시에 H/L 가 함께 존재 함으로 편리하지만 개별제어가 힘들다.
ㆍARM 은 set/clean 으로 제어하고 H/L 레지스터가 개별로 되어있다.
[ ARM 칩 회로도 ]
[ 각 register 별 시작 address ]
[ 위 register 내부의 상세 address ]
[ 위 register 내부의 상세 Bit Register ]
Ex) LED 사용 예
======================================================
#define PIO_PER (*((volatile unsigned int *)0xFFFF F400)) // 활성화 레지스터
#define PIO_PDR (*((volatile unsigned int *)0xFFFF F404))
#define PIO_PSR (*((volatile unsigned int *)0xFFFF F408))
#define PIO_OER (*((volatile unsigned int *)0xFFFF F410)) // output 레지스터
#define PIO_SODR (*((volatile unsigned int *)0xFFFF F430))
// 1로 set output 레지스터
#define PIO_CODR (*((volatile unsigned int *)0xFFFF F434))
// 0으로 set output 레지스터
/*=================LED on & off=================*/
int main( )
{
volatile unsigned int icount;
PIO_PER = 0x00000001; // P0 번 pin 활성화
PIO_OER = 0x00000001; // output 활성
while(1)
{
for(icount = 0; 10000 > icount ; icount++);
PIO_CODR = 0x00000001;
for(icount = 0; 10000 > icount ; icount++);
PIO_SODR = 0x00000001;
}
return 0;
}
======================================================
< 실행 결과 >
궁금하신 점은 댓글로 남겨 주세요 !!
오늘도 좋은 하루 되세요
ARM 자료 ( 각 레지스터의 기능 / ARM LED 제어 ) [20120709] (0) | 2016.11.15 |
---|---|
ARM 자료 ( PMC / PIO ) [20120706] (0) | 2016.11.15 |
ARM 자료 ( Source lnsight 검색 / ARM메모리 구축 형태 ) [20120706] (0) | 2016.11.15 |
ARM ( 스팩해석 ) [20120529] (0) | 2016.11.14 |
AT91SAM7S256 BOARD( ARM ) [20120525] (0) | 2016.11.14 |