- interrupt
- structure
- Linked List
- MUX
- verilog
- java
- Method
- structural modeling
- atmega 128a
- siso shift register
- Pspice
- behavioral modeling
- full adder
- Comparator
- interface
- Set
- Recursion
- ctc mode
- ATMEGA128A
- ring counter
- atmega 128
- fast pwm mode
- gpio
- Shift Register
- D Flip Flop
- LED
- Algorithm
- half adder
- dataflow modeling
- normal mode
목록Embedded Programming (27)
거북이처럼 천천히
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPKX8q/btsHBmOZCDM/FdoKD02c59bFkVIk9FCrSk/img.png)
1. 환경 : Microchip Studio2. 목표 :DDR 전체를 출력/입력으로 설정하는 것이 아닌 Bit 단위로 설정하여 효율적으로 LED를 출력하도록 설계구조체(Structure)를 이용하여 구현함으로서 구조체의 기본 지식 정비 및 기본 활용 공부3. 큰 그림: 이전까지는 DDRD = 0xff로 선언하여 PORTD의 8핀 전체를 출력으로 사용하거나 DDRF = 0x00으로 선언하여 PORTF의 8핀 전체를 입력으로 사용했다.하지만, 이는 비효율적으로 하드웨어를 제어 하는 것이기 때문에 bit 단위로 입력/출력을 설정함으로서효율적으로 하드웨어를 제어하도록 설계하겠다.ex) DDRD = 0x18→ PORTD에서 3번째, 4번째만 출력으로 사용하겠다는 의미구조체를 정의하여 구조체 내에 1) PORT의 ..
※ 정리 할 내용이 추가 될 수 있음. Q) 왜 #define F_CPU 16000000UL를 작성해야 하며, 이는 어떤 의미를 갖는가?- define 전처리기를 이용하여 16000000UL를 F_CPU로 정의한 이유는 avr studio에 내장된 delay 함수를 사용하기 위해 클럭을 재정의하는 것이다.#define F_CPU 16000000UL#include - delay.h 헤더파일에서 클럭의 기본 설정은 아래와 같이 클럭을 1000000UL, 1MHz로 설정된 상태이다.#ifndef F_CPU/* prevent compiler error by supplying a default */# warning "F_CPU not defined for "/** \ingroup util_del..
1. 환경 : Microchip Studio2. 목표 : Pointer 개념을 활용하여 GPIO Control 함으로서 Pointer의 개념 정비 및 기본 활용 학습3. 구현 내용 : Shift 연산자와 Bit OR 연산자를 이용하여 1번쩨 비트 ~ 7번째 비트까지 누적하여 LED 출력4. Source codemain.c controlLED.c (LED에 관한 함수)common.h (라이브러리, 기본 헤더 파일을 include 한 파일)personal.h (함수 원형 선언 및 상수 선언)#include "personal.h"int main(void) { initDDR(); // 임의의 데이터를 초기화 uint8_t data = PORTD1; while(1) { contr..
1. Separate compilation이란?- 분할 컴파일은 프로그램 설계하는 과정에서 유사한 함수 및 기능끼리 묶어 별개의 파일로 만들어 개발하는 방법을 의미 2. Separate Compilation의 장점- 코드의 가독성이 좋음.- 유지 보수 측면에서 효율적- 수정 작업이 이루어진 코드에 대해서만 컴파일하기 때문에 불필요한 시간 없어짐 - 아래 예시를 통해 Separate Complication의 장점을 살펴보자. ※ 아래 코드들은 다음과 같은 기능을 수행한다. ※ 0번 비트 -> 3번 비트로 Left Shift하고, 7번 비트 -> 4번 비트로 Right Shift 하는 동시에 반전 출력 ※ 3번 비트 -> 0번 비트로 Right Shift하는 동시에 반전 출력하고, 4번 비트 -> 7번..
새로운 배운 내용 및 용어가 생기면 자주 수정이 발생할 예정DDR : Data Direction Register- 특정 PORT에서 각각의 핀을 출력으로 사용할지, 입력으로 사용할지 여부를 결정하는 레지스터- 특정 PORT에서 특정 bit 위치에 1을 쓰면 "해당 비트는 출력으로 사용하겠다." 의미- 특정 PORT에서 특정 bit 위치에 0을 쓰면 "해당 비트는 입력으로 사용하겠다," 의미PORT : Port Data Register- 해당 포트가 출력으로 설정되었다면 출력값을 선택할 수 있는 레지스터- PORT 레지스터에서 특정 bit 위치에 1을 쓰면 "해당 비트(핀)의 신호는 1(=5V)로 출력" 의미- PORT 레지스터에서 특정 bit 위치에 0을 쓰면 "해당 비트(핀)의 신호는 0(=0V)로 출..