▼▼ 최신글! ▼▼

more

[MSP430] 튜토리얼 3 - GPIO 제어(1)

목차 1. [MSP430] 튜토리얼 1 - Code Composer Studio(CCS) 설치 2. [MSP430] 튜토리얼 2 - 프로젝트 생성 3. [MSP430] 튜토리얼 3 - GPIO 제어(1) (현재글) GPIO란 General Purpose Input Output의 약자로 MCU의 가장 흔한...? 기본이 되는 기능이다. MSP430에서는 어떻게 I/O를 제어하는지 알아보자. 먼저 MSP430FR5969 런치패드에 연결되어 있는 LED부터 살펴보자. 회로도를 보면 초록색 LED는 P1.0에 연결되어 있고, 빨간색 LED는 P4.6에 연결되어 있음을 알 수 있다. I/O 기능과 관련된 레지스터는 여러가지가 있는데 일단 LED를 켜고 끄는데 필요한 레지스터 먼저 살펴보자. 참고로 FRAM으로 만..

MSP430 2021.03.10 2

[MSP430] 튜토리얼 2 - 프로젝트 생성

목차 1. [MSP430] 튜토리얼 1 - Code Composer Studio(CCS) 설치 2. [MSP430] 튜토리얼 2 - 프로젝트 생성 (현재글) 3. [MSP430] 튜토리얼 3 - GPIO 제어(1) 이전 글에 이어 이번 글에서는 프로젝트를 생성하고 빌드 및 디버깅하는 법에 대해 설명한다. 먼저 CCS를 실행한 후 좌측 상단 File → New → CCS Project 를 클릭한다. 혹은 Getting Started 화면에 있는 New Project를 클릭해도 된다. New Project를 클릭하면 새 창이 하나 뜨는데, MCU 선택 및 프로젝트 이름 등을 설정한다. 난 MSP430FR5969 LaunchPad를 사용중이므로 Tartget에 MSP430FR5969를 선택해주었다. 나머지는 ..

MSP430 2021.03.01 0

[MSP430] 튜토리얼 1 - Code Composer Studio(CCS) 설치

목차 1. [MSP430] 튜토리얼 1 - Code Composer Studio(CCS) 설치 (현재글) 2. [MSP430] 튜토리얼 2 - 프로젝트 생성 (현재글) 3. [MSP430] 튜토리얼 3 - GPIO 제어(1) 오랜만의 게시글... 어쩌다 보니 MSP430 MCU를 사용할 일이 생겨서 개발환경 구축 및 사용방법에 대해 정리하고자 한다. 먼저 Texas Instuments 홈페이지로 이동하여 CCS를 검색한 후 다운로드부터 한다. www.ti.com/tool/CCSTUDIO ← 이 링크를 클릭하면 바로 다운로드 페이지로 이동가능. 스크롤을 조금 아래로 내리면 아래 사진과 같은 모습을 확인할 수 있다. Download options를 눌러 본인의 OS환경에 맞는걸 다운로드한다. 다운로드 후 설..

MSP430 2021.02.23 2

[Cortex-M4] SW4STM32 STM32CubeMX 프로젝트 생성

프로젝트를 설정해보자. 이전글(클릭)에서는 개발환경을 구축했었다. 이제 STM32CubeMX를 이용하여 프로젝트를 생성해보자. 일단 나는 STM32F4 discovery보드를 사용하였다. 칩은 STM32F407이다. 먼저 SW4STM32를 실행하고 STM32CubeMX를 켠다. 다음으로 New Project를 눌러 진행한다. New Project를 클릭하면 아래와 같이 MCU를 선택하는 창이 뜨는데 본인이 사용하는 MCU를 고르고 하단의 OK를 누른다. OK를 누르면 아래와 같은 화면이 나온다. 이제 클럭 설정을 해주어야 하기때문에 왼쪽 목록중에 RCC를 선택한다. 나는 16MHz짜리 외부 크리스탈이 부착되어있기 때문에 High Speed Clock(HSE)를 Crystal/Ceramic ...으로 바꿔..

STM32 2017.04.02 0

♨ 인기글! ♨

[AVR] 적외선 통신(IR) - 2. 구현(코딩)

