《Arduino开发实战指南:STM32篇》主要面向非电子专业的读者,介绍了兼容Arduino的Maple控制器的编程方法与基础电路设计。书中有大量代码和硬件电路实例,使非专业的读者更易上手。Maple控制器编程简单,功能强大,采用了基于ARM Cortex-M3内核的STM32处理器,性能比AVR单片机更高。Maple控制器开发上与广泛使用的Arduino相兼容,可用于电子产品创意设计、互动媒体等交互应用。
& m0 u& b. o' f* }" Y2 F( G9 [# w 《Arduino开发实战指南:STM32篇》# T) u* D' ]. b" ^) C 前 言7 F/ ?6 f! m( F5 u* V' i5 X; \3 w 第1章 Maple简介 / 1# p3 k7 T2 n% k5 d% Q- R 1.1 Maple与Arduino的关系 / 1/ U. M, C4 L, P8 E v2 a 1.2 Maple的衍生版本 / 18 u" x, p8 d/ m. n# b 1.2.1 Maple RET6 / 1! M8 m @4 p: f5 W5 G5 p' d; E+ G 1.2.2 Maple Mini / 1 1.2.3 Maple Native / 2* D' x x! Y# h- j% a { 1.3 Maple的硬件资源 / 2. r% G& H' J, J5 ^! R7 B 1.4 libmaple简介 / 3 1.5 Maple IDE的安装和使用 / 3 1.5.1 下载Maple IDE / 36 w" H+ _; R8 p7 v 1.5.2 安装Maple IDE / 4 1.5.3 第一个程序 / 5 1.5.4 Maple IDE的使用 / 7) Y1 [& t E5 p5 u 1.6 Maple的开源协议 / 8/ B8 g Z- r2 _' d0 C 第2章 Maple的Arduino兼容函数库 / 92 W/ ^$ x$ m' x' y! F. t1 c# O 2.1 基本程序结构 / 9 2.2 Maple静态变量关键字 / 9 2.3 通用输入输出 / 109 y7 ]/ x- y2 H' z5 u 2.3.1 pinMode()函数 / 10: Z' \9 H: t* X% A' Y& U 2.3.2 digitalWrite()函数 / 12' N0 f+ H) @; B, M 2.3.3 digitalRead()函数 / 12 2.3.4 togglePin() / 13 2.3.5 toggleLED() / 133 N' X& }9 K6 u( [2 A/ z% D3 J 2.4 模拟输入输出 / 13; h! g" m! g( M7 i# @ 2.4.1 analogWrite()与pwmWrite() / 14+ {1 n0 ^# p" n n 2.4.2 analogRead() / 15 2.5 高级I/O / 155 @: F" L5 i( j shiftOut() / 157 A4 N- {9 ~" W+ P$ `4 p- T 2.6 硬件SPI接口 / 16 2.6.1 begin() / 18/ J6 K4 A& o; i: S! j' q 2.6.2 write() / 197 N9 ^( z3 O3 H' I$ o) H 2.6.3 read() / 20/ ^- M8 q6 B5 ?6 @1 h$ [5 z 2.6.4 transfer() / 20 2.6.5 end() / 20+ H" ?- R- x7 }9 U9 `. O 2.7 硬件USART与虚拟USB串口 / 20 2.7.1 begin() / 21$ T# |0 i3 Z! S" ?; I 2.7.2 write() / 21 2.7.3 print()与println() / 22 2.7.4 read() / 24 2.7.5 available () / 24 2.7.6 flush() / 24/ e) r M. }+ p6 M; b, c1 V+ V 2.7.7 txPin()与rxPin() / 24* a! L, y- L. f: q- y 2.7.8 end() / 25) _0 C7 J8 s. m( M 2.8 延时和定时器 / 25# @2 w# P3 {) j s: A* a 2.8.1 delay()与delay-Microseconds() / 257 h9 n2 J; z4 d3 P1 E# B/ t 2.8.2 mills()与micros() / 257 H2 }, M. W+ ~4 J* H3 y 2.8.3 内部硬件定时器 / 259 X) n7 l( x, p: ]& w2 u 2.9 外部中断 / 311 M. S3 Y2 I+ A1 E2 Q0 { 2.9.1 interrupts()与nointerrupts() / 32 2.9.2 attachInterrupt()与detachInterrupt() / 32 2.10 数学与位运算操作 / 332 L: }8 k6 q7 ~5 A6 k; t) m7 H 2.10.1 min() / 33$ S7 _6 b% b( @9 Z# ` 2.10.2 max() / 34+ @8 A' x0 Y# x1 i+ l1 t" V: W; t9 R, j 2.10.3 abs() / 34+ _) F9 e9 p; k 2.10.4 constrain() / 35 2.10.5 map() / 35 2.10.6 pow () / 36 |8 N; T: x; P1 ] 2.10.7 sqrt() / 36. [" o3 j; v8 N0 D! u' A 2.10.8 sin() / 361 V8 L0 l+ x. U8 F9 r- |9 G& A5 w 2.10.9 cos() / 370 d9 ^8 h! q8 j7 p6 C$ [- l 2.10.10 tan() / 37 2.10.11 randomSeed() / 37 2.10.12 random() / 37 2.10.13 lowBit() / 38 2.10.14 bitRead() / 38/ m+ ]1 _% B: h( x% g! } 2.10.15 bitWrite() / 38 2.10.16 bitSet() / 38 2.10.17 bitClear() / 39: I/ c9 q+ L% P7 `: j, K 2.10.18 bit() / 39( w7 ~1 @' m, K 2.11 Wire库 / 399 a6 a( a4 R$ e# s% w: G! I 2.11.1 begin() / 40% C- Q! W3 k8 O. v. N* _ O 2.11.2 beginTransmission() / 41 2.11.3 send() / 41# _ t3 o/ u2 w3 B 2.11.4 endTransmission() / 420 g; W/ y, W' R2 a8 c+ q 2.11.5 requestFrom() / 42' O! {4 F8 E( ^. s 2.11.6 receive() / 43 2.11.7 available() / 435 L' n# C% m6 j0 h. Q7 H+ |# [% Y 2.12 Servo库 / 43 2.12.1 attach() / 43 2.12.2 attached() / 445 ^! N8 t5 W! n9 X- _7 r! ` 2.12.3 write() / 44 2.12.4 writeMicroseconds() / 45 2.12.5 readMicroseconds() / 45 A; [( l3 F% ] 2.12.6 read() / 456 ~5 m# i. D Y 2.12.7 detach() / 45 2.13 LiquidCrystal库 / 469 Y" X; u6 p+ k, h2 H4 M" f 2.13.1 LiquidCrystal() / 46& ~. f/ e' w; j1 K: Y* P 2.13.2 begin() / 47 2.13.3 write() / 486 `1 G7 F) E2 {7 }5 R 2.13.4 clear() / 48 2.13.5 home() / 49 2.13.6 cursor()与noCursor() / 49 2.13.7 setCursor() / 490 n w c# v: {: X8 @ 2.13.8 noDisplay()与display() / 50: `. }( F3 o* b 2.13.9 blink()与noBlink() / 50 2.13.10 leftToRight()与rightToLeft() / 50: A% M2 `4 _ U8 | N$ s" q 2.13.11 autoscroll()与noAutoscroll() / 503 p- C$ r) S8 E i% M$ F/ g: H 2.13.12 scrollDisplayLeft()与scrollDisplayRight() / 51 2.13.13 print() / 51 2.13.14 createChar() / 51 第3章 电路基础 / 537 }5 q& m0 y+ j 3.1 需要的工具与仪器 / 53 3.1.1 万用表 / 53 3.1.2 可调直流电源 / 54" u& \% R- ^ q# A/ ]" n 3.1.3 烙铁与焊料 / 55 3.1.4 镊子 / 555 g- C' h- e) Y" m3 a+ c4 d. h7 j6 \ 3.1.5 斜口钳 / 56 3.1.6 剥线钳 / 56+ r8 L2 a2 B3 k 3.2 电阻 / 56 3.3 电感 / 58 3.4 电容 / 59; r3 G N$ U) r- N 3.5 BJT三极管 / 605 E! X1 S0 t! {* Q- E M2 y, j% h 3.6 74系列IC / 61 3.7 LM7805线性稳压IC / 666 c: h+ o0 t- W7 C1 r' x1 ~ 第4章 基本实验 / 67 4.1 LED渐变 / 67 4.2 继电器控制 / 69/ }5 S; s/ K: c( g! l* `8 t/ V 4.3 1602字符液晶显示屏 / 71 4.4 四位段码LED显示 / 753 m* u: ~! I3 q* ]* G 4.5 DS1302时钟芯片 / 82 第5章 传感器实验 / 867 e7 V0 Q5 p7 |/ G/ `5 V 5.1 LM35温度传感器 / 86 5.2 DHT11温湿度传感器 / 91 5.3 酒精传感器 / 93( T# w$ n' w3 f% d; Z 5.4 超声波测距传感器 / 958 o2 F! ~5 h% M; K$ _ T 5.5 光敏电阻光传感器 / 98( p3 k- Z, H ^7 u1 i 5.6 BH1750环境光传感器模块 / 100 5.7 ADXL335加速计 / 101& k" X2 P, s7 W# J 5.8 GP2Y1010AU0F灰尘传感器 / 103' k+ B" Y4 P! j7 Q2 |) ? 5.9 BMP085气压传感器 / 105; e {$ y6 z/ b$ J* |7 m6 |- W 第6章 运动控制实验 / 112 6.1 步进电机控制 / 112 6.1.1 用驱动器驱动步进电机 / 113 6.1.2 Maple通过达林顿芯片驱动步进电机 / 1140 e' Q3 u! j6 O H* t2 n$ Q" S" O" D 6.2 舵机电压表 / 115 第7章 其他实验 / 119 7.1 74HC595串并转换 / 1193 \ T( [! _7 z9 n( H W+ I2 C 7.2 24Cxx系列EEPROM读写 / 1202 [( b* C9 O! g) U% c4 X6 d E 7.3 PID温度自动控制 / 125& n* [# O5 g$ |# [ 7.4 Maple频率计 / 128 7.5 NEC协议红外发射实验 / 129 7.6 使用IRremote库多协议红外收发 / 132 第8章 Maple上的操作系统简介 / 136 8.1 Maple上的CoOS / 136 8.1.1 准备 / 136% l( S+ K/ K! a9 b5 F% E 8.1.2 入门程序 / 136 8.2 Maple上的FreeRTOS / 140% ]8 x0 L. J( m) T' i0 h 8.2.1 简介 / 140' w1 d2 |5 a3 W- c; B 8.2.2 入门程序 / 140 附录一 Maple引脚功能表 / 143# R* f) P0 a9 \# }& S/ Z( H 附录二 Maple Mini引脚功能表 / 145) }4 x2 P8 F- M* ? 附录三 定时器比较器通道与其相对应的引脚 / 146# h5 A( b& G* r( a 附录四 Maple RET6引脚功能表 / 147 G* N! z/ o3 [$ l: F 5 v( K' E$ q! Y, V" [9 { 继续阅读4 _- T0 F8 u2 Z1 u0 x0 t, X 三十四本STM32图书分享集锦(推荐可获赠ST图书) |
微信公众号
手机版
RE:【STM32图书分享之二十八】—《Arduino开发实战指南:STM32篇》
RE:【STM32图书分享之二十八】—《Arduino开发实战指南:STM32篇》
有免费试读的章节可以下载: http://www.china-pub.com/computers/common/mianfeisd.asp?id=3768827
RE:【STM32图书分享之二十八】—《Arduino开发实战指南:STM32篇》
RE:【STM32图书分享之二十八】—《Arduino开发实战指南:STM32篇》
RE:【STM32图书分享之二十八】—《Arduino开发实战指南:STM32篇》
谢谢楼主