해보기는 했어?

오늘 안됐다고 포기하지 말고 용기내서 내일 다시 해 보자.

반응형

MEGAWIN 37

MG82F6D Series GPIO P6

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. P60, P60을 High 출력을 유지하다가 500ms 마다 100us진폭으로 Low 출력을 만든다. 2. 회로도 3. Code ⑴ main routine void main() { InitSystem(); // 시스템 초기화 LED_G_0=0;LED_R=0;LED_G_1=0; // LED 전체 ON DelayXms(1000); // 1초 딜레이 LED_G_0=1;LED_R=1;LED_G_1=1; // LED 전체 OFF while(1) { LED_R=!LED_R; // RED LED Toggle DelayXms(500); // Delay 500ms P60=0; // P60 clea..

MEGAWIN 2022.11.09

MG82F6D Series ADC with Interrupt - 2

⑵ 시스템 초기화 루틴 void InitSystem(void) { InitPort(); InitClock(); InitTimer0(); InitUart0_T1(); InitADC(); InitInterrupt(); } // 시스템 초기화 루틴 // 포트 초기화루틴 // 클럭 초기화 루틴 // 타이머 0 초기화 // Timer 1 Overflow를 이용한 UART0 초기화 // ADC 초기화 // 인터럽트 초기화 ADC를 인터럽트로 받아들이기 위해서 ADC와 인터럽트를 초기화 시키는 루틴이 추가되었음 ADC 결과 값을 시리얼로 전송하기 위하여 UART0을 초기화하는 루틴이 추가되었음. UART0은 Timer 1의 Overflow 기능을 이용하여 Baud Rate를 결정하는 방법을 사용하였음 Megawin ..

MEGAWIN 2022.11.08

MG82F6D Series ADC with Interrupt - 1

1. 프로그램 개요 P22는 Green 0 LED, P24는 Red LED, P26은 Green 1 LED가 연결되어 있다. P10에 연결된 회로의 Analog값을 측정하기 위하여 Interrupt 방식의 ADC를 구현한다. 측정된 값은 64개를 취득하면 시리얼로 그 데이터를 전송한다. 시리얼 통신은 Timer 1의 Overflow를 이용한 방식으로 설정하고, 그 BaudRtae는 9600이다. Timer 0을 이용해서 1ms Interrupt를 생성하고, 200ms 타이머를 생성한다. 200ms 마다 Red Led의 출력이 반전이 되도록 하여 시스템이 동작 중 임을 표시한다. 2. 회로도 /* LED 부분 회로도 추가 */ 3. Code ⑴ main routine void main() { u8 i; I..

MEGAWIN 2022.11.08

마이크로프로세서 제대로 공부하기

제목이 너무 거창한가??? 1999년 지도교수님께서 "실험실에 자리 만들어 뒀으니 들어와라."는 말씀에 그동안 공부해 오던 자격증 시험을 뒤로 하고 실험실로 들어갔다. 처음 접한 것은 8051이였다. 요즘에야 51시리즈가 내부 롬을 많이 가지고 있고 플래시 타입으로 사용이 되고, ICSP 기능이 있어 좋아졌다. 그러나 그때는 EPROM을 사용하고 있었고, 간혹가다가 EEPROM을 구하게 되면 그걸 사용했다. 물론 프로그래밍하고 테스트 하는데에는 시간이 좀 많이 걸렸었다. 모니터 프로그램이란 것을 그때 사용했었고, 그것을 이해하고자 시간을 많이 투자 했었다. 지금 돌이켜 보건데 순서가 있는듯 싶다. 1. 용어 익히기 ROM, RAM, PORT, Open-Drain, Pull-Up, Pull-Down, Ad..

임베디드 2022.11.05

MG32F02A072 SPI

단종된 IC이긴하나 처음 나왔을 때 많이 구매 해 두었기에 이 IC를 지금까지 계속 사용중이다. 어플리케이션은 미용기기이다. 일단 SPI를 하기 위해서는 Manage Run-Time Environment의 MG32x02z_IRQ_Handler에서 Enable SPI0 NVIC를 선택해 준다. ADC를 테스트 하기 위해서 함께 선택해 두었다. 이 후 SPI를 설정한다. void BSP_SPI_Init (SPI_Struct* SPIx) { /*=== 1. Default Initial SPI ===*/ SPI_DeInit(SPIx); /*=== 2. Configure clock divider ===*/ // SPI clock = 11.059MHz SPI_Clock_Select(SPIx, SPI_CK_SPIx_..

MEGAWIN 2022.10.27
반응형