▼▼ 최신글! ▼▼

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] 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

[AVR] USART 직렬통신 하기(시리얼통신)

AVR과 컴퓨터간에 시리얼통신으로 데이터를 주고 받아보자. 이론적인 내용은 잘 몰라서 설명은 내 마음대로한다. 먼저 시리얼통신에는 동기모드와 비동기모드 두 가지 모드가 있다. 자세한 내용은 잘 모르겠지만 내가 알기론 동기식과 비동기식의 차이는 클럭의 차이다. 디지털회로시간에 배우긴했는데 기억이 가물가물... 일단 건드려야할 레지스터는 4개 밖에 없다. 색이 칠해져있는건 뭔지 feel이 온다. UCSR은 저놈들이 중요한놈들이다. 일단 UCSRA의 비트5 UDRE는 새로운 송신데이터를 받을 준비가 되어 있으면 set 되는 플래그이다. Read만 가능! UCSRB의 4,3번 비트는 Rx enable, Tx enable이다. 즉 avr의Rx, Tx핀을 일반IO 말고 데이터 송수신 용도로 쓰게한다. UCSRB와 ..

AVR 2017.04.02 17

계산기 청소

공대인의 필수품 공학용계산기다. 카시오에서 나온 fx-570 모델이다. 내가 입학했을때 샀는데 요즘 신입생들 것 보면 모델은 똑같은데 디자인이 바뀌었다. 실제 수학기호 쓰듯이 할수있어서 좀 짱인듯. 청소를 하기 위해 처음으로 분해해봤는데 생각보다 심플했다. PCB기판을 뒤집으면 버튼과 고무패드같은게 있다. 버튼을 눌리면 까만게 기판에 대여서 전류가 흐르게 되는거 같은데 더럽다. 닦아주자. 수많은 버튼들... 조그맣고 개수도 많았다. 하수구에 빨려들어가지 않도록 주의해서 씼었다. 깨끗이 씻은 버튼들을 다시 원래대로 끼워줘야 하는데...... 젠장....... 반정도 끝냈다. 다꽂음 청소끝.

[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

[라즈베리파이] wiringPi를 이용한 시리얼통신

라즈베리파이에서 시리얼통신(RS232)을 해보자. wiringPi에서 시리얼통신 라이브러리도 만들어놨다. 약간의 설정만 하고 사용하기만 하면 된다. 먼저 라즈베리파이에서 다음과 같이 설정해준다. 먼저 /boot/cmdline.txt파일을 백업한다. sudo cp cmdline.txt cmdline_backup.txt 를 입력해서 원본을 복사한다. 원본을 복사해놨으니 cmdline.txt 파일을 수정해준다. vi나 nano를 사용해서 수정해주면 된다. ttyAMA0가 들어간 문장들을 삭제해준다. 아래처럼 만들고 저장한다. 이제 /etc 경로로 이동해서 inittab 파일을 수정한다. 맨 아래줄에 T0:23raspawn:/sbin/getty -L ttyAMA0 115200 vt100 이라고 적혀있는놈을 주석..

Raspberry Pi 2017.04.02 8