1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

허교수의 ARM Mbed 프로그래밍 입문(제이펍의 로봇 시리즈 14)
저자 : 허경용 ㅣ 출판사 : 제이펍

2019.08.08 ㅣ 400p ㅣ ISBN-13 : 9791188621651

정가27,000
판매가24,300(10% 할인)
적립금 1,350원 (5%)
배송일정 절판
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 B5(257mm X 188mm, 사륙배판)
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 시스템공학 > 소프트웨어공학
아두이노를 넘어설 새로운 플랫폼 ‘ARM Mbed’로
Cortex-M 마이크로컨트롤러 프로그래밍을 시작하자!


이 책에서는 Mbed를 이용하여 Cortex-M 마이크로컨트롤러를 위한 프로그램 작성 방법과 다양한 주변장치를 Mbed 환경에서 사용하는 방법을 보여준다. 따라서 Cortex-M 마이크로컨트롤러를 처음 사용하는 독자에게는 Cortex-M 마이크로컨트롤러에 대한 이해를, 고성능 마이크로컨트롤러가 필요한 독자에게는 프로토타이핑 도구로서의 Mbed를 소개한다.
펼쳐보기

[목 차]

PART I Mbed 소개 1
CHAPTER 01 Mbed란 무엇인가? 2
1.1 ARM 프로세서 2
1.2 Cortex-M 8
1.3 Mbed의 등장 10
1.4 Mbed 보드 14
1.5 Mbed 보드의 단점 17
1.6 Mbed와 아두이노 19

CHAPTER 02 누클레오 보드 시작하기 21
2.1 누클레오 보드 21
2.2 누클레오 보드의 특징 25
2.3 Mbed 프로그래밍 시작하기 29
2.4 컴퓨터와의 시리얼 통신 37
2.5 맺는말 41

CHAPTER 03 마이크로컨트롤러 프로그래밍 43
3.1 블링크 프로그램 44
3.2 객체의 사용 46
3.3 맺는말 50

CHAPTER 04 NUCLEO-F103RB 보드 사용하기 51
4.1 Mbed 보드 51
4.2 STM32F103RBT6 마이크로컨트롤러 53
4.3 NUCLEO-F103RB 보드 55
4.4 범용 입출력 핀 사용: LED1, USER_BUTTON 57
4.5 맺는말 61

CHAPTER 05 Mbed API 62
5.1 Mbed API 62
5.2 하드웨어 종속적 프로그래밍 64
5.3 하드웨어 독립적 프로그래밍 68
5.4 LPC1768 보드 73
5.5 맺는말 80

PART II 기본 프로그래밍 81
CHAPTER 06 디지털 데이터 입출력 82
6.1 디지털 데이터 입출력 82
6.2 DigitalOut 클래스 89
6.3 DigitalIn 클래스 93
6.4 DigitalInOut 클래스 97
6.5 맺는말 99

CHAPTER 07 UART 시리얼 통신 100
7.1 시리얼 통신 100
7.2 UART 101
7.3 Serial 클래스 105
7.4 맺는말 115

CHAPTER 08 아날로그 데이터 입력 116
8.1 아날로그 디지털 변환 116
8.2 AnalogIn 클래스 119
8.3 맺는말 124

CHAPTER 09 PWM 신호 출력 125
9.1 PWM 신호 출력 125
9.2 PwmOut 클래스 130
9.3 맺는말 135

CHAPTER 10 인터럽트 136
10.1 폴링 방식과 인터럽트 방식 136
10.2 Ticker 클래스 138
10.3 InterruptIn 클래스 139
10.4 맺는말 146

CHAPTER 11 주기적인 데이터 처리 147
11.1 wait 함수 147
11.2 Timer 클래스 150
11.3 Ticker 클래스 152
11.4 Timeout 클래스 155
11.5 맺는말 156

CHAPTER 12 SPI 통신 157
12.1 SPI 157
12.2 EEPROM 162
12.3 SPI 방식 OLED 168
12.4 맺는말 175

CHAPTER 13 I2C 통신 176
13.1 I2C 176
13.2 I2C 방식 OLED 181
13.3 텍스트 LCD 187
13.4 맺는말 193

CHAPTER 14 1-와이어 통신 195
14.1 1-와이어 통신 195
14.2 DS18B20 온도 센서 199
14.3 맺는말 205

PART III 주변장치 프로그래밍 207
CHAPTER 15 블루투스 208
15.1 블루투스 208
15.2 HC-06 블루투스 모듈 209
15.3 스마트폰 설정 214
15.4 블루투스 통신 215
15.5 맺는말 218

CHAPTER 16 로터리 인코더 219
16.1 로터리 인코더 219
16.2 로터리 인코더의 사용 221
16.3 맺는말 226

