[TMS320C6720 EVM] 보드 개발기 - GPIO 제어 (LED 테스트)
TMS320C6720 EVM 에는 GPIO테스트를 위한 2개의 LED가 있다. 각각 AXR0[14], AXR0[15]에 연결되어 있다.
AXR은 McASP 핀으로 GPIO로 설정 가능하다. AMUTE를 제외한 모든 McASP핀은 양방향 입출력핀이다.
설정 레지스터
· Pin function register (PFUNC): McASP or GPIO 선택
· Pin direction register (PDIR): 방향 설정
· Pin data input register (PDIN): shows data input at the pin
· Pin data output register (PDOUT): data to be output at the pin if the pin is configured as GPIO output
참고로 C6713과 레지스터주소가 다르므로 헤더파일 수정할 필요가 있다. C671x는 그나마 예제가 좀 있긴한데 C672x는 전혀 자료가 없다. 이쪽은 지원을 안하는건지..
TMS320C6720 GPIO블록도
[TMS320C6720 EVM] LED제어 드라이버 설정
TMS320C6720 LED제어 예제 소스코드
C6720 LED제어 테스트 동영상
TMS320C6720 EVM 에는 GPIO테스트를 위한 2개의 LED가 있다. 각각 AXR0[14], AXR0[15]에 연결되어 있다.
AXR은 McASP 핀으로 GPIO로 설정 가능하다. AMUTE를 제외한 모든 McASP핀은 양방향 입출력핀이다.
설정 레지스터
· Pin function register (PFUNC): McASP or GPIO 선택
· Pin direction register (PDIR): 방향 설정
· Pin data input register (PDIN): shows data input at the pin
· Pin data output register (PDOUT): data to be output at the pin if the pin is configured as GPIO output
참고로 C6713과 레지스터주소가 다르므로 헤더파일 수정할 필요가 있다. C671x는 그나마 예제가 좀 있긴한데 C672x는 전혀 자료가 없다. 이쪽은 지원을 안하는건지..
TMS320C6720 GPIO블록도
[TMS320C6720 EVM] LED제어 드라이버 설정
#define PFUNC0 *(volatile int *)0x44000010
#define PDIR0 *(volatile int *)0x44000014
#define PDOUT0 *(volatile int *)0x44000018
#define PDIN0 *(volatile int *)0x4400001C
#define PDSET0 *(volatile int *)0x4400001C
#define PDCLR0 *(volatile int *)0x44000020
#define Led1Off() Sbi(PDSET0, LED1_BIT);NOP()
#define Led1On() Sbi(PDCLR0, LED1_BIT);NOP()
#define Led1Toggle() Tbi(PDOUT0, LED1_BIT)
#define Led1Init() Sbi(PFUNC0, LED1_BIT);Sbi(PDIR0, LED1_BIT);
#define PDIR0 *(volatile int *)0x44000014
#define PDOUT0 *(volatile int *)0x44000018
#define PDIN0 *(volatile int *)0x4400001C
#define PDSET0 *(volatile int *)0x4400001C
#define PDCLR0 *(volatile int *)0x44000020
#define Led1Off() Sbi(PDSET0, LED1_BIT);NOP()
#define Led1On() Sbi(PDCLR0, LED1_BIT);NOP()
#define Led1Toggle() Tbi(PDOUT0, LED1_BIT)
#define Led1Init() Sbi(PFUNC0, LED1_BIT);Sbi(PDIR0, LED1_BIT);
TMS320C6720 LED제어 예제 소스코드
void main()
{
SystemInit();
printf("[TMS320C6720 EVM] Test Program.\n");
//Led Init..
Led1Init();
Led2Init();
Led1Off();
Led2On();
while(1)
{
Led1On();
Led2Off();
Delay(300);
Led1Off();
Led2On();
Delay(300);
}
}
{
SystemInit();
printf("[TMS320C6720 EVM] Test Program.\n");
//Led Init..
Led1Init();
Led2Init();
Led1Off();
Led2On();
while(1)
{
Led1On();
Led2Off();
Delay(300);
Led1Off();
Led2On();
Delay(300);
}
}
C6720 LED제어 테스트 동영상
반응형