대학교 98

마이크로프로세서 - (10) 16비트 타이머/카운터

16비트 타이머/카운터 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 8비트와의 큰 차이점은 오버플로 인터럽트가 2^16-1까지 카운트 가능하고, 3개의 비교 일치 인터럽트가 존재하며, 입력 캡처가 존재한다는 것이다. ​ 즉 분주기가 256일 때의 오버클록 1주기를 확인하면 1/16M * 256 * 2^16 = 약 1초이다. 8비트보다 2^8만큼 길어진 모습이다. TCNTn 레지스터 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 H와 L로 나뉘어 각각 8비트씩 16비트를 셀 수 있게 되어있다. 기본적으로 분주비가 없을 때 4.096ms의 간격으로 인터럽트가 발생한다. 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 8비트에서 했던 내용 중에 16비트로 바뀌고..

대학교 2023.11.20

파이썬 - (6) 여러 가지 자료형

집합 집합은 중복되는 요소를 모두 제거한 형태의 자료형이다. 기본적으로 {}를 통해서 생성하며, 빈 집합은 set()을 통해서 생성이 가능하다.ㄴ ​ 집합은 순서가 없기에 인덱스를 사용해 호출이 불가능하다. 그래서 for를 통해 순회하여 값을 얻을 수 있다. 집합의 메소드는 대표적으로 아래와 같다. 딕셔너리 key와 value로 매칭되어져 있는 데이터이다. key값은 중복을 허용하지 않는다. key를 통해서 value를 호출할 수 있다. 또한 majors["새로운 key"]=value를 통해서 새로운 값을 추가할 수도 있다. 딕셔너리의 대표적인 메소드는 아래와 같다. 딕셔너리 또한 for문을 사용해 순회할 수 있다. 지금까지 리스트, 집합, 딕셔너리를 배웠다. 리스트는 객체의 순서를 고려하여 관리할 때,..

대학교 2023.11.15

데이터구조 - (7) 정렬 -1

정렬 정렬은 원소들을 순서대로 배열하는 것을 말한다. 크기가 작은 순 혹은 큰 순으로 정렬하기도 한다. ​ 정렬 알고리즘은 대략 3개의 그룹으로 나뉜다. ​ -기본 정렬 - 빅 세타 n^2 선택 정렬 버블 정렬 삽입 정렬 ​ - 고급 정렬 - 빅 세타 nlogn 병합 정렬 퀵 정렬 힙 정렬 셸 정렬 ​ - 특수 정렬 - 빅 세타 n 계수 정렬 기수 정렬 버킷 정렬 ​ 기본 정렬 선택 정렬 리스트의 가장 큰 원소를 찾아 리스트의 맨 끝자리 원소와 자리를 바꾸고, 정렬된 맨 오른쪽 부분은 제외한 상태로 반복하여 최종적으로 리스트를 오름차순 정렬하는 방법이다. 출처 : 쉽게 배우는 자료구조 with 파이썬 출처 : 쉽게 배우는 자료구조 with 파이썬 파이썬으로는 위와 같이 구현할 수 있다. 두 수를 비교하는..

대학교 2023.11.15

마이크로프로세서 - (9) 8비트 타이머/카운터

타이머/카운터 입력 펄스를 세는 장치를 카운터라고 한다. 일정한 주기의 펄스를 세어 시간을 측정하는 타이머 역할을 수행한다. 클록은 마이크로컨트롤러의 시스템 클록을 기본으로 사용한다. ​ ATmega128은 0,2번에 8비트, 1,3번에 16비트 타이머/카운터를 사용한다. 8비트 타이머/카운터는 0~255까지 세기를 반복하고 16MHz의 시스템 클록을 기본으로 사용한다. 분주기를 통해 클록의 속도를 늦춰 긴 시간을 측정할 수 있다. ​ 8비트 타이머/카운터 구조 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 위는 0번 아래는 2번 타이머/카운터이다. 클록 MUX 설정 방식과 ASSR 레지스터의 차이점이 있다. 이는 아래에서 다..

대학교 2023.11.12

한국 근현대사 - (7) 6.25 전쟁 이후