CHAPTER 17 센서 227
17.1 온도 센서 228
17.2 조도 센서 231
17.3 PIR 센서 233
17.4 맺는말 237

CHAPTER 18 디지털 온습도 센서 239
18.1 DHT11 센서 239
18.2 DHT22 센서 246
18.3 맺는말 250

CHAPTER 19 거리 측정 센서 251
19.1 초음파 거리 센서 251
19.2 적외선 거리 센서 256
19.3 맺는말 259

CHAPTER 20 릴레이 260
20.1 릴레이 260
20.2 릴레이를 통한 가전제품의 제어 262
20.3 맺는말 267

CHAPTER 21 7세그먼트 표시장치 268
21.1 7세그먼트 표시장치 268
21.2 한 자리 7세그먼트 표시장치 270
21.3 네 자리 7세그먼트 표시장치 273
21.4 맺는말 283

CHAPTER 22 LED 매트릭스 284
22.1 LED 매트릭스 284
22.2 LED 매트릭스 제어 287
22.3 Sseg 라이브러리 사용 291
22.4 맺는말 292

CHAPTER 23 텍스트 LCD 293
23.1 텍스트 LCD 293
23.2 텍스트 LCD 라이브러리 296
23.3 맺는말 301

CHAPTER 24 RTC 302
24.1 RTC 302
24.2 DS1307 303
24.3 DS3231 313
24.4 맺는말 321

CHAPTER 25 DC 모터 322
25.1 DC 모터 322
25.2 DC 모터 제어 325
25.3 맺는말 333

CHAPTER 26 서보 모터 334
26.1 서보 모터 334
26.2 서보 모터 제어 336
26.3 가변저항으로 서보 모터 제어 338
26.4 맺는말 340

PART IV 고급 프로그래밍 343
CHAPTER 27 RTOS ― 멀티스레드 구현 344
27.1 실시간 운영체제 344
27.2 스레드 345
27.3 시그널 349
27.4 맺는말 353

CHAPTER 28 STM32duino ― STM32를 위한 아두이노 코어 354
28.1 아두이노 환경 설정 355
28.2 아두이노 스케치 358
28.3 맺는말 364

CHAPTER 29 누클레오-아두이노 UART 통신 366
29.1 누클레오 보드와 아두이노 우노 연결 366
29.2 UART 시리얼 통신 프로그래밍 370
29.3 맺는말 372

CHAPTER 30 블루필 보드 373
30.1 블루필 보드 373
30.2 블루필 보드 프로그래밍 374
30.3 맺는말 379

찾아보기 381



[본 문]

NUCLEO 보드는 STMicroelectronics의 Cortex-M 기반 STM32 마이크로컨트롤러를 사용하여 만들어진 Mbed 보드로 다양한 형태와 다양한 사양의 보드가 30종 가까이 판매되고 있다. 누클레오 보드 중 이 책에서는 Cortex-M 시리즈 중에서도 가장 먼저 발표된 Cortex-M3 코어를 사용한 NUCLEO-F103RB 보드를 사용한다. 이외에도 NUCLEO-F103RB를 선택한 이유로는 저렴한 가격과 가격 대비 높은 성능 그리고 STMicroeectronics의 높은 시장 점유율을 빼놓을 수 없다.
_41쪽

Mbed 환경에서 프로그램은 C/C++ 언어를 사용하여 만들어진다. 특히 Mbed API는 C++의 클래스 라이브러리를 통해 구현되어 있으므로 클래스의 사용 방법을 알아두는 것은 필수적이다. 앞의 예에서도 볼 수 있듯이 클래스의 사용법은 구조체와 비슷하다. 어려운 점은 필요로 하는 클래스의 기능을 정의하고 이를 쉽게 사용할 수 있도록 구현하는 것이지만, Mbed 환경에서는 다양한 마이크로컨트롤러의 기능을 클래스 라이브러리로 구현해두고 있으므로 그 사용법을 알아두는 것에서 시작할 수 있다. 관심 있는 독자라면 C++ 언어와 객체지향 관련 책을 찾아볼 것을 추천한다.
_50쪽

인터럽트는 정상적인 프로그램의 실행 과정에서 우선적으로 처리해야 하는 비정상적인 사건을 말한다. 아두이노와 Mbed 모두에서 기본적으로 다루는 인터럽트는 핀에 가해지는 입력 변화로 발생하는 외부 인터럽트뿐이다. 하지만 이는 실제 마이크로컨트롤러에서 지원하는 인터럽트 일부분에 지나지 않는다. 아두이노와 Mbed에서 인터럽트를 자세히 다루지 않는 것은 이해하기가 쉽지 않기 때문이다. 코드 10-5를 보더라도 main 함수 내의 while 루프는 비어 있다. 하지만 코드 10-5는 정상적으로 동작한다. 이는 인터럽트 발생 및 처리 과정에 하드웨어가 관여하고 있기 때문이다. 하지만 아두이노와 Mbed 라이브러리에서는 이미 인터럽트를 사용하고 있다는 점을 잊지 말아야 한다. 또한 인터럽트가 라이브러리 구현에 사용되고 있다는 점은 인터럽트가 복잡한 동작을 구현하는 데 유용하다는 것을 보여준다는 점도 기억해야 한다.
_146쪽

