没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32F101xx & STM32F103xx 固件库函数详解
STM32F101xx & STM32F103xx 固件库函数详解
需积分: 10 6 下载量 144 浏览量
更新于2024-07-23
1
收藏 2.07MB PDF 举报
"STM32最新库函数版本详细介绍了STM32F101xx和STM32F103xx微控制器的固件函数库,包含通信外设如串口、SPI、IIC和CAN总线的驱动及简单例程。"
STM32系列微控制器是基于ARM Cortex-M内核的32位设备,广泛应用于嵌入式系统设计。STM32F101xx和STM32F103xx型号提供了丰富的外设选项,如各种通信接口,这使得它们在各种工业和消费电子项目中非常受欢迎。提供的固件函数库是一个重要的工具,它简化了开发者对外设的操作,减少了理解和实现底层硬件控制的复杂性。
该固件函数库包含了完整的程序、数据结构和宏,用于实现所有外设的功能。每个外设都有相应的驱动程序,由一组函数构成,这些函数涵盖了外设的所有操作。API(Application Programming Interface)的使用保证了驱动程序的一致性和标准化,使得开发者能够轻松地在不同外设间切换。函数库的源代码遵循"Strict ANSI-C"标准,确保了代码的可移植性,同时也符合MISRA-C2004编码规范,提升了代码质量和可读性。
固件库还具备实时错误检测功能,通过检查库函数的输入值来增强软件的健壮性,这对于开发和调试阶段非常有用。然而,为了优化最终应用程序的代码大小和执行速度,这些检查可以在编译时选择性地移除。
虽然库函数全面覆盖了所有功能,可能在某些特定的应用场景下,代码效率和大小不是最优的。对于对代码效率有极高要求的项目,开发者可以参考库函数的实现,根据需求进行定制和优化。手册详细阐述了库的结构、使用方法以及每个外设的详细描述,为开发者提供了全面的指导。
STM32的通信外设如串口(USART)、SPI和IIC(I2C)是常见的接口,用于与其他设备进行数据传输。串口支持全双工通信,适用于远程通信和设备调试;SPI是一种同步串行接口,通常用于高速数据传输;而IIC是一种低速、多主机的两线制通信协议,常用于连接传感器和其他低速外设。CAN(Controller Area Network)总线则是一种高效、可靠的汽车和工业自动化通信协议,支持分布式实时控制和故障检测。
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页未读,继续阅读
2022-09-24 上传
2021-09-28 上传
2018-05-24 上传
2021-09-10 上传
A645563532
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功