목록(Telechips) AI 시스템 반도체 SW 개발자 교육 (46)
printf("ho_tari\n");

2025.04.02 Piezo Buzzer #include "buzzer.h"#include "button.h"/************************************************************************************************************* 옥타브 및 음계별 주파수표(단위:Hz) 음계 0Oct 1Oct 2Oct 3Oct 4Oct 5Oct 6Oct 7Oct 8Oct 9Oct C 16.3516 32.7032 65.4064 130.8128 261.6256 523.2511 1046.502 2093.005 4186.009 8372.019 C# 17.3239 34.647..

2025.04.01 오늘의 학습 목표1. flash memory handling2. I2C3. D FlipFlop → Shift Register STM32F411RE Flash Programming - 총 8개의 sector로 구성- 플래시 메모리는 쓰기전에 먼저 메모리를 지워야 하는데 지울때 사용하는 단위가 sector단위이다.- 플래시를 지우는 방법은 한번에 칩 전체를 지우거나 sector 하나를 지정해서 지울 수 있다. Flash 메모리 읽기- flash 메모리를 읽는 것은 일반 메모리 RAM을 읽는것과 동일 하게 c언어 포인터를 이용 *(읽고자 하는 주소)- 예) 0x08000000 번지에 저장된 4 byte를 읽고자 할 때uint32_t val = (((uint32_t *) 0x0800000..

2025.03.31 오늘의 학습 목표1. 과제 review2. UART RX Int Enqueue / Dequeue3. Timer INT 포인터- 다른 변수를 가리키는 변수- 다른 변수의 주소를 담는 변수 - *p는 p가 가리키는 것을 의미- something pointed by p is integer type- 변수 p가 어떤 주소 값을 담고 있는데 그 주소를 따라가면 다른 변수가 있고 그 변수는 타입이 정수다.- 일반적인 변수 값을 담는 그릇이 아니라 주소 값을 담는 그릇 포인터 활용- 간접 참조 또는 참조 (Dereferencing, Indirection)- *p = 5; 이면 num에 간접 접근- num = 5; 이면 num에 직접 접근 UART 통신을 이용하여 DS1302에서의 RTC값 보정..

2025.03.28 오늘의 학습 목표1. UART 활성화2. 타이밍 분석 & 데이터시트 보고 코딩하기3. timer INT / I2C RTC(Real Time Clock) DS1302 DS1302의 Address DS1302 Read Data DS1302 Read Operation Principle1. GPIO CE SCK IO를 LOW로 설정2. CE를 HIGH로 설정3. COMMAND BIT를 I/O로 WRITE한다.4. CLK를 1번 UP DOWN을 시킨다. 3번과 4번을 8번 반복하게 한다. 5. I/O PORT INPUT MODE를 1로 바꾼다.6. DATA 1BIT를 읽는다.7. CLK를 UP DOWN 시킨다. 6번과 7번을 7번 반복한다. 8. CE를 HIGH로 설정 DS1302 Write..

2025.03.27 오늘의 학습 목표1. 과제 review2. Memory 구조체 access3. Debugger 사용4. RTOS 기반 programming #define PERIPH_BASE 0x40000000UL#define GPIOB_BASE (AHB1PERIPH_BASE + 0x0400UL)#define AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000UL) 0x40000000 + 20000 + 400 → 0x40020400 (GPIOB 시작 주소) typedef struct { __IO uint32_t MODER; /*! __IO uint32_t OTYPER; /*! __IO uint32_t OSPEEDR..

2025.03.26 오늘의 학습 목표1. 과제 review2. LED/BUTTON Control3. HAL function → Direct MemoryAccess 변환4. Debugger 사용법5. ST_LINK Utility 데이터시트 LED CONTROL /* USER CODE BEGIN Header *//** ****************************************************************************** * @file : main.c * @brief : Main program body ************************************************************************..

2025.03.25 STM32CubeIDM ARM(STM32) 학습 목표1. ARM 아키텍쳐2. RTOS 기반 S/W3. DMA → Device Drvier 작성 (Data Sheet 보고 코딩하기) AVR ATmega- RISC (Reduced Instruction Set Computing)- 단순한 명령어- 저전력- 다양한 모델- 임베디드 시스템 (센서, 모터제어, 가전제품, 자동차시스템) ARM STM32- RISC (Reduced Instruction Set Computing)- 다양한 코어 구성- 저전력- 소프트웨어 호환성- 넓은 적용 범위 (모바일 기기, 임베디드 시스템, 네트워킹 장비) AVR- 8 bit MCU- 간단한 제어용 (멀티프로세싱X)- 속도 16 MIPS 정도 ARM- 32 bi..
2025.03.20 ~ 2025.03.24 ATmega128A를 이용하여 자율주행차 (Auto Car) 구현 프로젝트 진행 🧩 프로젝트 개요MCU: ATMega128A구성요소:초음파 센서 3개 (좌/중앙/우)DC 모터 + L298N 드라이버버튼 (자율주행 모드 전환)I2C LCD (상태표시)FND (모드 번호 표시)부저 (장애물 경고)UART (블루투스 수신)주요 기능:수동 모드: 블루투스 명령으로 조종자율 주행 모드: 초음파 센서 기반 장애물 회피LCD 및 FND를 통해 상태 및 모드 표시🎮 모드 설명1. 수동 모드Bluetooth(UART) 명령 수신:'F', 'B', 'L', 'R', 'S' → 전진, 후진, 좌회전, 우회전, 정지LCD: Normal 표시FND: 현재 명령 번호 또는 누적된 실..