일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SPXL
- c#
- Microchip Studio
- 유심 재발급 제한
- STL
- sort
- Avr
- C++
- 유심 재발급
- 아두이노
- GPIO
- STM32 개발환경
- 아두이노 통신
- 코테
- STM32 IDE
- NUCLEO-F103RB
- Mega2560
- flag 변수
- 코딩테스트
- STM32CubeIDE
- S&P500
- CubeIDE
- STM32 라인업
- 정렬알고리즘
- 정렬
- STM32
- 알고리즘
- 백준
- 객체지향
- atmega
- Today
- Total
목록분류 전체보기 (40)
뽕구의 개발일지

우리가 많이 쓰는 아두이노는 10bit의 ADC (Analog to Digital Converter)를 내장하고 있습니다. 덕분에 아날로그 신호가 입력되면 샘플링하여 데이터화할 수 있죠. 또 PWM 기능을 통해 아날로그 신호를 모사하는 신호도 출력할 수도 있습니다.하지만 PWM은 디지털 신호의 폭을 변조하여 아날로그 신호를 모사하는 것으로 순수 아날로그 신호는 아닙니다. 순수 아날로그 신호를 발생시키려면 ADC의 반대인 DAC(Digital to Analog Converter)가 필요한데, 아두이노에는 DAC가 내장되어있지 않습니다.따라서 이번에는 아두이노 우노를 활용해 외장 DAC모듈 MCP4725을 통한 순수 아날로그 신호를 출력하는 테스트를 진행해보겠습니다.MCP4725 I2C DAC 모듈디바이스마..

Current Loop4~20mA 전류를 흘렸다 끊었다를 반복해 데이터를 전송하는 Current Loop 시리얼 통신이 시작되었습니다. 비동기 시리얼 통신RS-232 (Recommanded Standard-232)1960년대 발표1969년 RS-232C 발표 (표준)1997년 RS-232F RS-422 (Recommanded Standard-422)1970년대 발표1994년 RS-422B 발표 (표준) RS-485 (Recommanded Standard-485)1983년 발표1998년 RS-485A 발표 (표준) Firewire1986년 발표IEEE1394 (표준) USB (Universal Serial Bus)1994년 발표2014년 Type-C 발표 SATA (Serial-ATA)2003년 발표..

더보기 앞전에 STM32가 아니고 CH32 라는 중국제 MCU 보드를 구매해 CubeIDE에서 인식이 안되어 빌드를 못했던 적이 있었습니다. 아래 걸어놓은 링크가 그 글입니다.2023.07.31 - [개발일기/STM32] - 7. STM32 개발환경 구축하기 - 빌드하기 (삽질) 위 내용 때문에 임시로 Nucleo-F103, F446 보드로 진행하다가 최근 STM32 Smart V2라는 보드를 구매하였습니다. STM32103C8T6 정품 MCU가 실장된 보드이고 아래 보드 제조사의 링크입니다. 자세한 정보를 알 수 있습니다. https://stm32-base.org/boards/STM32F103C8T6-STM32-Smart-V2.0.html STM32F103C8T6 - SMT32 Smart V2.0T..

다운로드https://www.microchip.com/en-us/tools-resources/develop/microchip-studio 사이트로 들어가 "Download Microchip Studio"를 클릭합니다. 아래에서 Offline 인스톨러와 Web 인스톨러 중 희망하는 것을 선택하여 Download 합니다. 아래와 같은 무당벌레 모양의 인스톨러가 다운로드 된다. 더블클릭하여 실행 해줍니다. 설치설치 진행 시 Architecture를 선택하는 창이 나오는데, UC3과 SAM은 Microchip의 32Bit MCU 라인입니다.8Bit MCU 라인인 AVR를 공부할 것이니, AVR만 체크하도록 하겠습니다. 소프트웨어 프레임워크와 예제들도 함께 설치 해줍니다.(Microchip Studio..

Arduino IDE 벗어나기 (졸업하기) 저는 응용 프로그램 개발자인데, 회사에서 MCU를 다뤄야할 업무가 생겼습니다. 팀 내에서 유일하게 아두이노 Mega 보드를 써본 경험이 있어서 서브 업무로 당첨되었는데, 학부생때 Arduino IDE로만 아두이노를 다뤄본게 전부여서 DigitalWrite() 같은 아두이노 라이브러리 단에서 코드 짜집기하는 수준이었습니다ㅠ문제는 여기서 발생되었습니다. nano 초 단위로 디지털 신호를 발생시켜라. 아두이노 라이브러리로 딜레이를 줄 수있는 최소 단위가 1 마이크로초 였기 때문에, 앞이 막막했습니다. 구글링도 해보고.. 1마이크로초 자체가 아두이노에서 보장이 안된다는 글도 있고.. 아두이노가 산업용으로 적합한가 라는 생각도 들었습니다. 오실로스코프도 찍어보고, 구글..

