책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 마이크로프로세서
· ISBN : 9791188621651
· 쪽수 : 400쪽
· 출판일 : 2019-08-08
책 소개
목차
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의 높은 시장 점유율을 빼놓을 수 없다.
Mbed 환경에서 프로그램은 C/C++ 언어를 사용하여 만들어진다. 특히 Mbed API는 C++의 클래스 라이브러리를 통해 구현되어 있으므로 클래스의 사용 방법을 알아두는 것은 필수적이다. 앞의 예에서도 볼 수 있듯이 클래스의 사용법은 구조체와 비슷하다. 어려운 점은 필요로 하는 클래스의 기능을 정의하고 이를 쉽게 사용할 수 있도록 구현하는 것이지만, Mbed 환경에서는 다양한 마이크로컨트롤러의 기능을 클래스 라이브러리로 구현해두고 있으므로 그 사용법을 알아두는 것에서 시작할 수 있다. 관심 있는 독자라면 C++ 언어와 객체지향 관련 책을 찾아볼 것을 추천한다.
인터럽트는 정상적인 프로그램의 실행 과정에서 우선적으로 처리해야 하는 비정상적인 사건을 말한다. 아두이노와 Mbed 모두에서 기본적으로 다루는 인터럽트는 핀에 가해지는 입력 변화로 발생하는 외부 인터럽트뿐이다. 하지만 이는 실제 마이크로컨트롤러에서 지원하는 인터럽트 일부분에 지나지 않는다. 아두이노와 Mbed에서 인터럽트를 자세히 다루지 않는 것은 이해하기가 쉽지 않기 때문이다. 코드 10-5를 보더라도 main 함수 내의 while 루프는 비어 있다. 하지만 코드 10-5는 정상적으로 동작한다. 이는 인터럽트 발생 및 처리 과정에 하드웨어가 관여하고 있기 때문이다. 하지만 아두이노와 Mbed 라이브러리에서는 이미 인터럽트를 사용하고 있다는 점을 잊지 말아야 한다. 또한 인터럽트가 라이브러리 구현에 사용되고 있다는 점은 인터럽트가 복잡한 동작을 구현하는 데 유용하다는 것을 보여준다는 점도 기억해야 한다.