본문 바로가기

MEGAWIN39

MG82F6D SPI Flash-1 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. SPI 통신으로 MX25L3206 IC를 Read/Write 테스트함. - Flash ID 읽기 - Flash Erase - Flash Write - Flash Read 2. 회로도 3. Code ⑴ main routine void main() { u32 i; bit bOK; DWordTypeDef dwTemp; InitSystem(); // 시스템 초기화 INT_EnAll(); // EA = 1, SendStr("\nHello!"); // 시리얼로 Hello 전송, program start LED_G_0=0;LED_G_1=0;LED_R=0; // LED ALL ON DelayXm.. 2022. 12. 22.
MG82F6D Series PCA COPM Buf 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. PWM match 모드에서의 비교 출력은 고속 출력 모드와 비슷하다. 그러나 고정된 16비트 비교기 대신에 PCA0 PWM 비교기 들을 사용한다. 어플리케이션에 좀 더 유연하게 사용될 수 있다. 예를 들어 PCA0 비교기에 대해 8비트 PWM이 사용되면 출력 토글 주파수는 고속 출력 모드보다 더 높을 수 있다. 어플리케이션에서 PWM 시그널의 어떤 위상 제어가 필요하다면, PCA0모듈들을 버퍼된 비교 모드로 설정할 필요가 있다. PCA0 모듈들의 한 짝(n=0&1, 2&3, 4&5)은 PWM 시그널의 한 사이클의 두 엣지의 시간 딜레이로 프로그램 될 수 있다. 이것은 파형의 시작과.. 2022. 12. 21.
MG82F6D Series PCA Capture Buf 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. 캡쳐 모드 사용시 CAPNn, CAPPn 중 하나 또는 두 개가 모두 셋 되어 있어야 한다. 외부 핀인 CEX 에서 파형의 변화를 확인한다. PCA0 하드웨어에서 유의미한 변화가 감지되면 캡처 레지스터(CCAPnL, CCAPnH)로 PCA0 카운터 레지스터(CH, CL)의 값이 저장된다. CCFn과 ECCFn 비트가 모두 셋 되어 있으면 인터럽트가 발생한다. 폭이 좁은 신호에는 버퍼를이용한 캡쳐모드가 필요하다. 활성화가 되면 홀수 모듈의 캡쳐 데이터 레지스터(CCAPnH, CCAPnL, n=1, 3, 5)는 짝수 모듈의 캡쳐 데이터 레지스터들(채널 0, 2, 4)의 버퍼 레지스터로.. 2022. 12. 20.
MG82F6D Series INT KBI Wake UP 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. KBI0, KBI1은 P10, P11에 연결되어 있다. KBI 인터럽트가 발생하면 LED_R을 ON 시키고, 인터럽트 플래그를 클리어 시킨다. 그 뒤 LED_R을 OFF 시킨다. 메인 루틴에서는 MCK를 OSCin으로 설정하고, 파워다운 모드로 들어간다. KBI를 통해 wake up 되면 클럭 부분에 대해 다시 설정을 하고, LED_G_1을 두 번 깜빡인다. 2. 회로도 3. Code ⑴ main routine void main() { u8 KBICnt=0; u8 BakCKCON2; InitSystem(); // 시스템 초기화 LED_G_0=0;LED_G_1=0;LED_R=0; /.. 2022. 12. 19.
MG82F6D Series IAP Sample 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. IAP 특정 영역의 256 바이트를 라이팅하고, 읽어서 UART로 전송하는 프로그램 2. 회로도 3. Code ⑴ main routine void main() { BYTE IAPData; BYTE i; BYTE rand; bit bOK=TRUE; TrapFlag[0]='W';TrapFlag[1]=0xFF;TrapFlag[2]=0xFF; // 트랩 코드 저장 InitSystem(); // TrapFlag[1] = ‘i’ 저장함 LED_G_0=0;LED_G_1=0;LED_R=0; // LED ALL ON DelayXms(1000); // 1초 딜레이 printf("\nStart IAP.. 2022. 12. 16.
MG82F6D Series IAP LOOP 1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. IAP 영역에 특정 시스템 파라미터 영역을 할당한다. P10 키가 눌리면 해당 영역을 리셋 시키고, P11 키가 눌리면 While 문에서 100us 마다 증가하는 값, P11 키가 눌렸을 때에만 증가하는 값을 저장하고 UART로 전송한다. 2. 회로도 3. Code ⑴ main routine idata u8 TrapFlag[3]; // 전역변수 void main() { u8 i; TrapFlag[0]='W'; // TrapFlag[0]에 ‘W’ 문자 저장 InitSystem(); // 시스템 초기화 루틴, 포트설정, UART0설정, TrapFlag[1]에 ‘I’ 문자 입력 LED_.. 2022. 12. 15.