더보기포스팅에 앞서, AVR 카테고리에서는 Microchip Studio를 이용해 ATMega MCU에 프로그래밍할 것입니다. 우선 AVR 시리즈를 가장 쉽게 접할 수 있는 아두이노 보드의 개발환경을 간단하게 알아보도록 하겠습니다. Arduino IDE : AVR MCU를 쉽게 접하는 부분이 아두이노입니다. 대표적으로 아두이노 Mega 보드와 Uno보드가 있는데, PC와 USB만 있으면 아두이노 개발환경을 이용해 쉽게 MCU를 다뤄볼 수 있습니다. 아두이노는 교육을 주로 하기 때문에 국내외 정보가 상당히 많고, 보드와 연결해 여러가지 기능을 수행할 수 있는 쉴드 제품들도 굉장히 많습니다. 아두이노 Mega아두이노 Uno 스케치 다운로드https://www.arduino.cc/en/software 여기로 ..

AVR 제품군 이름친근한 아두이노에 들어가 있는 Atmel MCU들은 보통 "제조사명 + 칩 종류 + Flash 메모리 사이즈" 로 이름이 결정됩니다. 예를 들어 Atmega128x, 256x 이 대표적입니다.(이후 포스팅할 예정이지만 MCU 퓨즈 비트의 Device Signature Bytes에 해당하는 3Bytes 로 구분해볼 수도 있겠습니다.)이 카테고리에서는 ATMega256과 ATMega128을 가지고 공부해갈 예정입니다.제조사명칩 종류Flash 메모리 사이즈 (KB)AtmelMega128, 256

ATmel과 AVR 그리고 Microchip ATMEL1984년 설립된 미국의 반도체 회사로, 저용량 메모리 MCU를 생산했습니다. 흔히 아두이노 제품에 들어간 AVR이라는 MCU를 생산한 업체입니다. AVRATmel에서 1996년에 개발한 하버드 구조를 갖는 8Bit RISC MCU 제품군입니다. 프로그램 메모리로 Flash Memory를 최초로 사용한 MCU 제품군 중 하나입니다. 대표적인 제품군들은 아래와 같습니다. MCU 시리즈TinyAVRMegaAVRXMega32bit AVRs플래시 메모리(bytes)0.5 ~ 8K 8~256K16~384K64K~256KSRAM (bytes)128~5124K16K64K핀6~3228~10044~10070~110대표 제품ATtiny 시리즈ATMega 시리즈(아두이..

SPISPI (Serial Peripheral Interface)는 모토로라에서 개발한 주변 장치간 근거리 고속 시리얼 통신 인터페이스로, 보통 MCU와 ADC, EEPROM, SD CARD 등과 통신하는데 사용됩니다. 송수신 선이 따로 존재하는 덕분에 전이중 방식(Full-Duplex)을 사용하고, 반이중인 I2C보다 속도가 빠릅니다. 대신, Slave가 늘어나면 그만큼 Slave 선택선 (SS)도 늘어나야하는 단점은 있죠.SPI 구조는 아래와 같습니다. 아래는 SPI에 사용되는 Pin과 설명입니다.의미핀설명Matser In Slave OutMISOSlave에서 Master로 보내는 신호Master Out Slave InMOSIMaster에서 Slave로 보내는 신Slave ClockSCLK마스터로부터..

I2C 통신I2C (Inter-Integrated Circuit) 통신은 필립스에서 개발한 반이중 방식 (Half Duflex)의 통신입니다. Atmel에서는 데이터(SDA)와 클럭(SCL) 두가닥을 이용한다고 해서 TWI (Two Wire Interface)라고도 합니다. SDA와 SCL 신호선에 Floating 현상을 방지하지 위해 Pull-up 저항 Rp를 연결해주어야 합니다. 아두이노 Mega2560으로 I2C를 테스트 해본 오실로스코프 이미지도 맨 아래 올려두었습니다. I2C 프로토콜아래는 I2C의 프로토콜이며, 필드별 설명입니다. ① START 시 Master가 HIGH 상태인 SDA 신호를 LOW로 떨어뜨립니다. ② 7Bit의 Slave 주소값이 존재해 2*7 = 128개의 Slave 주..