《Arduino开发实战指南:STM32篇》主要面向非电子专业的读者,介绍了兼容Arduino的Maple控制器的编程方法与基础电路设计。书中有大量代码和硬件电路实例,使非专业的读者更易上手。Maple控制器编程简单,功能强大,采用了基于ARM Cortex-M3内核的STM32处理器,性能比AVR单片机更高。Maple控制器开发上与广泛使用的Arduino相兼容,可用于电子产品创意设计、互动媒体等交互应用。
2 e& g. t1 b- u 《Arduino开发实战指南:STM32篇》( P$ C* U Z; b2 r 前 言+ A% m& F% W$ q3 n8 K! Y 第1章 Maple简介 / 1* o9 j+ J K- o9 y, ? 1.1 Maple与Arduino的关系 / 1 1.2 Maple的衍生版本 / 11 z F' ~: d- J% b# y, { 1.2.1 Maple RET6 / 16 Q) Q. u9 Q, r. i0 ^ 1.2.2 Maple Mini / 1 1.2.3 Maple Native / 2 1.3 Maple的硬件资源 / 2, ^2 g+ g) s: Q5 o$ w; p+ r 1.4 libmaple简介 / 3 1.5 Maple IDE的安装和使用 / 3 1.5.1 下载Maple IDE / 3 1.5.2 安装Maple IDE / 40 V% W9 \0 A2 J, c& ?/ ^, C1 G 1.5.3 第一个程序 / 5$ r; Q' U- j& D 1.5.4 Maple IDE的使用 / 72 K2 Z7 S) n! M; r8 c 1.6 Maple的开源协议 / 8" y5 R* K8 V, ?' ?- \ 第2章 Maple的Arduino兼容函数库 / 9% o; \: K" v& R0 C9 ] 2.1 基本程序结构 / 95 N+ ^7 N, b% V( R" V5 I J 2.2 Maple静态变量关键字 / 9# B/ S$ \) J/ K 2.3 通用输入输出 / 10 2.3.1 pinMode()函数 / 10 2.3.2 digitalWrite()函数 / 12 2.3.3 digitalRead()函数 / 12 2.3.4 togglePin() / 13. A; Z, m4 B$ i* N# S' R* d 2.3.5 toggleLED() / 13 2.4 模拟输入输出 / 133 V3 E4 X9 z4 T7 T 2.4.1 analogWrite()与pwmWrite() / 14 2.4.2 analogRead() / 15- R1 W; {& A5 }, x 2.5 高级I/O / 15 shiftOut() / 15 2.6 硬件SPI接口 / 165 s7 D% u+ B" S5 k3 M 2.6.1 begin() / 18' j& l4 v! f+ R& \ 2.6.2 write() / 19 2.6.3 read() / 20 2.6.4 transfer() / 20, s- d) r4 q3 _# D 2.6.5 end() / 20 2.7 硬件USART与虚拟USB串口 / 20 2.7.1 begin() / 21 2.7.2 write() / 21 2.7.3 print()与println() / 22# l6 m6 g0 D- n* P3 S. H" T$ j& Q 2.7.4 read() / 24 2.7.5 available () / 24$ B6 H$ S/ \' C) c0 w2 p 2.7.6 flush() / 24 2.7.7 txPin()与rxPin() / 24 2.7.8 end() / 25% i. z8 b+ h* W9 n* J1 B9 ] 2.8 延时和定时器 / 25 2.8.1 delay()与delay-Microseconds() / 25% o* o7 D$ y3 E# J/ v+ R- G 2.8.2 mills()与micros() / 25$ b7 x% b$ ~4 A/ Y 2.8.3 内部硬件定时器 / 25 2.9 外部中断 / 31 2.9.1 interrupts()与nointerrupts() / 320 b2 t, H; `3 V& E3 f 2.9.2 attachInterrupt()与detachInterrupt() / 32/ Y! |. R# w7 g/ ^. e! f# {5 V p# V; ^ 2.10 数学与位运算操作 / 33$ t, s9 S* S) E! W6 p( ]& W' V2 x7 | 2.10.1 min() / 33 2.10.2 max() / 34. L1 R' A2 I( ^ 2.10.3 abs() / 34 2.10.4 constrain() / 35 2.10.5 map() / 35+ N: c5 M) T" l% R5 F. f3 c! e 2.10.6 pow () / 36 2.10.7 sqrt() / 36 2.10.8 sin() / 36+ N& R0 g: N( ^7 L" U5 i; u/ g 2.10.9 cos() / 372 Z4 {! X; a/ I* o1 @( M( M 2.10.10 tan() / 37 2.10.11 randomSeed() / 37, w9 D9 y+ I0 g) Z 2.10.12 random() / 37 2.10.13 lowBit() / 38' n7 r. b$ j9 R$ i2 F3 T$ o6 i 2.10.14 bitRead() / 38/ m' V# E* y6 q" G1 N* _ 2.10.15 bitWrite() / 38 2.10.16 bitSet() / 38( S6 p7 g8 I: i) L5 }# n- W+ c 2.10.17 bitClear() / 39 2.10.18 bit() / 39 2.11 Wire库 / 39 2.11.1 begin() / 40 2.11.2 beginTransmission() / 41& K2 ~4 S' [+ \/ B9 E! v 2.11.3 send() / 41 2.11.4 endTransmission() / 42 2.11.5 requestFrom() / 42 2.11.6 receive() / 43 L1 \9 ?$ s% ^' d 2.11.7 available() / 43/ U/ D$ R O2 o4 S: L* d) \0 s3 M 2.12 Servo库 / 434 v7 v# \7 Y0 t4 [; ?; F! _3 r9 [ 2.12.1 attach() / 43 2.12.2 attached() / 44 2.12.3 write() / 44 2.12.4 writeMicroseconds() / 451 U" H( [, D ] 2.12.5 readMicroseconds() / 45 2.12.6 read() / 45$ A% Y& ?- M5 ^' c2 L6 b3 n 2.12.7 detach() / 45! W# s. i: `, H5 j k2 U/ L& V 2.13 LiquidCrystal库 / 46 2.13.1 LiquidCrystal() / 46. a" n" e5 k, W 2.13.2 begin() / 474 G3 ^+ @3 w6 o' Y" v7 ~/ B 2.13.3 write() / 48 2.13.4 clear() / 48; r( M, |/ |# \6 g 2.13.5 home() / 49, h3 c+ d4 t0 F+ V2 B! Z7 G6 Z7 w! c( i 2.13.6 cursor()与noCursor() / 49 2.13.7 setCursor() / 49 2.13.8 noDisplay()与display() / 50 2.13.9 blink()与noBlink() / 50 2.13.10 leftToRight()与rightToLeft() / 50 2.13.11 autoscroll()与noAutoscroll() / 503 a' v4 `. `* b9 r2 d4 { 2.13.12 scrollDisplayLeft()与scrollDisplayRight() / 51! O8 H! ^: C4 N5 Y6 ^ i% I 2.13.13 print() / 51 2.13.14 createChar() / 51 第3章 电路基础 / 53 3.1 需要的工具与仪器 / 53 3.1.1 万用表 / 53 3.1.2 可调直流电源 / 54' z, N8 l% n# M2 a$ { 3.1.3 烙铁与焊料 / 55 3.1.4 镊子 / 551 o, X0 Z1 q' L. I; a 3.1.5 斜口钳 / 561 d, F5 J' B- q* W6 Y3 q 3.1.6 剥线钳 / 56& G7 M8 u, y5 j- i/ M 3.2 电阻 / 56 3.3 电感 / 58 3.4 电容 / 593 N- c2 ?7 a! ~9 M 3.5 BJT三极管 / 60* W: D& f v6 J3 z' s3 J# p 3.6 74系列IC / 610 b) l/ L! y5 ~ v5 |6 p. ` 3.7 LM7805线性稳压IC / 66& Y2 f) ]2 m9 I6 s: y( v: x 第4章 基本实验 / 67$ f- ?7 Q1 t! n" K+ F- Y* c7 h+ g 4.1 LED渐变 / 67 4.2 继电器控制 / 69 4.3 1602字符液晶显示屏 / 71 4.4 四位段码LED显示 / 75 4.5 DS1302时钟芯片 / 82' J% \5 x7 C8 p3 i4 {1 l 第5章 传感器实验 / 86 5.1 LM35温度传感器 / 86$ P5 t- G4 e. U2 F7 A& s% k 5.2 DHT11温湿度传感器 / 91( [9 S. F1 f1 p4 \* \, ~ 5.3 酒精传感器 / 93 5.4 超声波测距传感器 / 95 5.5 光敏电阻光传感器 / 98 5.6 BH1750环境光传感器模块 / 100 5.7 ADXL335加速计 / 101 5.8 GP2Y1010AU0F灰尘传感器 / 103 5.9 BMP085气压传感器 / 1058 F& ~! [4 N( L# }" z5 f 第6章 运动控制实验 / 112, D* T2 g: j* H0 ?' } 6.1 步进电机控制 / 112 6.1.1 用驱动器驱动步进电机 / 113 6.1.2 Maple通过达林顿芯片驱动步进电机 / 114 6.2 舵机电压表 / 115 第7章 其他实验 / 119 7.1 74HC595串并转换 / 119) z0 n. Q. V1 B# W- q. o2 z8 r# c8 X 7.2 24Cxx系列EEPROM读写 / 120 7.3 PID温度自动控制 / 125' b h, ~- S5 a) r 7.4 Maple频率计 / 128" ~" |& X7 v. b 7.5 NEC协议红外发射实验 / 129 7.6 使用IRremote库多协议红外收发 / 1324 M% g) F2 b( U( @8 z2 H) w 第8章 Maple上的操作系统简介 / 136 8.1 Maple上的CoOS / 136 8.1.1 准备 / 136 U/ C! O1 A) k7 J( |1 x' ]7 c 8.1.2 入门程序 / 136& Z2 @3 ^8 j; R9 I6 A 8.2 Maple上的FreeRTOS / 140 8.2.1 简介 / 140 8.2.2 入门程序 / 140 附录一 Maple引脚功能表 / 143& Y* z" Y) @6 F8 _8 d7 r 附录二 Maple Mini引脚功能表 / 145 附录三 定时器比较器通道与其相对应的引脚 / 1466 ?1 o6 u4 q9 k/ [& C 附录四 Maple RET6引脚功能表 / 147- d/ y8 x4 ^% d& ^ 继续阅读 三十四本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篇》
谢谢楼主