마이크로컨트롤러를 사용하여 제어장치를 구성하는 경우 흔히 접하는 문제 중 하나가 일정 시간 간격으로 특정 동작을 반복하는 문제다. 일정 시간 간격으로 값을 증가 또는 감소시키는 카운터와 일정 시간 이후 특정 동작을 수행하도록 하는 타이머가 그 전형적인 예에 속하며 이외에도 다양한 예를 찾아볼 수 있다. 시간 간격을 조절하기 위해 사용할 수 있는 간단한 방법은 wait 함수를 사용하는 것이다. 하지만 wait 함수는 현재 실행 중인 스레드를 대기 상태로 바꾸므로 스레드가 일시 정지하는 단점이 있다. 스레드를 정지시키지 않으면서 주기적인 작업을 처리할 수 있도록 하기 위해서는 Timer, Ticker 등의 클래스를 사용할 수 있다.
_156쪽

Mbed에서는 I2C 통신을 지원하기 위해 I2C 라이브러리를 제공하고 있지만, I2C 라이브러리에서는 저수준의 데이터 교환과 관련된 기능만을 제공한다. I2C 통신을 통해 연결되는 주변장치에 따라 데이터를 전달하는 순서와 방식에서 차이가 있으므로 I2C 라이브러리를 바탕으로 만들어진 전용 라이브러리를 사용하는 것이 일반적이다. 이 장에서 살펴본 OLED나 텍스트 LCD도 I2C 라이브러리를 바탕으로 만들어진 전용 라이브러리를 사용한다. OLED의 경우 SPI 통신을 사용하는 예를 12장에서, 텍스트 LCD의 경우 병렬 데이터 전송을 사용하는 예를 23장에서 다루고 있으므로 I2C 통신의 경우와 비교해보고 필요에 따라 선택하여 사용하면 된다.
_194쪽
펼쳐보기
아두이노를 넘어설 새로운 플랫폼 ‘ARM Mbed’로
Cortex-M 마이크로컨트롤러 프로그래밍을 시작하자!


Mbed는 ARM에서 설계한 Cortex-M 마이크로컨트롤러를 위한 사물인터넷 플랫폼으로, 사물인터넷을 위한 디바이스와 애플리케이션 개발에 필요한 모든 것을 포함한다. 그리고 ARM의 Cortex-M은 고성능의 32비트 마이크로컨트롤러로, Mbed의 추상화된 라이브러리와 온라인 개발 환경을 통해 누구나 쉽게 시작할 수 있을 뿐더러 짧은 시간에 높은 성능을 체험할 수 있다.

이 책에서는 Mbed를 이용하여 Cortex-M 마이크로컨트롤러를 위한 프로그램 작성 방법과 다양한 주변장치를 Mbed 환경에서 사용하는 방법을 보여준다. 따라서 Cortex-M 마이크로컨트롤러를 처음 사용하는 독자에게는 Cortex-M 마이크로컨트롤러에 대한 이해를, 고성능 마이크로컨트롤러가 필요한 독자에게는 프로토타이핑 도구로서의 Mbed를 소개한다.

이 책의 대상 독자
● 하드웨어 전공자로 Mbed 플랫폼에 관심이 있는 분
● 마이크로컨트롤러 프로그래밍을 처음 시작하는 분
● 아두이노보다 좀 더 고성능의 마이크로컨트롤러를 배우고 싶은 분
● 사물인터넷 하드웨어 플랫폼에 관심이 있는 분
펼쳐보기
허경용
연세대학교 전자공학과 학사와 동(同) 대학원 석사를 취득하였다. 이후 플로리다대학교(University of Florida)에서 컴퓨터공학 박사를 취득하였으며, 현재 동의대학교 전자공학과 교수로 재직 중이다. 저서로는 《따라 하면서 배우는 마이크로컨트롤러》, 《사물인터넷을 위한 ESP8266 프로그래밍》, 《ATmega128로 배우는 마이크로컨트롤러 프로그래밍》, 《따라 하면서 배우는 아두이노》, 《사물인터넷을 품은 아두이노》, 《아두이노 상상을 스케치하다》 등이 있다.


펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기