MCU
-
라즈베리파이 os 설치MCU/Raspberry PI 2020. 3. 12. 17:55
제목 그대로 아주 빠르게 라즈베리파이에 OS 를 설치해보도록 하겠다. 1. OS 이미지 다운로드 os 이미지는 여기 에서 다운받을 수 있다. 굉장히 종류가 많은데 기본적으로 Raspbian 을 사용한다. 본인이 사용할 목적에 따라서 다른 os를 설치해도 된다. (스마트tv의 경우 OSMC 등) 이 글에서는 Raspbian을 설치하도록 하겠다. Raspbian은 여기 에서 다운할 수 있다. Raspbian의 종류는 3가지가 있다. 1. desktop and recommended software => GUI + 추천 소프트웨어 포함 2. desktop => GUI + 기본 소프트웨어 3. Lite => GUI 없음. 최소한의 소프트웨어 용량도 각각 다르고 하다보니 필자는 2번 desktop 버전을 추천한다...
-
stm32f103 - LCD12864MCU/ARM 2020. 3. 4. 03:14
LCD 선정 우선 이번 프로젝트에서 사용할 출력장치는 LCD이다. 보통 아두이노까지만 다룬 사람들이라면 LCD2004 를 생각할것이다. 하지만 이 LCD는 너무 작지 않은가! 나는 좀더 큰 화면을 원한다. 그래서 나는 LCD 12864를 사용하기로 했다. 음 이제야 좀 만족스럽구만 ㅎㅎ 뭐.. 단점은 색상 표시를 못한다는게 있다. 지금은 예산때문에 사용하지는 못했지만 나중에 TFTLCD, OLED 또는 도트매트릭스로 바꿀 예정이다. LCD 12864 구조 자 이렇게 큰 화면을 선정했다. 하지만 여기서 의문이 드는 사람들이 있을것이다. "LCD에는 글자만 표시할수 있는거 아닌가요?" 보통 LCD라고 하면 글자를 출력을 하는 용도로 아는 사람들이 많다. 아니 애초에 글자를 출력하는것 이외에는 잘 알려주지 않..
-
stm32 테트리스 개발 - 준비편MCU/ARM 2020. 1. 13. 16:47
테트리스 만들거다. 이유는 없다. 그냥 내가 하고싶다. 툴은 KEIL 사용예정 및 라이브러리 없이 개발 계획. 준비물 STM32 Dragon STM32F103ZET6 개발보드 개발하기 쉬울뿐더러 부저도 달려있다!(테트리스 노래만들자!) 12864 그래픽 LCD for Rabbit 개발보드 이거로 게임할거다. JTAG 업로드및 시뮬레이터. 없으면 안된다. 개발목표 테트리스 게임 (점수판, 다음블럭 표시, 홀딩, 바로내리기) 테트리스 음악 멀티플레이 (미정)
-
[Stm32F103RBT6] SPI 사용법MCU/ARM 2019. 11. 4. 12:21
SPI_CR1 => SPI 설정 레지스터1 15.BIDIMODE : Bidirectional data mode, 라인수 설정이다. 14. BIDIOE : Bidirectional output mode 설정 13. CRCEN : CRC 계산 설정 12. CRCNEXT : 11. DFF : 16비트, 8비트 설정 10. RXONLY : 9. SSM : 소프트웨어 slave 매니저 8. SSI : 소프트웨어 slave 선택 7. LSBFIRST : 0 : MSB, 1 : LSB 6. SPE : SPI ENABLE 5:3. BR : 분주설정 2. MSTR : Master, slave 설정 1. CPOL : clock polarity, 비트반전? 같은거.. 0. CPHA : Clock phase SPI_CR2 =..
-
[Atmega328, Arduino] SPI + 74595 사용법MCU/AVR 2019. 11. 4. 10:47
본 강좌에서는 아두이노 우노에서 Atmega328 레지스터로 SPI 를 동작시켜 74595를 동작시키는 방법에 대해서 알아본다. 바로 레지스터를 알아보도록 하자. 1. SPCR -> SPI 기본 세팅 7. SPIE : SPI 인터럽트를 허용한다. SPSR 레지스터의 SPIF 플래그를 활성화 하는것이다. 자세한것은 아래.. 6. SPE : SPI 허용. 5. MSTR : 마스터, 슬레이브 설정. 4. CPOL : 3. CPHA : 2. SPR1 : CLOCK 설정. 1. SPR0 : CLOCK 설정. 2. SPSR -> SPI 상태 레지스터 7. SPIF : 데이터가 모두 보내지면 1로 세팅된다. 위에 SPIE 설정해둬야함. 6. WCOL : 0. SPI2X : CLOCK 설정 3. SPDR -> 데이터 ..
-
[atmega128] 강좌 1-2 입출력 제어MCU/AVR 2019. 8. 27. 16:24
이번 강좌에서는 atmega128의 포트를 제어할 예정이다. 어떻게? 바로 레지스터를 이용해서 한다. 간단하게 말하면 CPU 안에 내장되어있는 메모리인데 우리가 이 값을 바꿔주면 CPU는 그에맞춰서 동작을 하게된다. 레지스터 이름 설명 예시 PORTx 입출력 설정. 0은INPUT, 1은 OUTPUT PORTA = 0b00000001; A포트 0번 핀 OUTPUT DDRx 출력 설정, 0은 LOW, 1은 HIGH DDRA = 0b00000001; A포트 0번 핀 HIGH PINx INPUT값 읽기. 0이면 LOW, 1이면 HIGH ex PINA == 0b00000001;일경우 A포트 0번핀 HIGH 0b00000001 (2진수) == 0x01 (16진수) == 1 (10진수) 앞에서 설명한데로 각 포트에는..
-
[atmega128] 강좌 1-1 포트 설명MCU/AVR 2019. 8. 27. 15:47
아두이노를 사용해본 사람이라면 알것이다. 핀을 사용하기전에 어떤 작업을 해야하는지.. 바로 입출력 설정이다. 아두이노 함수기준 PinMode() 이며, AVR 에서는 레지스터를 사용하여 제어한다. 레지스터가 무엇인지는 다음강좌에.. 우선 Atmega128의 포트는 A~G포트 까지 있다. 각 포트에는 7개의 핀이 있다. (G포트는 4개) 왜 포트를 나눴을까? 그 이유는 각 포트별로 다른 기능이 존제한다. (external interrupt라던가.. adc 라던가..) 각자 포트의 기능을 알아보자. (그냥 넘기자..) 필자도 그냥 눈에 보이는거만 적었다... 확실한건 앞으로 배워가면서 공부하도록 하자.. 겁먹을 필요없다. 다음 강좌에는 입출력을 모두 다뤄볼 예정이다.
-
[atmeg128] 개발 준비MCU/AVR 2019. 1. 24. 14:23
atmega128 강좌 개발 준비 본 강좌의 주의점 본 강좌는 고등학생 수준에서 작성됩니다.이 강좌를 보기 전에 아두이노와 c를 필히 하고 올 것을 권합니다.언어에 대한 문법은 조만간 강좌를 올리던가 하도록 하겠습니다. 본 강좌에 필요한 것 1. C 또는 C++ 언어의 기본적인 이해. (둘중 하나만 하셔도 둘다 하실겁니다) 2. avr 개발 보드. 본 강좌에서는 JMOD128-1 을 기반으로 합니다.JMOD128-1물론 어느정도 회로도를 보실 수 있으시다면 어느제품을 사셔도 무방합니다.그러나 저는 위 보드를 기반으로 설명하도록 하겠습니다. 3. 빵판. 출처 : 메카솔루션 이렇게 두개가 붙어있는 형태가 좋습니다. 두개 사셔서 직접 구성하셔도 좋습니다. 두개 붙어있는 형태를 사용하는 이유는 한쪽에는 보드와 ..