词条 | STM32F系列ARMCortex-M3核微控制器开发与应用 |
释义 | 基本信息作者: 喻金钱 喻斌 出版社:清华大学出版社 ISBN:9787302244424 上架时间:2011-4-14 出版日期:2011 年4月 开本:16开 页码:496 版次:1-1 内容简介《 stm32f系列armcortex-m3核微控制器开发与应用》从实际应用需求和开发过程中所遇到的问题出发,介绍了stm32f系列arm芯片内外设和各个 功能模块的应用。 《 stm32f系列armcortex-m3核微控制器开发与应用》没有涉及有关芯片的存储结构系统构架、指令集等理论性的知识,而是从最基本的应用要求出发,结合大量实例,依托库函数,详细讲解i/o接口、异步串口、系统时基定时器、spi接口、rtc、看门狗、定时器、i2c接口、can接口和模数转化器等外设接口的使用方法。《 stm32f系列armcortex-m3核微控制器开发与应用》注重实际操作和开发中的细节,对在开发过程中容易出错的情况作出提醒,并与读者分享作者在实际开发中的一些经验和感想,为有单片机和c语言基础的读者打开了通向嵌入式开发的大门。 《 stm32f系列armcortex-m3核微控制器开发与应用》可作为单片机爱好者的学习用书,也可作为嵌入式应用工程技术人员的学习和培训用书,同时可作为大学生学习单片机的教材。 目录《stm32f系列armcortex-m3核微控制器开发与应用》 第1部分 基础篇 第1章 开发板硬件结构 2 1.1 电路原理图 2 1.2 原理图说明 5 1.2.1 电源电路 5 1.2.2 系统复位电路 5 1.2.3 时钟电路 6 1.2.4 jtag接口电路 6 1.2.5 串口电路 6 1.2.6 键盘电路 7 1.2.7 led灯电路 8 1.2.8 i2c接口电路 8 1.2.9 adc电路 9 1.2.10 usb电路 10 1.2.11 can电路 10 1.2.12 语音采集和播放电路 10 1.2.13 spi接口电路 11 1.2.14 电动机驱动板接口电路 13 1.3 开发板元器件布局图 14 .1.3.1 跳线器说明 14 1.3.2 硬件资源使用 19 第2章 编译开发环境的建立 21 2.1 下载和安装ewarm 21 2.2 ide界面简介 24 2.3 生成一个新项目 25 2.3.1 建立项目文件目录,复制公共文件 25 2.3.2 生成新的工作区 25 2.3.3 生成新项目 26 2.3.4 给项目添加文件 27 2.4 修改应用文件 28 2.5 配置项目选项 29 2.5.1 通用选项设置 30 2.5.2 c/c++编译器选项设置 30 2.5.3 assembler选项设置 31 2.5.4 output converter选项设置 31 2.5.5 linker选项设置 32 2.6 flash loader demo下载器介绍 33 2.7 力源stm32f的isp下载器 36 2.8 串口调试助手介绍 37 第2部分 应用篇 第3章 通用和复用功能i/o口 40 3.1 概述 40 3.1.1 通用i/o 40 3.1.2 单独的位设置或位清除 41 3.1.3 外部中断/唤醒线 41 3.1.4 复用功能 41 3.1.5 软件重新映射i/o复用功能 41 3.1.6 gpio锁定机制 41 3.1.7 输入配置 42 3.1.8 输出配置 42 3.1.9 复用功能配置 42 3.1.10 模拟输入配置 43 3.2 库函数 43 3.2.1 函数gpio_init 43 3.2.2 函数gpio_setbits 45 3.2.3 函数gpio_resetbits 45 3.2.4 函数gpio_writebit 46 3.2.5 函数gpio_write 46 3.2.6 函数gpio_readoutputdatabit 47 3.2.7 函数gpio_readoutputdata 47 3.2.8 函数gpio_readinputdatabit 48 3.2.9 函数gpio_readinputdata 48 3.3 i/o端口的外设映射 49 3.3.1 将osc32_in/osc32_out作为pc14/pc15端口 49 3.3.2 将osc_in/osc_out引脚作为pd0/pd1端口 49 3.3.3 can复用功能重映射 50 3.3.4 jtag/swd复用功能重映射 50 3.3.5 adc复用功能重映射 51 3.3.6 定时器复用功能重映射 51 3.3.7 usart复用功能重映射 53 3.3.8 i2c1复用功能重映射 53 3.3.9 spi1复用功能重映射 53 3.4 位运算 54 3.4.1 移位运算 54 3.4.2 按位与运算 57 3.4.3 按位或运算 57 3.4.4 取反运算 58 3.4.5 异或运算 58 3.5 i/o口输出实例1——控制led灯 59 3.5.1 实例要求 59 3.5.2 硬件基础 59 3.5.3 软件结构 59 3.5.4 实例代码 60 3.5.5 编译下载和调试 68 3.6 i/o口输出实例2——流水灯 68 3.6.1 实例要求 68 3.6.2 硬件基础 68 3.6.3 软件结构 69 3.6.4 实例代码 70 3.6.5 编译下载和调试 71 3.7 i/o口输入实例——按键输入1 72 3.7.1 实例要求 72 3.7.2 硬件基础 72 3.7.3 软件结构 72 3.7.4 实例代码 73 3.7.5 编译下载和调试 75 3.8 i/o口输入实例——按键输入2 76 第4章 usart串口的一般应用 79 4.1 usart介绍 79 4.1.1 usart主要特性 79 4.1.2 usart功能概述 80 4.1.3 发送器 80 4.1.4 接收器 82 4.1.5 分数比特率的产生 83 4.1.6 多处理器通信 84 4.1.7 lin模式 84 4.1.8 usart同步模式 85 4.1.9 单线半双工通信 87 4.1.10 智能卡 87 4.1.11 irda sir endec功能块 89 4.1.12 usart中断请求 90 4.1.13 usart模式配置 91 4.2 usart串口库函数介绍 91 4.2.1 函数usart_init 91 4.2.2 函数usart_cmd 94 4.2.3 函数usart_itconfig 94 4.2.4 函数usart_senddata 95 4.2.5 函数usart_receivedata 95 4.2.6 函数usart_getflagstatus 96 4.2.7 函数usart_clearflag 97 4.2.8 函数usart_getitstatus 97 4.3 不同型号芯片的usart串口复用重映射 98 4.3.1 引脚为36的系列芯片和引脚为 48和64,容量为32kb的芯片 98 4.3.2 引脚为48的中容量芯片 99 4.3.3 引脚为64的中容量芯片 99 4.3.4 引脚为100的中容量芯片 100 4.3.5 引脚为64的大容量芯片 101 4.3.6 引脚为144的系列芯片和引脚为100的高容量芯片 102 4.4 usart通信实例1——串口发送数据 102 4.4.1 实例要求 102 4.4.2 硬件基础 103 4.4.3 软件结构 103 4.4.4 实例代码 106 4.4.5 编译下载和调试 108 4.5 usart通信实例2——中断接收数据方式 109 4.5.1 实例要求 109 4.5.2 硬件基础 109 4.5.3 软件结构 109 4.5.4 实例代码 110 4.5.5 编译下载和调试 112 4.6 使用队列收发数据实例 112 第5章 系统时基定时器 115 5.1 概述 115 5.2 库函数介绍 115 5.2.1 函数systick_clksourceconfig 115 5.2.2 函数systick_setreload 116 5.2.3 函数systick_countercmd 116 5.2.4 函数systick_itconfig 117 5.2.5 函数systick_getcounter 117 5.3 系统时基定时器实例1——嘀嗒实例 118 5.3.1 实例要求 118 5.3.2 软件结构 118 5.3.3 实例代码 119 5.3.4 编译下载和调试 120 5.4 系统时基定时器实例2——有实际应用意义的键盘实例 120 5.4.1 实例要求 120 5.4.2 软件结构 120 5.4.3 实例代码 121 5.4.4 编译下载和调试 124 第6章 外部中断和中断控制器 127 6.1 嵌套向量中断控制器 127 6.1.1 概述 127 6.1.2 中断和异常向量 127 6.1.3 中断优先级介绍 129 6.2 外部中断/事件控制器 131 6.2.1 exti控制器的主要特征 131 6.2.2 唤醒事件管理 131 6.2.3 功能说明 132 6.2.4 外部中断/事件线路映射 132 6.3 nvic库函数介绍 133 6.3.1 函数nvic_deinit 133 6.3.2 函数nvic_prioritygroupconfig 134 6.3.3 函数nvic_init 135 6.3.4 函数nvic_setvectortable 138 6.4 外部中断控制器库函数介绍 138 6.4.1 函数exti_deinit 138 6.4.2 函数exti_init 139 6.4.3 函数exti_generateswinterrupt 141 6.4.4 函数exti_getflagstatus 141 6.4.5 函数exti_clearflag 141 6.4.6 函数exti_getitstatus 142 6.5 外部中断实例 142 6.5.1 实例目的 142 6.5.2 实例要求 142 6.5.3 硬件基础 143 6.5.4 软件结构 143 6.5.5 实例代码 144 6.5.6 编译下载和调试 146 6.6 中断嵌套实例 146 6.6.1 实例目的 146 6.6.2 实例要求 146 6.6.3 硬件基础 146 6.6.4 软件结构 146 6.6.5 实例代码 148 6.6.6 编译下载和调试 149 第7章 复位和系统时钟 151 7.1 复位 151 7.1.1 系统复位 151 7.1.2 电源复位 152 7.1.3 备份区域复位 152 7.2 时钟 152 7.2.1 hse时钟 153 7.2.2 hsi时钟 154 7.2.3 pll 154 7.2.4 lse时钟 155 7.2.5 lsi时钟 155 7.2.6 系统时钟选择 156 7.2.7 时钟安全系统 156 7.2.8 rtc时钟 156 7.2.9 看门狗时钟 157 7.2.10 时钟输出 157 7.3 外设时钟 157 7.4 rcc库函数 158 7.4.1 函数rcc_deinit 158 7.4.2 函数rcc_hseconfig 158 7.4.3 函数rcc_waitforhsestartup 159 7.4.4 函数rcc_pllconfig 159 7.4.5 函数rcc_pllcmd 161 7.4.6 函数rcc_sysclkconfig 161 7.4.7 函数rcc_getsysclksource 162 7.4.8 函数rcc_hclkconfig 162 7.4.9 函数rcc_pclk1config 163 7.4.10 函数rcc_pclk2config 164 7.4.11 函数rcc_usbclkconfig 164 7.4.12 函数rcc_adcclkconfig 165 7.4.13 函数rcc_lseconfig 165 7.4.14 函数rcc_rtcclkconfig 166 7.4.15 函数rcc_rtcclkcmd 167 7.4.16 函数rcc_ahbperiph clockcmd 167 7.4.17 函数rcc_apb1periph clockcmd 168 7.4.18 函数rcc_apb2periph clockcmd 169 7.4.19 函数rcc_getflagstatus 170 7.5 系统时钟的建立 171 7.5.1 如何建立时钟 171 7.5.2 实例代码 171 第8章 实时时钟和备份寄存器 173 8.1 rtc简介 173 8.1.1 主要特性 173 8.1.2 复位过程 173 8.1.3 概述 173 8.1.4 基本操作 174 8.1.5 后备域和rtc供电 175 8.1.6 低功耗模式下的自动唤醒 176 8.2 bkp简介 176 8.2.1 bkp特性 176 8.2.2 侵入检测 177 8.3 rtc实时时钟库函数介绍 177 8.3.1 函数rtc_itconfig 177 8.3.2 函数rtc_enterconfigmode 178 8.3.3 函数rtc_exitconfigmode 178 8.3.4 函数rtc_getcounter 179 8.3.5 函数rtc_setcounter 179 8.3.6 函数rtc_setprescaler 180 8.3.7 函数rtc_setalarm 180 8.3.8 函数rtc_waitforlasttask 181 8.3.9 函数rtc_waitforsynchro 181 8.3.10 函数rtc_getflagstatus 182 8.3.11 函数rtc_clearflag 182 8.3.12 函数rtc_getitstatus 183 8.4 bkp后备域库函数介绍 183 8.4.1 函数bkp_deinit 183 8.4.2 函数bkp_tamperpinlevelconfig 184 8.4.3 函数bkp_tamperpincmd 184 8.4.4 函数bkp_writebackupregister 185 8.4.5 函数bkp_readbackupregister 186 8.4.6 函数bkp_clearitpendingbit 186 8.5 实时时钟实例——万年历 186 8.5.1 实例目的 186 8.5.2 实例要求 187 8.5.3 硬件基础 187 8.5.4 软件结构 187 8.5.5 实例代码 188 8.5.6 编译下载和调试 191 8.6 在后备域中保存数据 192 8.6.1 实例要求 192 8.6.2 硬件基础 192 8.6.3 软件结构 192 8.6.4 实例代码 193 8.6.5 编译下载和调试 194 第9章 通用spi的一般应用 195 9.1 spi简介 195 9.1.1 spi特征 195 9.1.2 spi引脚描述 196 9.1.3 数据传输模式 197 9.1.4 spi从模式 198 9.1.5 spi主模式 198 9.1.6 状态标志 199 9.1.7 利用dma的spi通信 200 9.1.8 spi中断 200 9.2 spi库函数介绍 200 9.2.1 函数spi_deinit 200 9.2.2 函数spi_init 201 9.2.3 函数spi_cmd 203 9.2.4 函数spi_itconfig 204 9.2.5 函数spi_dmacmd 205 9.2.6 函数spi_senddata 205 9.2.7 函数spi_receivedata 206 9.2.8 函数spi_getflagstatus 206 9.2.9 函数spi_clearflag 207 9.2.10 函数spi_getitstatus 207 9.2.11 函数spi_clearitpendingbit 208 9.3 spi使用 208 9.3.1 spi初始化 208 9.3.2 spi主机发送/接收数据 210 9.3.3 完整的初始化和收发数据代码 211 第10章 i2c接口的一般应用 213 10.1 i2c简介 213 10.2 i2c功能描述 213 10.2.1 模式选择 214 10.2.2 通信流 214 10.2.3 i2c从模式 214 10.2.4 i2c主模式 216 10.2.5 错误条件 219 10.2.6 sda/scl线控制 219 10.2.7 smbus 220 10.2.8 dma请求 222 10.2.9 i2c中断请求 223 10.3 i2c库函数介绍 225 10.3.1 函数i2c_deinit 225 10.3.2 函数i2c_init 225 10.3.3 函数i2c_cmd 227 10.3.4 函数i2c_generatestart 227 10.3.5 函数i2c_generatestop 228 10.3.6 函数i2c_acknowledgeconfig 228 10.3.7 函数i2c_ownaddress2config 228 10.3.8 函数i2c_dualaddresscmd 229 10.3.9 函数i2c_generalcallcmd 229 10.3.10 函数i2c_itconfig 230 10.3.11 函数i2c_senddata 230 10.3.12 函数i2c_receivedata 231 10.3.13 函数i2c_send7bitaddress 231 10.3.14 函数i2c_readregister 232 10.3.15 函数i2c_softwareresetcmd 233 10.3.16 函数i2c_getlastevent 233 10.3.17 函数i2c_checkevent 234 10.4 i2c读写24c02 235 10.4.1 实例要求 235 10.4.2 硬件基础 235 10.4.3 24c02器件介绍 235 10.4.4 软件结构 237 10.4.5 实例代码 238 10.4.6 编译下载和调试 241 第11章 adc的一般应用 243 11.1 adc介绍 243 11.1.1 adc主要特征 243 11.1.2 adc功能描述 243 11.1.3 校准 246 11.1.4 数据对齐 247 11.1.5 可编程的通道采样时间 247 11.1.6 外部触发转换 247 11.1.7 dma请求 249 11.1.8 双adc模式 249 11.1.9 温度传感器 250 11.1.10 adc中断 251 11.2 实现adc最佳精度 251 11.2.1 adc模块自身相关的误差 251 11.2.2 与环境相关的adc误差 254 11.2.3 如何减小与外部环境相关的adc误差 257 11.3 adc库函数介绍 265 11.3.1 函数adc_deinit 265 11.3.2 函数adc_init 265 11.3.3 函数adc_cmd 267 11.3.4 函数adc_dmacmd 267 11.3.5 函数adc_itconfig 268 11.3.6 函数adc_resetcalibration 268 11.3.7 函数adc_getreset calibrationstatus 269 11.3.8 函数adc_startcalibration 269 11.3.9 函数adc_getcalibrationstatus 270 11.3.10 函数adc_softwarestart convcmd 270 11.3.11 函数adc_discmodechannel countconfig 270 11.3.12 函数adc_discmodecmd 271 11.3.13 函数adc_regularchannel config 271 11.3.14 函数adc_externaltrig convconfig 273 11.3.15 函数adc_getconversionvalue 273 11.3.16 函数adc_getduelmode conversionvalue 273 11.3.17 函数adc_autoinjected convcmd 274 11.3.18 函数adc_injecteddisc modecmd 274 11.3.19 函数adc_externaltriginjected convconfig 275 11.3.20 函数adc_externaltriginjected convcmd 276 11.3.21 函数adc_softwarestartinjected convcmd 276 11.3.22 函数adc_getsoftwarestartinjected convstatus 276 11.3.23 函数adc_injectedchannle config 277 11.3.24 函数adc_injectedsequencer lengthconfig 277 11.3.25 函数adc_setinjectedoffset 278 11.3.26 函数adc_getinjected conversionvalue 279 11.3.27 函数adc_tampsensor vrefintcmd 279 11.3.28 函数adc_getflagstatus 279 11.3.29 函数adc_clearflag 280 11.4 adc数据采集实例1——单通道数据采集 281 11.4.1 实例要求 281 11.4.2 硬件基础 281 11.4.3 软件结构 281 11.4.4 实例代码 283 11.4.5 编译下载和调试 287 11.5 adc数据采集实例2——芯片温度采集 288 11.5.1 实例要求 288 11.5.2 硬件基础 288 11.5.3 软件结构 288 11.5.4 实例代码 288 11.5.5 编译下载和调试 292 第12章 嵌入式闪存的基本操作 293 12.1 嵌入式闪存介绍 293 12.1.1 特性 293 12.1.2 闪存模块组织 293 12.1.3 读操作 294 12.1.4 闪存编程和擦除控制器 295 12.2 flash固件库函数介绍 300 12.2.1 函数flash_setlatency 300 12.2.2 函数flash_halfcycle accesscmd 301 12.2.3 函数flash_prefetchbuffercmd 302 12.2.4 函数flash_unlock 302 12.2.5 函数flash_lock 303 12.2.6 函数flash_erasepage 303 12.2.7 函数flash_eraseallpages 303 12.2.8 函数flash_eraseoptionbytes 304 12.2.9 函数flash_programword 304 12.2.10 函数flash_programhalfword 305 12.2.11 函数flash_programoption bytedata 305 12.2.12 函数flash_enablewrite protection 306 12.2.13 函数flash_readout protection 307 12.2.14 函数flash_useroption byteconfig 308 12.2.15 函数flash_getuser optionbyte 309 12.2.16 函数flash_getwriteprotection optionbyte 309 12.2.17 函数flash_getreadout protectionstatus 310 12.2.18 函数flash_getprefetch bufferstatus 310 12.2.19 函数flash_itconfig 311 12.2.20 函数flash_getflagstatus 311 12.2.21 函数flash_clearflag 312 12.2.22 函数flash_getstatus 313 12.2.23 函数flash_waitfor lastoperation 313 12.3 flash读写实例 314 12.3.1 实例要求 314 12.3.2 硬件基础 314 12.3.3 软件结构 314 12.3.4 实例代码 314 12.3.5 编译下载和调试 316 第13章 定时器的一般应用 317 13.1 定时器功能简介 317 13.1.1 timx主要功能 317 13.1.2 timx功能描述 318 13.2 定时器固件库函数介绍 333 13.2.1 函数tim_deinit 333 13.2.2 函数tim_timebaseinit 334 13.2.3 函数tim_oc1init 335 13.2.4 函数tim_oc2init 337 13.2.5 函数tim_oc3init 338 13.2.6 函数tim_oc4init 339 13.2.7 函数tim_icinit 339 13.2.8 函数tim_bdtrconfig 341 13.2.9 函数tim_cmd 343 13.2.10 函数tim_ctrlpwmoutputs 343 13.2.11 函数tim_itconfig 344 13.2.12 函数tim_selectinputtrigger 345 13.2.13 函数tim_encoderinterface config 345 13.2.14 函数tim_arrpreloadconfig 346 13.2.15 函数tim_ccpreloadcontrol 347 13.2.16 函数tim_oc1preloadconfig 347 13.2.17 函数tim_oc2preloadconfig 348 13.2.18 函数tim_oc3preloadconfig 348 13.2.19 函数tim_oc4preloadconfig 349 13.2.20 函数tim_selectoutputtrigger 349 13.2.21 函数tim_selectslavemode 350 13.2.22 函数tim_selectmaster slavemode 350 13.2.23 函数tim_setcounter 351 13.2.24 函数tim_setautoreload 351 13.2.25 函数tim_getcounter 352 13.2.26 函数tim_getprescaler 352 13.2.27 函数tim_getflagstatus 353 13.2.28 函数tim_clearflag 354 13.2.29 函数tim_getitstatus 354 13.2.30 函数tim_clearitpendingbit 354 13.3 time应用实例1——简单定时器应用 355 13.3.1 实例要求 355 13.3.2 硬件基础 355 13.3.3 软件结构 355 13.3.4 实例代码 360 13.3.5 编译下载和调试 363 13.4 time应用实例2——使用一个定时器产生4路不同占空比的pwm 363 13.4.1 实例目的 363 13.4.2 实例要求 363 13.4.3 硬件基础 363 13.4.4 软件结构 363 13.4.5 实例代码 366 13.4.6 编译下载和调试 368 13.5 time应用实例3——使用定时器产生4路不同占空比和频率的pwm 368 13.5.1 实例目的 368 13.5.2 实例要求 368 13.5.3 硬件基础 369 13.5.4 软件结构 369 13.5.5 实例代码 373 13.5.6 编译下载和调试 375 13.6 time应用实例4——定时器同步 375 13.6.1 实例目的 375 13.6.2 实例要求 375 13.6.3 软件结构 376 13.6.4 实例代码 378 13.6.5 编译下载和调试 381 第14章 独立看门狗和窗口看门狗定时器 382 14.1 独立看门狗一般特性介绍 382 14.1.1 iwdg主要特性 382 14.1.2 iwdg功能描述 383 14.1.3 硬件看门狗 383 14.1.4 寄存器访问保护 383 14.2 窗口看门狗一般特性介绍 383 14.2.1 wwdg主要特性 384 14.2.2 wwdg功能描述 384 14.3 独立看门狗库函数介绍 385 14.3.1 函数iwdg_writeaccesscmd 386 14.3.2 函数iwdg_setprescaler 386 14.3.3 函数iwdg_setreload 387 14.3.4 函数iwdg_reloadcounter 387 14.3.5 函数iwdg_enable 388 14.4 窗口看门狗库函数介绍 388 14.4.1 函数wwdg_deinit 388 14.4.2 函数wwdg_setprescaler 388 14.4.3 函数wwdg_setwindow value 389 14.4.4 函数wwdg_enableit 390 14.4.5 函数wwdg_setcounter 390 14.4.6 函数wwdg_enable 390 14.4.7 函数wwdg_getflagstatus 391 14.4.8 函数wwdg_clearflag 391 14.5 独立看门狗实例 392 14.5.1 实例目的 392 14.5.2 实例要求 392 14.5.3 硬件基础 392 14.5.4 软件结构 392 14.5.5 实例代码 393 14.5.6 编译下载和调试 394 14.6 窗口看门狗实例 395 14.6.1 实例目的 395 14.6.2 实例要求 395 14.6.3 硬件基础 395 14.6.4 软件结构 395 14.6.5 实例代码 396 14.6.6 编译下载和调试 398 第15章 控制器局域网can的一般应用 400 15.1 can介绍 400 15.1.1 bxcan主要特点 400 15.1.2 总体描述 401 15.1.3 bxcan工作模式 401 15.1.4 bxcan发送处理 403 15.1.5 时间触发通信模式 404 15.1.6 接收管理 404 15.1.7 标识符过滤 405 15.1.8 报文存储 407 15.1.9 出错管理 407 15.1.10 位时间特性 408 15.1.11 bxcan中断 408 15.2 bxcan库函数介绍 409 15.2.1 函数can_deinit 409 15.2.2 函数can_init 409 15.2.3 函数can_filterinit 411 15.2.4 函数can_structinit 413 15.2.5 函数can_itconfig 414 15.2.6 函数can_transmit 415 15.2.7 函数can_transmitstatus 416 15.2.8 函数can_canceltransmit 416 15.2.9 函数can_fiforelease 417 15.2.10 函数can_messagepending 417 15.2.11 函数can_receive 418 15.2.12 函数can_sleep 419 15.2.13 函数can_wakeup 419 15.2.14 函数can_getflagstatus 420 15.2.15 函数can_clearflag 420 15.2.16 函数can_getitstatus 421 15.2.17 函数can_clearitpendingbit 421 15.3 can收发数据实例 422 15.3.1 实例目的 422 15.3.2 实例要求 422 15.3.3 硬件基础 422 15.3.4 软件结构 423 15.3.5 实例代码 424 15.3.6 编译下载和调试 427 第3部分 提高篇 第16章 gps数据解析 430 16.1 gps数据协议解析 430 16.1.1 gps概述 430 16.1.2 gps介绍 430 16.1.3 gps数据结构介绍 431 16.2 gps数据解析实例 434 16.2.1 实例要求 434 16.2.2 硬件基础 434 16.2.3 软件结构 434 16.2.4 实例代码 435 第17章 串行flash数据储存方案 450 17.1 串行flash概述 450 17.1.1 sst25vf016b概述 450 17.1.2 sst25vf016b引脚说明 451 17.1.3 sst25vf016b接口电路 451 17.2 api软件包 452 17.2.1 软件包结构 452 17.2.2 spi初始化 452 17.2.3 读数据api 455 17.2.4 写数据api 456 17.2.5 flash擦除api 457 17.2.6 读id 459 17.3 flash数据读写实例 459 17.3.1 实例目的 460 17.3.2 实例要求 460 17.3.3 硬件基础 460 17.3.4 实例代码 460 17.3.5 编译下载和调试 463 第18章 2.4g微功耗短距离无线模块应用 464 18.1 微功耗短距离无线通信 464 18.1.1 微功耗短距离无线通信概述 464 18.1.2 短距离微功耗无线应用 464 18.2 2.4g无线模块介绍 465 18.2.1 芯片的架构 465 18.2.2 芯片主要特点 465 18.2.3 功能概述 466 18.2.4 寄存器介绍 470 18.3 无线模块相关api函数集 471 18.3.1 无线芯片的spi接口 471 18.3.2 复位 473 18.3.3 无线模块功能api软件函数集 474 18.4 数据发送/接收的时序 477 18.4.1 数据发送/接收时序 477 18.4.2 无线发送/接收数据api函数 478 18.5 读无线芯片寄存器实例 479 18.5.1 实例目的 479 18.5.2 实例要求 479 18.5.3 硬件基础 479 18.5.4 软件结构 480 18.5.5 实例代码 480 18.6 双向无线数据收发实例 484 18.6.1 实例目的 484 18.6.2 实例要求 484 18.6.3 硬件基础 485 18.6.4 实例代码 485 18.6.5 编译下载和调试 489 附录a iar工程转mdk工程 490 附录b arm处理器:选择arm7还是cortex-m3 492 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。