ATmega-128이 올라간 JMOD-128-1 모듈입니다. 오늘은 이 모듈을 이용할 겁니다.
Silion Labs에서 OS에 맞는 Drivers를 다운로드합니다.
C언어로 진행하기 위해 C Excutable Project로 생성해 줍니다.
아무것도 연결하지 않고 디버깅 시 출력되는 메시지입니다.
먼저 모듈을 PC에 연결시켜 준 후 장치관리자 - 포트에서 장치가 포트로 연결되어 있는 상태인지 확인합니다.
그 후 상단에서 Tool - Add target - Select tool과 Port를 선택해 주시고 Apply를 클릭합니다.
Build에서 현재 project를 build 합니다.
이번엔 Tool - Device Programming(Ctrl + Shift + P) - Tool 선택 - Apply
Apply 버튼 옆에 Read 클릭 후 왼쪽 메뉴에서 Memories, Flash에서 Program을 클릭하면 모듈에 코드가 Upload 됩니다.
아래코드는 3개의 LED가 하나씩 100ms주기로 점멸되는 코드입니다.
#define F_CPU 16000000L
#include <avr/io.h>
#include <avr/delay.h>
int main(void) // 여기로 시작되어 들어감
{
/* Replace with your application code */
DDRA |= 0x01; // A port의 0번째 비트를 출력용으로 사용, 나머지는 입력 = 0은 출력, 1은 입력
DDRA |= 0x02; // A port의 1번째 비트를 출력용으로 사용, 나머지는 입력 = 0은 출력, 1은 입력
DDRA |= 0x04; // A port의 2번째 비트를 출력용으로 사용, 나머지는 입력 = 0은 출력, 1은 입력
int i = 0;
while (1) // Embedded Program은 무한루프가 기본이다.
{
PORTA |= 0x01; //PortA의 0번째 비트를 HIGH로 출력
_delay_ms(100);
PORTA &= ~0x01; //PortA의 0번째 비트를 LOW로 출력
_delay_ms(100);
PORTA |= 0x02; //PortA의 1번째 비트를 HIGH로 출력
_delay_ms(100);
PORTA &= ~0x02; //PortA의 1번째 비트를 LOW로 출력
_delay_ms(100);
PORTA |= 0x04; //PortA의 2번째 비트를 HIGH로 출력
_delay_ms(100);
PORTA &= ~0x04; //PortA의 2번째 비트를 LOW로 출력
_delay_ms(100);
}
위의 코드에서 DDRA 하나씩 출력으로 지정해주지 않고, DDRA = 0x07로도 사용가능합니다.
코드 작동 후 Ctrl + Alt + F7 하고 Shift + Ctrl + P 하면 빠르게 모듈에 Upload가 가능합니다.
Rebuild Solution과 Device Programming
'( * )Engineering > 🌜C Language' 카테고리의 다른 글
[ATmega 128] 3. 7 Segment 타이머 만들기. (1) | 2024.03.29 |
---|---|
[ATmega 128] 1. LED 점등 (1) | 2024.03.29 |