이론에 대해서 알아보았으면 실제로 어떻게 구현하는지 보자. 먼저 변조를 하고 프로토콜(너무 거창한가...?)을 정해야하는데 적외선통신에서 일반적으로 사용하는 변조방식은 다음과 같다. ▶ Bi-Phase ▶ ASK or OOK (Amplitude Shift Keying or On-Off Keying) ▶ PDM or PWM(Pulse Duration or Width Modulation) 먼저 Bi-Phase 방식은 한 비트를 반으로 쪼개서 상승엣지면 "1", 하강엣지면 "0"을 의미한다. 두 번째로 ASK 혹은 OOK방식인데 가장 단순한 진폭변조방식이다. high인 시간은 같고 low인 시간을 달리하여 "0"과 "1"을 구별한다. 세 번째로 PDM 혹은 PWM방식인데 high인 시간을 달리하여 "0"과 "..

AVR 2017.04.02 39

[AVR] ADC 사용하기(13.11.25 코드 수정)

AVR을 이용해 개발하는 사람들은 꼭 해보는 과정이 있다. 내가 배워온 과정을 순서대로 적으면 다음과 같다.(아마 제일 흔한 과정이 아닐까?) IO핀을 이용하여 LED제어 ↓ 타이머/카운터로 1초 만들기 ↓ PWM사용해서 서보모터 제어 ↓ 캐릭터 LCD 동작구현 ↓ USART통신 ↓ ADC 사용해서 센서값 받아오기 여기까지 하면 나머지 부분은 스스로 데이터시트를 보면서 할 수 있다고 생각한다. PWM사용하는것 까진 쉽게 할 수 있어서 이렇게 따로 게시글로 정리하진 않았다. 그래도 캐릭터 LCD, USART까지 글을 올렸으니 ADC도 올리는게 맞는거겠지? ADC는 뭐인고? Analog to Digital Converter의 약자다. 즉 아날로그 신호를 디지털값으로 바꿔주는 놈이다. AVR의 ADC분해능은 ..

AVR 2017.04.02 29

[Cortex-M3] 타이머(TIMER) 사용하기

STM32F100RB 칩 안에는 AVR처럼 여러개의 타이머가 있다. 각 타이머는 16bit로 동작하는것 같다. 먼저 타이머의 기능을 살펴보면 여러가지 모드가 있는데 가장 기본적인 Counter Mode(Upcounting & Downcounting)가 있고 아래의 기능도 제공한다. - Input Capture - Output Compare - PWM generation - One-pulse mode output 여기서는 가장 기본적인 Counter Mode와 PWM generation을 다루어 보겠다. 먼저 Counter Mode - Upcounting의 소스를 보면.. #include "stm32f10x.h" volatile unsigned int Timer2_Counter=0; void init_po..

STM32 2017.04.02 17

[AVR] SPI 통신

SPI(Serial Peripheral Interface)는 직렬 주변기기 인터페이스다. CPU와 다수의 CPU들 또는 CPU와 다수의 주변장치들 사이에 고속으로 데이터를 동기 전송하는데 사용되는 직렬 통신 방법 중에 하나이다. 장치들은 마스터 슬레이브 모드로 통신하며 여러 슬레이브 장치들은 개별 슬레이브 셀렉트(SS or Chip Select(CS)) 라인과 함께 동작할 수 있다. [그림 1] 싱글 마스터와 싱글 슬레이브 SPI 통신은 4가지 논리신호를 지정한다. ◎ SCLK(Serial Clock) : 직렬클럭 ◎ MOSI(Mater Output Slave Input) : 마스터 출력, 슬레이브 입력 ◎ MISO(Mater Input Slave Output) : 마스터 입력, 슬레이브 출력 ◎ SS(..

AVR 2017.04.02 15

[라즈베리파이] usb허브 외부전원 만들기

이히힛~ 요즘 유행하는 미는뽑기에 usb허브가 있어서 하나 뽑았다. 외부전원은 따로 없고 그냥 usb로 전원 땡겨오는 방식이다. 라즈베리파이에 사용하려고 꼽았는데 아무래도 라즈베리파이에서 줄 수 있는 전류가 딸려서 그런지 조금만 사용하다보면 뻗어버린다. 그래서 외부전원을 달아주기로 했다. 얼짱각도 1000원짜리라서 큰 기대는 안했지만 이건 너무하잖아? 처음 뜯었는데 연결부위가 부실하다. 일단 케이스를 분해해서 기판을 보면 아래와 같이 전원+-, data+-가 있다. 여기서 원래붙어있던 Vcc선을 잘라내고 외부전원+-를 연결한다. 외부전원에서 5V가 들어와서 굳이 잘라낼 필요가 없긴 한데 usb허브에 전원을 인가하면 라즈베리파이가 켜져버리는 현상도 있고 혹시나 전압차가 생기면 라즈베리파이에 무리 가 갈 수..

Raspberry Pi 2017.04.02 12