嵌入å¼ç³»ç»Ÿæ˜¯ä»¥åº”用为ä¸å¿ƒï¼Œä»¥è®¡ç®—机技术为基础,软硬件å¯ä»¥è£å‰ªï¼Œå¯¹æ€§èƒ½ã€æˆæœ¬ã€ 体积ã€åŠŸè€—åŠå¯é æ€§æœ‰ä¸¥æ ¼è¦æ±‚的专用计算机系统。在现实生活ä¸ï¼Œå‡¡æ˜¯æ¶‰åŠè®¡ç®—机控制的 电å产å“ç»å¤§å¤šæ•°éƒ½ç”¨åˆ°äº†åµŒå…¥å¼è®¡ç®—机系统,特别是在目å‰çƒé—¨çš„äººå·¥æ™ºèƒ½ã€æ— äººé©¾é©¶ã€ æœºå™¨äººã€æ— äººæœºã€æ±½è½¦ç”µåã€èˆªç©ºèˆªå¤©ã€æµ·æ´‹ç›‘æµ‹ã€æ™ºèƒ½ç›‘æŽ§ã€æ™ºæ…§å¥åº·ç‰é¢†åŸŸã€‚åµŒå…¥å¼æŠ€ 术与人们日常生活方方é¢é¢çš„关系越æ¥è¶Šç´§å¯†ï¼Œå¦‚消费电åã€è®¡ç®—机ã€é€šä¿¡ä¸€ä½“化趋势日益 明显。作为计算机领域的一个é‡è¦ç»„æˆéƒ¨åˆ†ï¼ŒåµŒå…¥å¼ç³»ç»Ÿå·²æˆä¸ºæ•™å¦ã€ç ”究与应用的çƒç‚¹ã€‚ 由于嵌入å¼ç³»ç»Ÿçš„ä¸“ç”¨æ€§å’Œå¤šæ ·æ€§ï¼Œä»¥åŠæ–°æŠ€æœ¯ã€æ–°å·¥è‰ºã€æ–°éœ€æ±‚çš„ä¸æ–æ¶ŒçŽ°ï¼ŒåµŒå…¥å¼ ç³»ç»Ÿè®¾è®¡é¢ä¸´å·¨å¤§æŒ‘æˆ˜ã€‚åœ¨å¾®ç”µåæŠ€æœ¯ã€å¤„ç†å™¨æ€§èƒ½ã€æ“作系统ã€é€šä¿¡æŠ€æœ¯ã€æŽ¥å£æŠ€æœ¯å’Œå° è£…æŠ€æœ¯çš„æŽ¨åŠ¨ä¸‹ï¼Œæ¶ŒçŽ°å‡ºå¤§é‡æ–°çš„系统和应用。éšç€ç›¸å…³æŠ€æœ¯çš„迅速å‘å±•ï¼ŒåµŒå…¥å¼æŠ€æœ¯ä¸æ– 演化和更新,对嵌入å¼ç³»ç»Ÿæ–°æŠ€æœ¯çš„å¦ä¹ 也跨入了一个新阶段。 计算机是 20 ä¸–çºªäººç±»æœ€ä¼Ÿå¤§çš„å‘æ˜Žä¹‹ä¸€ï¼Œç”±æ¤å¸¦æ¥çš„ä¿¡æ¯åŒ–改å˜äº†äººä»¬çš„生活方å¼ï¼Œ 也推动了人类社会的å˜é©ã€‚嵌入å¼ç³»ç»Ÿæ˜¯åº”用最广泛的计算机系统之一,éšç€ç‰©è”网ã€ä¿¡æ¯ 物ç†èžåˆç³»ç»Ÿçš„å‘展,嵌入å¼ç³»ç»ŸæŠ€æœ¯å·²ç»å¾—到飞速å‘展。 嵌入å¼ç³»ç»Ÿçš„å‘展确实超乎了我们的想象。从早期的 8 ä½å•片机,到目å‰ä¸»æµçš„ 32 ä½ å•片机,其应用已深深渗é€äºŽç”Ÿäº§ã€ç”Ÿæ´»çš„å„个方é¢ã€‚作为 Arm 的一个典型系列,STM32 ä»¥å…¶è¾ƒé«˜çš„æ€§èƒ½å’Œä¼˜è¶Šçš„æ€§ä»·æ¯”ï¼Œæ¯«æ— ç–‘é—®åœ°æˆä¸º 32 ä½å•片机市场的主æµã€‚把 STM32 引 入大å¦çš„åŸ¹å…»ä½“ç³»ï¼Œå·²ç»æˆä¸ºå¹¿å¤§é«˜æ ¡å¸ˆç”Ÿçš„æ™®é共识和共åŒå®žè·µã€‚ 32 ä½å¾®æŽ§åˆ¶å™¨æ—¶ä»£å·²ç»åˆ°æ¥ã€‚32 ä½å¾®æŽ§åˆ¶å™¨æ€§èƒ½ä¼˜è¶Šï¼ŒåŠŸèƒ½å¼ºå¤§ä½†ç»“æž„å¤æ‚,使很多 嵌入å¼å·¥ç¨‹å¸ˆæœ›è€Œå´æ¥ã€‚读者对一本好的嵌入å¼ç³»ç»Ÿå…¥é—¨æ•™æçš„需求越æ¥è¶Šè¿«åˆ‡ã€‚ æ£æ˜¯åŸºäºŽå¸‚场需求,Arm å…¬å¸çŽ‡å…ˆæŽ¨å‡ºäº†ä¸€æ¬¾åŸºäºŽ Arm V7 架构的 32 ä½ Arm Cortex-M å¾®æŽ§åˆ¶å™¨å†…æ ¸ã€‚Cortex-M ç³»åˆ—å†…æ ¸æ”¯æŒä¸¤ç§è¿è¡Œæ¨¡å¼ï¼Œå³çº¿ç¨‹æ¨¡å¼ï¼ˆThread Modeï¼‰ä¸Žå¤„ç† è€…æ¨¡å¼ï¼ˆHandler Modeï¼‰ã€‚è¿™ä¸¤ç§æ¨¡å¼éƒ½æœ‰å„è‡ªç‹¬ç«‹çš„å †æ ˆï¼Œä½¿å¾—å†…æ ¸æ›´åŠ æ”¯æŒå®žæ—¶æ“作 系统,并且 Cortex-M ç³»åˆ—å†…æ ¸æ”¯æŒ Thumb-2 æŒ‡ä»¤é›†ã€‚å› æ¤ï¼ŒåŸºäºŽ Cortex-M ç³»åˆ—å†…æ ¸çš„å¾® 控制器的开å‘和应用å¯ä»¥åœ¨ C è¯è¨€çŽ¯å¢ƒä¸å®Œæˆã€‚ Arm Cortex-M3 æ˜¯é‡‡ç”¨å“ˆä½›ç»“æž„ã€æ‹¥æœ‰ç‹¬ç«‹æŒ‡ä»¤æ€»çº¿å’Œæ•°æ®æ€»çº¿çš„ 32 ä½å¤„ç†å™¨å†…æ ¸ï¼Œ æŒ‡ä»¤æ€»çº¿å’Œæ•°æ®æ€»çº¿å…±äº«åŒä¸€ä¸ªå˜å‚¨å™¨ç©ºé—´ï¼ˆä¸€ä¸ªç»Ÿä¸€çš„å˜å‚¨å™¨ç³»ç»Ÿï¼‰ï¼Œä¸ºç³»ç»Ÿèµ„æºçš„åˆ†é… å’Œç®¡ç†æä¾›äº†å¾ˆå¥½çš„æ”¯æŒã€‚ ç»§ Cortex-M ç³»åˆ—å†…æ ¸è¯žç”Ÿä¹‹åŽï¼Œæ„法åŠå¯¼ä½“å…¬å¸ç§¯æžå“应当今嵌入å¼äº§å“å¸‚åœºçš„æ–°è¦ æ±‚å’Œæ–°æŒ‘æˆ˜ï¼ŒæŽ¨å‡ºäº†åŸºäºŽ Cortex-M ç³»åˆ—å†…æ ¸çš„ STM32 微控制器。它具有出色的微控制器 全书.indd 1 2024/3/7 15:46:48 II Arm 嵌入å¼ç³»ç»ŸåŽŸç†åŠåº”用——STM32F103 微控制器架构ã€ç¼–ç¨‹ä¸Žå¼€å‘ å†…æ ¸å’Œå®Œå–„çš„ç³»ç»Ÿç»“æž„è®¾è®¡ï¼Œä»¥åŠæ˜“于开å‘ã€æ€§èƒ½é«˜ã€å…¼å®¹æ€§å¥½ã€åŠŸè€—ä½Žã€å®žæ—¶å¤„ç†èƒ½åŠ›å’Œ æ•°å—ä¿¡å·å¤„ç†èƒ½åŠ›å¼ºç‰ä¼˜ç‚¹ï¼Œè¿™ä½¿å¾— STM32 微控制器一上市就迅速å 领了ä¸ä½Žç«¯å¾®æŽ§åˆ¶å™¨ 市场。STM32 微控制器ä¸ä»…完美地适应了当å‰å¸‚åœºçš„éœ€æ±‚ï¼Œè¿˜ä½¿æ„æ³•åŠå¯¼ä½“å…¬å¸åœ¨ä½Žä»·ä½ 和高性能两æ¡äº§å“主线上å–得了巨大进æ¥ã€‚æ£å› 为如æ¤ï¼ŒåŸºäºŽ Arm Cortex-M3 çš„ STM32 ç³» 列 MCU 以其高性能ã€ä½ŽåŠŸè€—ã€é«˜å¯é æ€§å’Œä½Žä»·æ ¼çš„ç‰¹ç‚¹ï¼Œé€æ¸æˆä¸ºé«˜æ ¡å¸ˆç”Ÿä¸Žå·¥ç¨‹å¸ˆå¦ä¹ å’Œä½¿ç”¨çš„ä¸»è¦ MCU 类型。 å› æ¤ï¼Œæœ¬ä¹¦ä»¥æ„法åŠå¯¼ä½“å…¬å¸çš„基于 32 ä½ Arm å†…æ ¸çš„ STM32F103 ä¸ºèƒŒæ™¯æœºåž‹ï¼Œä»‹ç» åµŒå…¥å¼ç³»ç»ŸåŽŸç†ä¸Žåº”用。由于 STM32 的网上资æºéžå¸¸ä¸°å¯Œï¼Œå› æ¤ä¾¿äºŽè¯»è€…å¦ä¹ å‚考。 本书的特点如下。 (1)采用æµè¡Œçš„ STM32F103 系列嵌入å¼å¾®æŽ§åˆ¶å™¨è®²è¿°åµŒå…¥å¼ç³»ç»ŸåŽŸç†ä¸Žåº”用。 (2ï¼‰å†…å®¹ç²¾ç»ƒï¼Œå›¾æ–‡å¹¶èŒ‚ï¼Œå¾ªåºæ¸è¿›ï¼Œé‡ç‚¹çªå‡ºã€‚ (3)ä¸è®²è¿°çƒ¦ççš„ STM32 寄å˜å™¨ï¼Œé‡ç‚¹è®²è¿° STM32 的库函数。 (4)以ç†è®ºä¸ºåŸºç¡€ï¼Œä»¥åº”ç”¨ä¸ºä¸»å¯¼ï¼Œç« èŠ‚å†…å®¹å®‰æŽ’é€»è¾‘æ€§å¼ºï¼Œå±‚æ¬¡åˆ†æ˜Žï¼Œæ˜“æ•™æ˜“å¦ã€‚ (5)结åˆå›½å†…主æµç¡¬ä»¶å¼€å‘æ¿ï¼ˆé‡Žç« STM32 开呿¿ F103- 霸é“),书ä¸ç»™å‡ºäº†å„个外设 模å—的硬件设计和软件设计实例,其代ç å‡åœ¨å¼€å‘æ¿ä¸Šè°ƒè¯•通过,并通过 TFT LCD æˆ–ä¸²å£ è°ƒè¯•åŠ©æ‰‹æŸ¥çœ‹è°ƒè¯•ç»“æžœï¼Œå¯ä»¥å¾ˆå¥½åœ°åŸ¹å…»å¦ç”Ÿçš„硬件ç†è§£èƒ½åŠ›å’Œè½¯ä»¶ç¼–ç¨‹èƒ½åŠ›ï¼Œèµ·åˆ°ä¸¾ä¸€å 三的效果。 (6ï¼‰æ‰€é€‰å¼€å‘æ¿çš„ä»·æ ¼åœ¨ 500 元左å³ï¼Œä¸”å®¹æ˜“ä¹°åˆ°ï¼Œæ–¹ä¾¿å¦æ ¡å®žéªŒæ•™å¦ã€‚ 全书共 12 ç« ã€‚ç¬¬ 1 ç« å¯¹åµŒå…¥å¼ç³»ç»Ÿè¿›è¡Œæ¦‚述,介ç»åµŒå…¥å¼ç³»ç»Ÿçš„组æˆã€å®žæ—¶æ“作系 统ã€åµŒå…¥å¼ç³»ç»Ÿçš„软件ã€åµŒå…¥å¼ç³»ç»Ÿçš„分类ã€åµŒå…¥å¼ç³»ç»Ÿçš„应用领域ã€åµŒå…¥å¼ç³»ç»Ÿçš„体 系和嵌入å¼ç³»ç»Ÿçš„设计方法;第 2 ç« å¯¹åµŒå…¥å¼å¾®å¤„ç†å™¨è¿›è¡Œæ¦‚è¿°ï¼Œä»‹ç» Arm 嵌入å¼å¾®å¤„ ç†å™¨ã€åµŒå…¥å¼å¾®å¤„ç†å™¨çš„分类和特点ã€Cortex-M3 嵌入å¼å¾®å¤„ç†å™¨ï¼›ç¬¬ 3 ç« å¯¹ STM32 ç³» åˆ—å¾®æŽ§åˆ¶å™¨è¿›è¡Œæ¦‚è¿°ï¼Œä»‹ç» STM32F1 系列产å“系统架构和 STM32F103ZET6 内部架构〠STM32F103ZET6 çš„å˜å‚¨å™¨æ˜ åƒã€STM32F103ZET6 的时钟结构ã€STM32F103VET6 çš„ 引脚ã€STM32F103VET6 最å°ç³»ç»Ÿè®¾è®¡ï¼›ç¬¬ 4 ç« è®²è¿°åµŒå…¥å¼å¼€å‘环境的æå»ºï¼ŒåŒ…括 Keil MDK5 安装é…ç½®ã€Keil MDK 新工程的创建ã€Cortex-M3 å¾®æŽ§åˆ¶å™¨è½¯ä»¶æŽ¥å£æ ‡å‡† CMSIS〠STM32F103 开呿¿çš„选择和 STM32 仿真器的选择;第 5 ç« è®²è¿° STM32 䏿–ï¼ŒåŒ…æ‹¬ä¸æ– 概述ã€STM32F1 䏿–系统ã€STM32F1 å¤–éƒ¨ä¸æ–/事件控制器 EXTIã€STM32F1 çš„ä¸æ–系统 库函数ã€STM32F1 å¤–éƒ¨ä¸æ–设计æµç¨‹å’Œ STM32F1 å¤–éƒ¨ä¸æ–设计实例;第 6 ç« è®²è¿° STM32 GPIO,包 括 STM32 é€šç”¨è¾“å…¥è¾“å‡ºæŽ¥å£æ¦‚è¿°ã€GPIO 功能ã€GPIO 常用库函数ã€GPIO 使用æµç¨‹ã€ GPIO 输出应用实例和 GPIO 输入应用实例;第 7 ç« è®²è¿° STM32 定时器,包括 STM32 定时 器概述ã€åŸºæœ¬å®šæ—¶å™¨ã€é€šç”¨å®šæ—¶å™¨ã€å®šæ—¶å™¨åº“函数ã€å®šæ—¶å™¨åº”用实例和 SysTick 系统滴ç”定 时器;第 8 ç« è®²è¿° STM32 é€šç”¨åŒæ¥/å¼‚æ¥æ”¶å‘器,包括串行通信基础ã€STM32 çš„ USART 工作原ç†ã€USART 库函数和 USART 串行通信应用实例;第 9 ç« è®²è¿° STM32 SPI 串行总 线,包括 STM32 çš„ SPI 通信原ç†ã€STM32F1 SPI 串行总线的工作原ç†ã€STM32 çš„ SPI 库函 全书.indd 2 2024/3/7 15:46:49 å‰è¨€ III æ•°ã€STM32 SPI 与 Flash å˜å‚¨å™¨æŽ¥å£çš„应用实例;第 10 ç« è®²è¿° STM32 I2C 串行总线,包括 STM32 I2C 串行总线的通信原ç†ã€STM32 I2C 串行总线接å£ã€STM32F103 çš„ I2C 库函数和 STM32 I2C 与 EEPROM 接å£çš„应用实例;第 11 ç« è®²è¿° STM32 A/D 转æ¢å™¨ï¼ŒåŒ…括模拟é‡è¾“ 入通é“ã€æ¨¡æ‹Ÿé‡è¾“入信å·ç±»åž‹ä¸Žé‡ç¨‹è‡ªåŠ¨è½¬æ¢ã€STM32F103VET6 集æˆçš„ ADC 模å—ã€ADC 库函数和 A/D 转æ¢å™¨åº”用实例;第 12 ç« è®²è¿° STM32 DMA 控制器,包括 STM32 DMA çš„ 基本概念ã€DMA 的结构和主è¦ç‰¹å¾ã€DMA 的功能æè¿°ã€DMA 库函数和 DMA 应用实例。 本书结åˆç¼–è€…å¤šå¹´çš„ç§‘ç ”å’Œæ•™å¦ç»éªŒï¼Œéµå¾ªâ€œå¾ªåºæ¸è¿›ï¼Œç†è®ºä¸Žå®žè·µå¹¶é‡ï¼Œå…±æ€§ä¸Žä¸ªæ€§ 兼顾â€çš„原则,将ç†è®ºå®žè·µä¸€ä½“åŒ–çš„æ•™å¦æ–¹å¼èžå…¥å…¶ä¸ã€‚书ä¸å®žä¾‹å¼€å‘è¿‡ç¨‹ç”¨åˆ°çš„æ˜¯ç›®å‰ ä½¿ç”¨æœ€å¹¿æ³›çš„é‡Žç« STM32 F103- 霸é“开呿¿ï¼Œç”±æ¤å¼€å‘å„ç§åŠŸèƒ½ï¼Œä¹¦ä¸å®žä¾‹å‡è¿›è¡Œäº†è°ƒè¯•。 读者也å¯ä»¥ç»“åˆå®žé™…æˆ–æ‰‹é‡ŒçŽ°æœ‰çš„å¼€å‘æ¿å¼€å±•实验,å‡èƒ½èŽ·å¾—å®žéªŒç»“æžœã€‚ä¹¦ä¸å®žä¾‹ç”±æµ…å…¥ æ·±ï¼Œå±‚å±‚é€’è¿›ï¼Œåœ¨å¸®åŠ©è¯»è€…å¿«é€ŸæŽŒæ¡æŸä¸€å¤–è®¾åŠŸèƒ½çš„åŒæ—¶ï¼Œæœ‰æ•ˆèžåˆå…¶ä»–外部设备,如按键〠LED 显示ã€USART 串行通信ã€ADC å’Œå„ç±»ä¼ æ„Ÿå™¨ç‰ï¼Œè®¾è®¡åµŒå…¥å¼ç³»ç»Ÿï¼Œä½“现å¦ä¹ 的系统性。 本书数å—资æºä¸°å¯Œï¼Œé…有电åè¯¾ä»¶ã€æ•™å¦å¤§çº²ã€ä¹ 题åŠç”案ç‰ç”µåé…套资æºã€‚ 本书引用了大é‡å‚考文献,在æ¤ä¸€å¹¶å‘这些å‚考文献的作者表示真诚的感谢。由于编者 水平有é™ï¼ŒåŠ ä¸Šæ—¶é—´ä»“ä¿ƒï¼Œä¹¦ä¸ä¸å¦¥ä¹‹å¤„在所难å…,敬请广大读者ä¸å指æ£ã€‚ 编者 2024 å¹´ 1 月 全书.indd 3 2024/3/7 15:46:49