没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32固件函数库用户手册-快速入门与外设驱动
STM32固件函数库用户手册-快速入门与外设驱动
需积分: 2 1 下载量 45 浏览量
更新于2024-07-28
收藏 4.46MB PDF 举报
"STM32固件函数库使用手册提供了关于32位基于ARM的STM32F101xx和STM32F103xx微控制器的固件库详细指南,旨在帮助用户轻松利用微控制器的所有外设功能。手册包含程序、数据结构和宏,以及每个外设的驱动描述和应用示例。通过使用提供的API,用户可以减少开发时间和成本。库函数遵循严格的ANSI-C标准,与MISRA-C2004兼容,并进行了源代码文档化。此外,库内含实时错误检测机制,可增强软件的健壮性,但可按需在最终应用中优化代码大小和执行速度。虽然固件库通用,可能不保证最佳的代码效率,但对于大多数应用,用户可以直接使用。对于有特殊要求的应用,库可作为外设配置的参考。手册结构包括定义、库概述、安装指南、具体外设函数描述等内容。STM32F101xx和STM32F103xx在文档中统称为STM32F101x。"
STM32固件函数库是针对STM32系列微控制器的一个重要工具,它包含了用于控制和管理这些设备各种外设的函数集合。STM32F101xx和STM32F103xx是基于ARM Cortex-M3内核的32位微控制器,具有丰富的外设接口,如GPIO、ADC、DAC、定时器、串行通信接口等。
该库的主要特点包括:
1. **驱动程序结构**:每个外设驱动由一组函数构成,覆盖了外设的所有功能。这些函数遵循统一的API,便于开发者理解和使用。
2. **语言标准**:库函数遵循严格的ANSI-C标准,确保在不同开发环境下的一致性。同时,源代码符合MISRA-C2004编码规范,提高了代码质量。
3. **实时错误检测**:库中实现的输入值校验可在开发阶段帮助发现和调试错误,提高软件的健壮性。不过,这一特性在优化生产代码时可以被移除以减小代码体积和提升执行速度。
4. **通用性和可定制性**:尽管固件库设计为通用,适用于多种应用场景,但用户可以根据特定需求对库进行调整,以达到最佳的代码效率和执行性能。
5. **应用示例**:手册提供应用示例,帮助用户快速理解和学习如何使用库函数操作各个外设。
6. **文档完备**:除了函数描述,手册还包含定义、文档约定和使用规则,方便开发者参考。
7. **安装和使用指南**:用户可以依据手册中的指南进行库的安装和实例应用,以快速上手。
通过STM32固件函数库,开发者能够更高效地开发基于STM32微控制器的嵌入式系统,减少了对外设底层硬件细节的依赖,降低了开发难度,同时也为复杂和性能要求高的应用提供了基础和参考。
表格目录
16/368
译文英文原版为 UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准
Table 210. I2C_Ack 值.................................................................................................................................. 138
Table 211. I2C_AcknowledgedAddres 值 ..................................................................................................... 138
Table 212. 函数 I2C_StructInit .................................................................................................................... 138
Table 213. I2C_InitStruct 缺省值.................................................................................................................. 138
Table 214. 函数 I2C_ Cmd........................................................................................................................... 139
Table 215. 函数 I2C_ DMACmd ................................................................................................................. 139
Table 216. 函数 I2C_ DMALastTransferCmd ............................................................................................. 140
Table 217. 函数 I2C_ GenerateSTART........................................................................................................ 140
Table 218. 函数 I2C_ GenerateSTOP .......................................................................................................... 141
Table 219. 函数 I2C_ AcknowledgeConfig.................................................................................................. 141
Table 220. 函数 I2C_ OwnAddress2Config................................................................................................. 142
Table 221. 函数 I2C_ DualAddressCmd...................................................................................................... 142
Table 222. 函数 I2C_ GeneralCallCmd ....................................................................................................... 143
Table 223. 函数 I2C_ITConfig..................................................................................................................... 143
Table 224. I2C_IT 值..................................................................................................................................... 143
Table 225. 函数 I2C_ SendData...................................................................................................................144
Table 226. 函数 I2C_ReceiveData............................................................................................................... 144
Table 227. 函数 I2C_ Send7bitAddress ....................................................................................................... 145
Table 228. I2C_Direction 值 ......................................................................................................................... 145
Table 229. 函数 I2C_ ReadRegister............................................................................................................. 145
Table 230. I2C_Register 值 ........................................................................................................................... 146
Table 231. 函数 I2C_ SoftwareResetCmd.................................................................................................... 146
Table 232. 函数 I2C_ SMBusAlertConfig ................................................................................................... 147
Table 233. I2C_ SMBusAlert 值 ................................................................................................................... 147
Table 234. 函数 I2C_ TransmitPEC............................................................................................................. 147
Table 235. 函数 I2C_ PECPositionConfig................................................................................................... 148
Table 236. I2C_ PECPosition 值 ................................................................................................................... 148
Table 237. 函数 I2C_ CalculatePEC............................................................................................................ 14
8
Table 238. 函数 I2C_ GetPEC .....................................................................................................................149
Table 239. 函数 I2C_ ARPCmd ................................................................................................................... 149
Table 240. 函数 I2C_ StretchClockCmd...................................................................................................... 150
Table 241. 函数 I2C_ FastModeDutyCycleConfig ...................................................................................... 150
Table 242. I2C_DutyCycle 值 ....................................................................................................................... 150
Table 243. 函数 I2C_ GetLastEvent............................................................................................................. 151
Table 244. 函数 I2C_ CheckEvent............................................................................................................... 151
Table 245. I2C_Event 值 ............................................................................................................................... 151
Table 246. 函数 I2C_ GetFlagStatus............................................................................................................ 152
Table 247. I2C_FLAG 值 .............................................................................................................................. 152
Table 248. 函数 I2C_ ClearFlag................................................................................................................... 153
Table 249. I2C_FLAG 值 .............................................................................................................................. 153
Table 250. 函数 I2C_ GetITStatus ............................................................................................................... 154
Table 251. I2C_IT 值..................................................................................................................................... 154
Table 252. 函数 I2C_ ClearITPendingBit .................................................................................................... 155
Table 253. I2C_IT 值..................................................................................................................................... 155
Table 254. IWDG 寄存器.............................................................................................................................. 156
Table 255. IWDG 库函数.............................................................................................................................. 157
Table 256. 函数 IWDG_WriteAccessCmd................................................................................................... 157
Table 257. IWDG_WriteAccess 值 ............................................................................................................... 157
Table 258. 函数 IWDG_SetPrescaler........................................................................................................... 158
Table 259. IWDG_Prescaler 值 ..................................................................................................................... 158
Table 260. 函数 IWDG_ SetReload ............................................................................................................. 158
Table 261. 函数 IWDG_ReloadCounter....................................................................................................... 159
Table 262. 函数 IWDG_Enable.................................................................................................................... 159
表格目录
17/368
译文英文原版为 UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准
Table 263. 函数 IWDG_GetFlagStatus........................................................................................................ 159
Table 264. IWDG_FLAG 值 ......................................................................................................................... 160
Table 265. NVIC 寄存器............................................................................................................................... 161
Table 266. NVIC 库函数............................................................................................................................... 163
Table 267. 函数 NVIC_DeInit...................................................................................................................... 164
Table 268. 函数 NVIC_SCBDeInit.............................................................................................................. 164
Table 269. 函数 NVIC_PriorityGroupConfig .............................................................................................. 165
Table 270. NVIC_PriorityGroup 值 .............................................................................................................. 165
Table 271. 函数 NVIC_Init .......................................................................................................................... 166
Table 272. NVIC_IRQChannel 值................................................................................................................. 166
Table 273. 先占优先级和从优先级值......................................................................................................... 167
Table 274. 函数 NVIC_StructInit.................................................................................................................168
Table 275. NVIC_InitStruct 缺省值.............................................................................................................. 168
Table 276. 函数 NVIC_SETPRIMASK....................................................................................................... 169
Table 277. 函数 NVIC_RESETPRIMASK.................................................................................................. 169
Table 278. 函数 NVIC_SETFAULTMASK................................................................................................. 170
Table 279. 函数 NVIC_ RESETFAULTMASK........................................................................................... 170
Table 280. 函数 NVIC_ BASEPRICONFIG................................................................................................ 171
Table 281. 函数 NVIC_GetBASEPRI.......................................................................................................... 171
Table 282. 函数 NVIC_GetCurrentPendingIRQChannel............................................................................. 172
Table 283. 函数 NVIC_GetIRQChannelPendingBitStatus .......................................................................... 172
Table 284. 函数 NVIC_ SetIRQChannelPendingBit.................................................................................... 173
Table 285. 函数 NVIC_ ClearIRQChannelPendingBit................................................................................ 173
Table 286. 函数 NVIC_GetCurrentActiveHandler ...................................................................................... 174
Table 287. 函数 NVIC_GetIRQChannelActiveBitStatus............................................................................. 174
Table 288. 函数 NVIC_GetCPUID.............................................................................................................. 175
Table 289. 函数 NVIC_SetVectorTable ....................................................................................................... 175
Table 290. NVIC_ VectTab 值....................................................................................................................... 175
Table 291. 函数 NVIC_GenerateSystemReset............................................................................................. 176
Table 292. 函数 NVIC_GenerateCoreReset................................................................................................. 176
Table 293. 函数 NVIC_SystemLPConfig .................................................................................................... 177
Table 294. LowPowerMode 值...................................................................................................................... 177
Table 295. 函数 NVIC_SystemHandlerConfig............................................................................................ 177
Table 296. SystemHandler 值........................................................................................................................ 178
Table 297. SystemHandler 定义.................................................................................................................... 178
Table 298. SystemHandler_NMI 定义 .......................................................................................................... 179
Table 299. SystemHandler_HardFault 定义.................................................................................................. 179
Table 300. SystemHandler_MemoryManage 定义 ....................................................................................... 179
Table 301. SystemHandler_BusFault 定义.................................................................................................... 180
Table 302. SystemHandler_UsageFault 定义................................................................................................ 180
Table 303. SystemHandler_SVCall 定义 ...................................................................................................... 180
Table 304. SystemHandler_DebugMoniter 定义 .......................................................................................... 181
Table 305. SystemHandler_PSV 定义........................................................................................................... 181
Table 306. SystemHandler_Systick 定义 ...................................................................................................... 181
Table 307. 函数 NVIC_SystemHandlerPriorityConfig................................................................................ 182
Table 308. SystemHandler 类型.................................................................................................................... 182
Table 309. 函数 NVIC_GetSystemHandlerPendingBitStatus...................................................................... 183
Table 310. SystemHandler 类型.................................................................................................................... 183
Table 311. 函数 NVIC_ SetSystemHandlerPendingBit ............................................................................... 183
Table 312. SystemHandler 类型.................................................................................................................... 184
Table 313. 函数 NVIC_ClearSystemHandlerPendingBit............................................................................. 184
Table 314. SystemHandler 类型.................................................................................................................... 184
Table 315. 函数 NVIC_ GetSystemHandlerActiveBitStatus ....................................................................... 184
表格目录
18/368
译文英文原版为 UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准
Table 316. SystemHandler 类型.................................................................................................................... 185
Table 317. 函数 NVIC_ GetFaultHandlerSources ....................................................................................... 185
Table 318. SystemHandler 类型.................................................................................................................... 185
Table 319. 函数 NVIC_GetFaultAddress..................................................................................................... 186
Table 320. SystemHandler 类型.................................................................................................................... 186
Table 321. PWR 寄存器................................................................................................................................187
Table 322. PWR 库函数................................................................................................................................188
Table 323. 函数 PWR_DeInit....................................................................................................................... 188
Table 324. 函数 PWR_BackupAccessCmd.................................................................................................. 189
Table 325. 函数 PWR_PVDCmd................................................................................................................. 189
Table 326. 函数 PWR_PVDLevelConfig..................................................................................................... 190
Table 327. PWR_PVDLevel 值..................................................................................................................... 190
Table 328. 函数 PWR_WakeUpPinCmd...................................................................................................... 190
Table 329. 函数 PWR_EnterSTOPMode ..................................................................................................... 191
Table 330. PWR_Regulator 值 ...................................................................................................................... 191
Table 331. PWR_Regulator 值 ...................................................................................................................... 191
Table 332. 函数 PWR_EnterSTANDBYMode ............................................................................................ 191
Table 333. 函数 PWR_GetFlagStatus .......................................................................................................... 192
Table 334. PWR_FLAG 值 ........................................................................................................................... 192
Table 335. 函数 PWR_ClearFlag................................................................................................................. 192
Table 336. RCC 寄存器 ................................................................................................................................193
Table 337. RCC 库函数 ................................................................................................................................194
Table 339. 函数 RCC_HSEConfig............................................................................................................... 195
Table 340. RCC_HSE 定义........................................................................................................................... 195
Table 341. 函数 RCC_WaitForHSEStartUp................................................................................................. 196
Table 342. 函数 RCC_AdjustHSICalibrationValue...................................................................................... 196
Table 343. 函数 RCC_HSICmd ................................................................................................................... 197
Table 344. 函数 RCC_PLLConfig ............................................................................................................... 197
Table 345. RCC_PLLSource 值 .................................................................................................................... 197
Table 346. RCC_PLLMul 值
......................................................................................................................... 198
Table 347. 函数 RCC_PLLCmd................................................................................................................... 198
Table 348. 函数 RCC_SYSCLKConfig ....................................................................................................... 199
Table 349. RCC_SYSCLKSource 值 ............................................................................................................ 199
Table 350. 函数 RCC_GetSYSCLKSource ................................................................................................. 199
Table 351. 函数 RCC_HCLKConfig............................................................................................................ 200
Table 352. RCC_HCLK 值............................................................................................................................ 200
Table 353. 函数 RCC_PCLK1Config .......................................................................................................... 200
Table 354. RCC_PCLK1 值 .......................................................................................................................... 201
Table 355. 函数 RCC_PCLK2Config .......................................................................................................... 201
Table 356. RCC_PCLK1 值 .......................................................................................................................... 201
Table 357. 函数 RCC_ITConfig................................................................................................................... 202
Table 358. RCC_IT 值................................................................................................................................... 202
Table 359. 函数 RCC_USBCLKConfig....................................................................................................... 202
Table 360. RCC_USBCLKSource 值............................................................................................................ 203
Table 361. 函数 RCC_ADCCLKConfig...................................................................................................... 203
Table 362. RCC_ADCCLKSource 值 ........................................................................................................... 203
Table 363. 函数 RCC_LSEConfig ............................................................................................................... 204
Table 364. RCC_LSE 定义 ........................................................................................................................... 204
Table 365. 函数 RCC_LSICmd.................................................................................................................... 204
Table 366. 函数 RCC_RTCCLKConfig....................................................................................................... 205
Table 367. RCC_RTCCLKSource 值............................................................................................................ 205
Table 368. 函数 RCC_RTCCLKCmd .......................................................................................................... 205
Table 369. 函数 RCC_GetClocksFreq ......................................................................................................... 206
表格目录
19/368
译文英文原版为 UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准
Table 370. 函数 RCC_AHBPeriphClockCmd ............................................................................................. 207
Table 371. RCC_AHBPeriph 值.................................................................................................................... 207
Table 372. 函数 RCC_APB2PeriphClockCmd............................................................................................ 207
Table 373. RCC_AHB2Periph 值.................................................................................................................. 208
Table 374. 函数 RCC_APB1PeriphClockCmd............................................................................................ 208
Table 375. RCC_AHB1Periph 值.................................................................................................................. 208
Table 376. 函数 RCC_APB2PeriphResetCmd............................................................................................. 209
Table 377. 函数 RCC_APB1PeriphResetCmd............................................................................................. 209
Table 378. 函数 RCC_BackupResetCmd..................................................................................................... 210
Table 379. 函数 RCC_ClockSecuritySystemCmd ....................................................................................... 210
Table 380. 函数 RCC_MCOConfig ............................................................................................................. 210
Table 381. RCC_MCO 值 ..............................................................................................................................211
Table 382. 函数 RCC_ GetFlagStatus...........................................................................................................211
Table 383. RCC_FLAG 值 .............................................................................................................................211
Table 384. 函数 RCC_ ClearFlag................................................................................................................. 212
Table 385. 函数 RCC_ GetITStatus ............................................................................................................. 212
Table 386. RCC_IT 值................................................................................................................................... 212
Table 387. 函数 RCC_ClearITPendingBit ................................................................................................... 213
Table 388. RCC_IT 值................................................................................................................................... 213
Table 389. RTC 寄存器................................................................................................................................. 214
Table 390. RTC 库函数................................................................................................................................. 215
Table 391. 函数 RTC_ITConfig................................................................................................................... 216
Table 392. RTC_IT 值 ................................................................................................................................... 216
Table 393. 函数 RTC_EnterConfigMode..................................................................................................... 216
Table 394. 函数 RTC_ExitConfigMode....................................................................................................... 217
Table 395. 函数 RTC_GetCounter ............................................................................................................... 217
Table 396. 函数 RTC_SetCounter................................................................................................................ 218
Table 397. 函数 RTC_SetPrescaler .............................................................................................................. 218
Table 398. 函数
RTC_ SetAlarm.................................................................................................................. 219
Table 399. 函数 RTC_GetDivider................................................................................................................ 219
Table 400. 函数 RTC_WaitForLastTask....................................................................................................... 220
Table 401. 函数 RTC_WaitForSynchro........................................................................................................ 220
Table 402. 函数 RTC_ GetFlagStatus .......................................................................................................... 221
Table 403. RTC_FLAG 值............................................................................................................................. 221
Table 404. 函数 RTC_ClearFlag .................................................................................................................. 221
Table 405. 函数 RTC_GetITStatus............................................................................................................... 222
Table 406. 函数 RTC_ClearITPendingBit.................................................................................................... 222
Table 407. SPI 寄存器................................................................................................................................... 223
Table 408. SPI 库函数................................................................................................................................... 224
Table 409. 函数 SPI_DeInit.......................................................................................................................... 225
Table 410. 函数 SPI_Init .............................................................................................................................. 225
Table 411. SPI_Mode 值................................................................................................................................226
Table 412. SPI_Mode 值 ............................................................................................................................... 226
Table 413. SPI_DataSize 值 .......................................................................................................................... 226
Table 414. SPI_ SPI_CPOL 值...................................................................................................................... 226
Table 415. SPI_SPI_CPHA 值 ...................................................................................................................... 226
Table 416. SPI_NSS 值 ................................................................................................................................. 226
Table 417. SPI_BaudRatePrescaler 值 .......................................................................................................... 226
Table 418. SPI_FirstBit 值 ............................................................................................................................ 227
Table 419. 函数 SPI_StructInit..................................................................................................................... 227
Table 420. SPI_InitStruct 缺省值.................................................................................................................. 227
Table 421. 函数 SPI_ Cmd........................................................................................................................... 228
Table 422. 函数 SPI_ITConfig..................................................................................................................... 228
表格目录
20/368
译文英文原版为 UM0427 Oct. 2007 Rev 2, 译文仅供参考,与英文版冲突的,以英文版为准
Table 423. SPI_IT 值..................................................................................................................................... 228
Table 424. 函数 SPI_ DMACmd.................................................................................................................. 229
Table 425. SPI_DMAReq 值......................................................................................................................... 229
Table 426. 函数 SPI_ SendData ...................................................................................................................229
Table 427. 函数 SPI_ReceiveData ............................................................................................................... 230
Table 428. 函数 SPI_NSSInternalSoftwareConfig....................................................................................... 230
Table 429. SPI_DMAReq 值......................................................................................................................... 230
Table 430. 函数 SPI_SSOutputCmd ............................................................................................................ 231
Table 431. 函数 SPI_DataSizeConfig .......................................................................................................... 231
Table 432. SPI_DMAReq 值......................................................................................................................... 231
Table 433. 函数 SPI_ TransmitCRC............................................................................................................. 232
Table 434. 函数 SPI_ CalculateCRC............................................................................................................ 232
Table 435. 函数 SPI_ GetCRC.....................................................................................................................233
Table 436. SPI_CRC 值................................................................................................................................. 233
Table 437. 函数 SPI_GetCRCPolynomial.................................................................................................... 233
Table 438. 函数 SPI_BiDirectionalLineConfig............................................................................................ 234
Table 439. SPI_CRC 值................................................................................................................................. 234
Table 440. 函数 SPI_ GetFlagStatus............................................................................................................ 234
Table 441. SPI_FLAG 值 .............................................................................................................................. 235
Table 442. 函数 SPI_ ClearFlag................................................................................................................... 235
Table 443. 函数 SPI_ GetITStatus................................................................................................................235
Table 444. SPI_IT 值..................................................................................................................................... 236
Table 445. 函数 SPI_ ClearITPendingBit .................................................................................................... 236
Table 446. SysTick 寄存器............................................................................................................................ 237
Table 447. SysTick 库函数............................................................................................................................ 238
Table 448. 函数 SysTick_CLKSourceConfig .............................................................................................. 238
Table 449. SysTick_CLKSource 值 .............................................................................................................. 238
Table 450. 函数 SysTick_SetReload ............................................................................................................ 239
Table 451. 函数 SysTick_CounterCmd........................................................................................................ 239
Table 452. SysTick_Counter 值..................................................................................................................... 239
Table 453. 函数 SysTick_ITConfig.............................................................................................................. 240
Table 454. 函数 SysTick_GetCounter.......................................................................................................... 240
Table 455. 函数 SysTick _ GetFlagStatus.................................................................................................... 241
Table 456. SysTick_FLAG 值 ....................................................................................................................... 241
Table 457. TIM 寄存器 ................................................................................................................................. 243
Table 458. TIM 库函数 ................................................................................................................................. 244
Table 459. 函数 TIM_DeInit........................................................................................................................ 246
Table 460. 函数 TIM_TimeBaseInit............................................................................................................. 246
Table 461. TIM_ClockDivision 值................................................................................................................ 247
Table 462. TIM_CounterMode 值 ................................................................................................................. 247
Table 463. 函数 TIM_OCInit....................................................................................................................... 247
Table 464. TIM_OCMode 定义 .................................................................................................................... 248
Table 465. TIM_Channel 值.......................................................................................................................... 248
Table 466. TIM_OCPolarity 值 ..................................................................................................................... 248
Table 467. 函数 TIM_ICInit......................................................................................................................... 249
Table 468. TIM_ICMode 定义 ...................................................................................................................... 249
Table 469. TIM_Channel 值.......................................................................................................................... 249
Table 470. TIM_Channel 值.......................................................................................................................... 250
Table 471. TIM_ICSelection 值 .................................................................................................................... 250
Table 472. TIM_ICPrescaler 值..................................................................................................................... 250
Table 473. 函数 TIM_TimeBaseStructInit................................................................................................... 251
Table 474. TIM_TimeBaseInitStruct 缺省值 ................................................................................................ 251
Table 475. 函数 TIM_TimeBaseStructInit................................................................................................... 251
剩余367页未读,继续阅读
2012-10-19 上传
2021-09-29 上传
2020-08-03 上传
2011-07-30 上传
2020-03-29 上传
2021-04-07 上传
2018-10-08 上传
2019-07-08 上传
as88423250
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功