본문 바로가기

반도체 교육72

[Harman 세미콘 아카데미] 20일차 - Github 사용법, C++(함수 오버로딩~class 기초) [Github] 진정한 개발자는 Github를 사용한다. 깃허브에는 우리가 만든 소스 파일을 저장(push)하고 불러올(pull) 수 있는 기능이 존재한다. 실제로는 수많은 기능들이 존재하지만, 처음이니까 이 기능부터 알아보자 ① 리포지토리 생성 ② Visual studio를 Github와 연동(?) ③ 소스 파일을 Push/Pull ① 리포지토리 생성 리포지토리 : 개발자가 애플리케이션 소스 코드에 대한 변경을 수행 및 관리하는 데 사용하는 중앙화된 디지털 스토리지 readme.md : 나의 repos를 설명해주는 역할을 한다. gitignore : 굳이 업로드할 필요 없는 파일들을 필터링한다. ② Visual studio를 Github와 연동 ③ 소스 파일 Push/Pull Fetch : 로컬 저장소.. 2023. 7. 14.
[Harman 세미콘 아카데미] 19일차 - C언어(C표준함수, Buffer, malloc, Memory Dump) [C 표준 함수] 표준 라이브러리 라고도 한다. C언어 표준 규약에 의해 모든 컴파일러가 기본적으로 제공하도록 약속되어 있는 함수들을 말하며, 표준 함수들의 선언은 표준 헤더파일에 있으므로 사용하기 위해서는 함수가 선언된 표준 헤더파일을 #include 해줘야 한다. 기본 함수의 정의는 라이브러리 파일에 있으며, 링크 과정에서 연결되고 모두 외울 필요 없이 필요할 때마다 레퍼런스를 참조하여 사용하면 된다. 헤더 파일 기능 관련 함수 stdio.h 표준 입출력 printf(), scanf(), getchar(), fopen(), fseek(), ... string.h 메모리와 문자열의 처리 strcat(), strcmp(), strcpy(), strlen(), ... ctype.h 문자 검사 및 변환 is.. 2023. 7. 13.
[Harman 세미콘 아카데미] 18일차 - Timer/Counter, Interrupt 실습 [Timer/Counter] #define F_CPU 160000000UL #include #include // 인터럽트 사용을 위한 헤더파일 #include int cnt; // 카운트 값을 저장할 변수 선언 ISR(TIMER0_OVF_vect){ // 타이머/카운터 0번의 오버플로우 인터럽트 서비스 루틴 함수 // cnt++; TCNT0 = 131; // 약 2ms를 만들기 위한 초기값 if(cnt == 500) // 500번째 인터럽트 발생 시 LED 출력을 변경함. 약 1초(1,000ms) { PORTD = ~PORTD; // 출력 반전 cnt = 0; } } int main(void) { DDRD = 0xff; //PORTD = 0x00; // 다 꺼진 것을 시작 PORTD = 0xaa; // .. 2023. 7. 12.
[Harman 세미콘 아카데미] 17일차 - ATmege128 실습(LED shift, Tactile switch 활용), FSM의 개념 [LED shift] 예제 1 0000 0000 1000 0001 0100 0010 0010 0100 0001 1000 0000 0000 0001 1000 0010 0100 0100 0010 1000 0001 0000 0000 위와 같이 LED가 shift하며 출력되는 코드 작성 여러 가지 방법으로 작성할 수 있다. 1번 - 가장 기초적인 방법(case 다 써서 반복) 더보기 #define F_CPU 16000000UL #include #include #include uint8_t ledArr[]={ 0x81, // 1000 0001 0x42, // 0100 0010 0x24, // 0010 0100 0x18, // 0001 1000 0x24, // 0010 0100 0x42, 0x81 }; int ma.. 2023. 7. 11.