
《Arduino开发实战指南:STM32篇》主要面向非电子专业的读者,介绍了兼容Arduino的Maple控制器的编程方法与基础电路设计。书中有大量代码和硬件电路实例,使非专业的读者更易上手。Maple控制器编程简单,功能强大,采用了基于ARM Cortex-M3内核的STM32处理器,性能比AVR单片机更高。Maple控制器开发上与广泛使用的Arduino相兼容,可用于电子产品创意设计、互动媒体等交互应用。![]() 6 ?% x6 h1 [, e5 B 《Arduino开发实战指南:STM32篇》 前 言$ l2 S+ ^' l' T4 T 第1章 Maple简介 / 1/ U6 t9 C) z+ X$ o 1.1 Maple与Arduino的关系 / 1 1.2 Maple的衍生版本 / 1) ?5 W- ^4 G: H2 l1 s/ A* ^4 e 1.2.1 Maple RET6 / 1, I* N3 r. A* F& |3 o' L9 m- y* K 1.2.2 Maple Mini / 1. \2 }8 X& k' _/ [ j 1.2.3 Maple Native / 2 1.3 Maple的硬件资源 / 2 1.4 libmaple简介 / 37 e. G' s+ E9 R7 E6 I) x 1.5 Maple IDE的安装和使用 / 34 g% f: B7 C2 B) `3 E 1.5.1 下载Maple IDE / 37 L; Z; g4 E$ n T% m 1.5.2 安装Maple IDE / 4 1.5.3 第一个程序 / 5 1.5.4 Maple IDE的使用 / 7 1.6 Maple的开源协议 / 8 第2章 Maple的Arduino兼容函数库 / 9( l; E. G. ]) w5 n7 \! R! c5 T 2.1 基本程序结构 / 9 2.2 Maple静态变量关键字 / 9( s* e& y7 ?: i( R; Y 2.3 通用输入输出 / 100 @0 g! c) x( y) j7 e B 2.3.1 pinMode()函数 / 107 D l- p7 G* ], h' u* a/ t 2.3.2 digitalWrite()函数 / 12 2.3.3 digitalRead()函数 / 12 2.3.4 togglePin() / 13 2.3.5 toggleLED() / 137 C9 T3 w- z: F" e+ l$ \* b 2.4 模拟输入输出 / 13# R' X8 u B) U9 _ 2.4.1 analogWrite()与pwmWrite() / 14 2.4.2 analogRead() / 158 {% [1 X6 A5 ^7 a 2.5 高级I/O / 15. W$ R2 ?: ^% G" ]7 A# p shiftOut() / 15 2.6 硬件SPI接口 / 16$ U/ ?; W: r. _0 T5 J6 i 2.6.1 begin() / 18 2.6.2 write() / 19$ h. G$ f7 f7 B' x( D' I, A 2.6.3 read() / 20: i1 U4 }( p/ I, R& c, F 2.6.4 transfer() / 20 2.6.5 end() / 209 k% \, y& X( V h: J2 [* y5 d 2.7 硬件USART与虚拟USB串口 / 209 I. }5 y; b0 \! L) {" f p% T/ u, f( h 2.7.1 begin() / 21 2.7.2 write() / 21 2.7.3 print()与println() / 22 2.7.4 read() / 24 2.7.5 available () / 24& l' H0 p; i) ^* @6 @/ Q9 a 2.7.6 flush() / 24 2.7.7 txPin()与rxPin() / 246 c! ^% t% [, s% v 2.7.8 end() / 255 Q# E% z% M# n: m1 K3 J 2.8 延时和定时器 / 25 2.8.1 delay()与delay-Microseconds() / 25 2.8.2 mills()与micros() / 25; D3 p8 S4 m5 u+ p/ q/ @% a 2.8.3 内部硬件定时器 / 25. t( P1 p& u8 R* P9 W! e 2.9 外部中断 / 31 2.9.1 interrupts()与nointerrupts() / 324 f7 m- j. B9 r" |" i' B! W" N$ c 2.9.2 attachInterrupt()与detachInterrupt() / 32% @; }% [; b5 M) w, \0 u 2.10 数学与位运算操作 / 33 2.10.1 min() / 33 2.10.2 max() / 34' i6 w2 e1 U/ k) b1 c3 L 2.10.3 abs() / 34 2.10.4 constrain() / 35 2.10.5 map() / 35 2.10.6 pow () / 36 2.10.7 sqrt() / 36 2.10.8 sin() / 362 f# n _; I* z6 F0 m 2.10.9 cos() / 37 2.10.10 tan() / 37 2.10.11 randomSeed() / 370 [- J: d! O2 H) z5 e% N, e% P9 r 2.10.12 random() / 37/ |/ N6 H- G" {7 v2 S: Y 2.10.13 lowBit() / 38 2.10.14 bitRead() / 38* t* G7 a; q# {5 { 2.10.15 bitWrite() / 38& J$ r& I8 P$ q# _, u 2.10.16 bitSet() / 38! ~; R% b9 N5 I: Q/ _ 2.10.17 bitClear() / 394 C, V0 _7 T9 G# Y, A& { 2.10.18 bit() / 39# @* t" `; X0 D2 Y+ P- {+ W 2.11 Wire库 / 39' R) D& ?4 q9 s( L 2.11.1 begin() / 403 m8 e! s h6 u 2.11.2 beginTransmission() / 41/ c1 |; o% w3 Y 2.11.3 send() / 41 2.11.4 endTransmission() / 42 2.11.5 requestFrom() / 42) w2 H [0 r1 r& x& V 2.11.6 receive() / 43 2.11.7 available() / 432 n, U+ ]( R9 J/ f2 T: C) E4 k 2.12 Servo库 / 43 2.12.1 attach() / 43 2.12.2 attached() / 44 2.12.3 write() / 44; E9 T7 n. ?0 L( x 2.12.4 writeMicroseconds() / 45 2.12.5 readMicroseconds() / 45) k7 R% i- w3 b. B1 X 2.12.6 read() / 45 2.12.7 detach() / 45 2.13 LiquidCrystal库 / 46 2.13.1 LiquidCrystal() / 46 2.13.2 begin() / 47 2.13.3 write() / 485 V$ k' h* _. W- K& [ 2.13.4 clear() / 486 d' P& z7 K% \) {2 A$ L. N( x 2.13.5 home() / 49/ h8 {* K# [; h: A+ b" ` P. K 2.13.6 cursor()与noCursor() / 49 2.13.7 setCursor() / 49+ G9 F5 W' F! b0 K" b) P 2.13.8 noDisplay()与display() / 50 2.13.9 blink()与noBlink() / 50/ Z' ]/ [0 T/ X4 u2 W. L9 K 2.13.10 leftToRight()与rightToLeft() / 50 2.13.11 autoscroll()与noAutoscroll() / 50 2.13.12 scrollDisplayLeft()与scrollDisplayRight() / 51% I: C6 x- i4 ]: ` 2.13.13 print() / 51' Y* N- d$ C3 D' X2 s2 | 2.13.14 createChar() / 51& g. y; i- m; i0 }" ^ 第3章 电路基础 / 53/ B3 {" l- X) N' p 3.1 需要的工具与仪器 / 53! b5 H9 M6 d: a* z; a# V 3.1.1 万用表 / 53 3.1.2 可调直流电源 / 54) |/ [, S2 |# p" \7 W( v 3.1.3 烙铁与焊料 / 55 3.1.4 镊子 / 55 3.1.5 斜口钳 / 56% L% x) d+ m! j" K7 @" G 3.1.6 剥线钳 / 56) x. G* \$ u6 x6 u8 E 3.2 电阻 / 56! b* c" v2 [- f, T- ]5 @ 3.3 电感 / 586 I% @" a) {7 o+ s# k 3.4 电容 / 599 \4 p- v' R/ Q 3.5 BJT三极管 / 60! s/ N9 ^6 W( C6 \# @5 C7 G$ B 3.6 74系列IC / 61 3.7 LM7805线性稳压IC / 66) M3 U; ~' K& {. a% J! J 第4章 基本实验 / 67 4.1 LED渐变 / 67( I6 L$ b+ @: D8 e! u 4.2 继电器控制 / 69, Y# i* @3 R4 e% B. f. H 4.3 1602字符液晶显示屏 / 71 4.4 四位段码LED显示 / 75 4.5 DS1302时钟芯片 / 82) ^" X# H% _0 R) C# I, @! ? 第5章 传感器实验 / 86: H7 d' ` [$ D4 C; }/ [9 o' J, T 5.1 LM35温度传感器 / 86! b- r( N( h# B 5.2 DHT11温湿度传感器 / 910 x6 o$ ^1 F: i 5.3 酒精传感器 / 93& P( e3 S* ~/ b& ]) n: a 5.4 超声波测距传感器 / 95& I" a+ }( V' o9 V 5.5 光敏电阻光传感器 / 98* [0 N* n& i3 U d4 H 5.6 BH1750环境光传感器模块 / 1009 C$ g8 d- q% ?0 `4 f 5.7 ADXL335加速计 / 1019 a7 ?4 @, c( `9 M( j: C 5.8 GP2Y1010AU0F灰尘传感器 / 103 5.9 BMP085气压传感器 / 105* z8 t& A& F$ \! X; v 第6章 运动控制实验 / 112 6.1 步进电机控制 / 1129 W0 W2 i' j: t 6.1.1 用驱动器驱动步进电机 / 113* }6 j: Q! Y9 k2 \/ X9 X2 W 6.1.2 Maple通过达林顿芯片驱动步进电机 / 114 6.2 舵机电压表 / 1157 }; w2 T' o/ _$ B8 C 第7章 其他实验 / 119 7.1 74HC595串并转换 / 119" b! N& T; i- h5 V' ^ 7.2 24Cxx系列EEPROM读写 / 120 7.3 PID温度自动控制 / 125& W: ?* w# s4 a/ w ~ 7.4 Maple频率计 / 1286 T' S: T/ G1 S0 s/ k7 ?2 J2 g 7.5 NEC协议红外发射实验 / 129- v# l3 p' k6 N/ @2 L7 {0 ? 7.6 使用IRremote库多协议红外收发 / 132 第8章 Maple上的操作系统简介 / 136 b2 l/ j1 O o6 R: ~2 |1 J 8.1 Maple上的CoOS / 136 8.1.1 准备 / 136' ]0 y$ i: }& a* K 8.1.2 入门程序 / 136, W+ K1 v" M. F5 S% F9 R 8.2 Maple上的FreeRTOS / 140 8.2.1 简介 / 140 8.2.2 入门程序 / 140 附录一 Maple引脚功能表 / 1433 ^! r0 f# M1 j. T2 L* ] 附录二 Maple Mini引脚功能表 / 145 附录三 定时器比较器通道与其相对应的引脚 / 146 附录四 Maple RET6引脚功能表 / 1477 c0 m/ y# H8 f; b! D M7 I ' N/ A) j5 E( ?% M+ c 继续阅读 三十四本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篇》
谢谢楼主