미국의 대일 정책 변화 냉전의 심화와 중국이 공산화된 이후 대일 정책을 대전환했다. 일본의 재무장 허용과 경제 부흥 원조 및 일본을 아시아 반공정책의 보루로 결정했다. ​ 이는 일본 경찰 예비대 설치, 해상 보안청 요원 증원, 군국주의자 공직 추방 해제, 정계 복귀 허용 등 6.25 전쟁 특수로 일본은 급성장했다. ​ 또한 1951년 9월 샌프란시스코 강화조약 체결으로 주권을 회복하고 미일안보조약 체결로 미군 기지 제공, 미군 주둔 비용 분담 함의를 했다. ​ 우리나라는 1953년 7월 27일 한미상호방위조약으로 애치슨라인에 대만과 함께 포함되었다. 출처 : 애치슨라인 (Dean Gooderham Ach.. : 네이버블로그 (naver.com) 6.25 전쟁 이후 대한민국 6.25 이후 근대 국가 만들기..

대학교 2023.11.08

데이터구조 - (6) 우선순위 큐:힙

데이터 집합 - 정적 데이터 집합 : 한번 구축되고 나면 변하지 않음 ​ - 동적 데이터 집합 : 데이터가 계속 변함 Dictionary(Table) : 삽입, 삭제, 검색을 지원하는 동적 데이터 집합 (배열, 리스트, 해시 테이블 등) 우선순위 큐 : 삽입, 최우선 원소 삭제, 최우선 원소 검색 지원하는 동적 데이터 집합(배열, 리스트 힙 등) ​ -> 테이블은 삭제할 원소를 제공하지만, 우선순위 큐는 가장 높은 우선순위를 가진 원소만 삭제 가능하다. -> 삽입의 경우 둘 다 삽입할 원소를 제공한다, 또한 값의 중복은 우선순위 큐만 허용한다. 우선 순위 큐 배열 ,리스트, 연결리스트 등의 선형 자료구조로 구현 가능하지만, Heap으로 구현하는 것이 효율적이다. 우선순위 큐는 우선순위를 관리하기 위한 특..

대학교 2023.11.08

파이썬 - (5) 여러 가지 자료형

리스트 파이썬의 대표적인 컨테이너형 자료구조이다. ​ 쉼표로 구분 지은 값에 대괄호를 친다. 1. 리스트 요소 호출은 인덱스를 통해 호출할 수 있다. 2. 음수 인덱스는 리스트의 끝에서부터 시작한다. 3. len()을 통해 리스트의 길이를 알 수 있다. 4. 리스트는 여러 타입의 객체를 포함할 수 있다. List = ["a", 1, 2] List[0] #"a" List[-1] #2 len(List) #3 리스트는 가변적이기에 요소를 바꾸거나 추가할 수 있다. 하지만 가변적이므로 하나의 이름으로 객체를 수정했을 시, 다른 이름으로 가리키는 객체도 수정된다. 즉 왼쪽의 경우 list2가 list1로 초기화했기에 list2에 추가한 "D"값이 list1에도 똑같이 추가되어 같은 값을 가지는 경우이다. ​ 리스..

대학교 2023.11.06

마이크로프로세서 - (8) 인터럽트

폴링과 인터럽트 - 폴링 코드 나열 순서에 의해 실행 순서 결정 모든 코드는 동일한 실행 우선 순위를 가짐 정해진 순서에 따라 실행되는 구조로 하드웨어의 지원이 필요 코드 작성과 이해가 쉬움 ​ - 인터럽트 우선 순위에 따라 실행 순서 결정 인터럽트에 따라 서로 다른 실행 우선 순위 가짐 우선 순위 높은 코드 먼저 실행되는 구조로 하드웨어에 의해 우선 순위에 따른 처리 지원 코드 작성과 이해가 복잡하고 어려움 ​ 출처 : ATmega128로 배우는 마이크로컨트롤러 프로그래밍 인터럽트 발생 시 현재 코드 정지하고 ISR로 즉시 이동해 인터럽트를 먼저 처리한다. 동시에 여러 개의 인터럽트 발생 시 우선 순위 높은 인터럽트를 우선 처리한다. ATmega128의 인터럽트 35개의 언터럽트를 사용할 수 있다. 인..

대학교 2023.11.06

한국 근현대사 - (6) 대한민국

대한민국의 탄생 초대 대통령은 이승만으로 1948년 8월 15일 대한민국 정부가 수립되었다. 북한도 1948년 9월 9일 조선민주주의인민공화국 건국을 선포했다. 1948년 12월 제 3차 유엔 총회에서 대한민국을 한반도 유일한 합법정부로 승인했다. ​ 남북한 분단은 냉전 체제의 최전선이었다. 한국은 대륙문명권에서 미국의 손을 잡아 해양문명권으로 전환을 원했다. ​ 냉전은 미국과 소련의 초강대국 사이의 이념 대결이다. 즉 자본주의, 자유 민주주의 VS 공산주의, 인민 민주주의의 대립이다. 소련은 동유럽을 공산화했고, 이를 미국은 트루만 독트린 정책으로 견제했다. 또한 마샬플랜으로 서유럽 자유시장경제 부흥에 도움을 주었다. 출처 : 러시아 우크라이나 전쟁 발발할까? 1 (fea.. : 네이버블로그 (nave..

대학교 2023.11.05

한국 근현대사 - (5) 식민지 시기 -2

제3기 (1937-1945년) : 전시 체제 1937년 중일전쟁 발발로 일본은 황국 신민화 정책을 선두로, 창씨 개명, 3차 조선교육령, 언론 탄압, 징병제 등 내선 일체를 진행했다. ​ 이는 2차 세계대전으로과 밀접한 관련이 있다. 1935년 이탈리아는 이디오피아를 침공하고, 1937년 일본은 중일전쟁을 선포한다. 1938년 독일 히틀러의 오스트리아 합병과 1939년 독소 불가침 조약 체결 이후, 독일이 폴란드를 침공하며 2차 세계대전이 시작됐다. 출처 : [대위의 쉽게 읽는 2차세계대전史] : 2차세.. : 네이버블로그 (naver.com) 이는 추축국인 이탈리아, 일본, 독일과 연합군인 영국, 프랑스 +(소련,미국)으로 나뉜다. 사실 소련과 미국은 전쟁 중간에 참여하게 된다. 그 이유는 1941년 ..

대학교 2023.11.05