首页下载资源硬件开发MPU6050测角度卡尔曼滤波算法

ZIPMPU6050测角度卡尔曼滤波算法

2302_804275066.73MB需要积分:1

资源文件列表:

MPU6050测角度(卡尔曼滤波).zip 大约有204个文件
  1. MPU6050测角度(卡尔曼滤波)/DebugConfig/
  2. MPU6050测角度(卡尔曼滤波)/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf 6.79KB
  3. MPU6050测角度(卡尔曼滤波)/Hardware/
  4. MPU6050测角度(卡尔曼滤波)/Hardware/Key.c 805B
  5. MPU6050测角度(卡尔曼滤波)/Hardware/Key.h 101B
  6. MPU6050测角度(卡尔曼滤波)/Hardware/LED.c 1.02KB
  7. MPU6050测角度(卡尔曼滤波)/Hardware/LED.h 204B
  8. MPU6050测角度(卡尔曼滤波)/Hardware/MPU_Angle.c 2.5KB
  9. MPU6050测角度(卡尔曼滤波)/Hardware/MPU_Angle.h 117B
  10. MPU6050测角度(卡尔曼滤波)/Hardware/MPU6050.c 3.39KB
  11. MPU6050测角度(卡尔曼滤波)/Hardware/MPU6050.h 592B
  12. MPU6050测角度(卡尔曼滤波)/Hardware/MPU6050_Reg.h 793B
  13. MPU6050测角度(卡尔曼滤波)/Hardware/MyI2C.c 1.67KB
  14. MPU6050测角度(卡尔曼滤波)/Hardware/MyI2C.h 269B
  15. MPU6050测角度(卡尔曼滤波)/Hardware/OLED.c 7.8KB
  16. MPU6050测角度(卡尔曼滤波)/Hardware/OLED.h 567B
  17. MPU6050测角度(卡尔曼滤波)/Hardware/OLED_Font.h 8.94KB
  18. MPU6050测角度(卡尔曼滤波)/keilkill.bat 399B
  19. MPU6050测角度(卡尔曼滤波)/Library/
  20. MPU6050测角度(卡尔曼滤波)/Library/misc.c 6.88KB
  21. MPU6050测角度(卡尔曼滤波)/Library/misc.h 8.77KB
  22. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_adc.c 46.09KB
  23. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_adc.h 21.18KB
  24. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_bkp.c 8.26KB
  25. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_bkp.h 7.38KB
  26. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_can.c 44.05KB
  27. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_can.h 26.91KB
  28. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_cec.c 11.38KB
  29. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_cec.h 6.42KB
  30. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_crc.c 3.27KB
  31. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_crc.h 2.11KB
  32. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_dac.c 18.64KB
  33. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_dac.h 14.88KB
  34. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_dbgmcu.c 5.03KB
  35. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_dbgmcu.h 3.73KB
  36. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_dma.c 28.91KB
  37. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_dma.h 20.27KB
  38. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_exti.c 6.8KB
  39. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_exti.h 6.66KB
  40. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_flash.c 61.08KB
  41. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_flash.h 24.85KB
  42. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_fsmc.c 34.65KB
  43. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_fsmc.h 26.38KB
  44. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_gpio.c 22.68KB
  45. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_gpio.h 19.7KB
  46. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_i2c.c 44.71KB
  47. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_i2c.h 29.33KB
  48. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_iwdg.c 4.8KB
  49. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_iwdg.h 3.74KB
  50. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_pwr.c 8.55KB
  51. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_pwr.h 4.28KB
  52. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_rcc.c 50.07KB
  53. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_rcc.h 29.74KB
  54. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_rtc.c 8.4KB
  55. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_rtc.h 3.77KB
  56. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_sdio.c 28.25KB
  57. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_sdio.h 21.35KB
  58. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_spi.c 29.52KB
  59. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_spi.h 17.31KB
  60. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_tim.c 106.6KB
  61. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_tim.h 51.2KB
  62. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_usart.c 37.41KB
  63. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_usart.h 16.16KB
  64. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_wwdg.c 5.6KB
  65. MPU6050测角度(卡尔曼滤波)/Library/stm32f10x_wwdg.h 2.9KB
  66. MPU6050测角度(卡尔曼滤波)/Listings/
  67. MPU6050测角度(卡尔曼滤波)/Listings/Project.map 162.73KB
  68. MPU6050测角度(卡尔曼滤波)/Listings/startup_stm32f10x_md.lst 40.47KB
  69. MPU6050测角度(卡尔曼滤波)/Objects/
  70. MPU6050测角度(卡尔曼滤波)/Objects/core_cm3.crf 3.85KB
  71. MPU6050测角度(卡尔曼滤波)/Objects/core_cm3.d 106B
  72. MPU6050测角度(卡尔曼滤波)/Objects/core_cm3.o 10.87KB
  73. MPU6050测角度(卡尔曼滤波)/Objects/delay.crf 338.11KB
  74. MPU6050测角度(卡尔曼滤波)/Objects/delay.d 1.34KB
  75. MPU6050测角度(卡尔曼滤波)/Objects/delay.o 371.28KB
  76. MPU6050测角度(卡尔曼滤波)/Objects/key.crf 338.47KB
  77. MPU6050测角度(卡尔曼滤波)/Objects/key.d 1.31KB
  78. MPU6050测角度(卡尔曼滤波)/Objects/key.o 371.22KB
  79. MPU6050测角度(卡尔曼滤波)/Objects/led.crf 338.57KB
  80. MPU6050测角度(卡尔曼滤波)/Objects/led.d 1.28KB
  81. MPU6050测角度(卡尔曼滤波)/Objects/led.o 376.48KB
  82. MPU6050测角度(卡尔曼滤波)/Objects/main.crf 350.47KB
  83. MPU6050测角度(卡尔曼滤波)/Objects/main.d 1.52KB
  84. MPU6050测角度(卡尔曼滤波)/Objects/main.o 377.8KB
  85. MPU6050测角度(卡尔曼滤波)/Objects/misc.crf 338.78KB
  86. MPU6050测角度(卡尔曼滤波)/Objects/misc.d 1.34KB
  87. MPU6050测角度(卡尔曼滤波)/Objects/misc.o 374.32KB
  88. MPU6050测角度(卡尔曼滤波)/Objects/mpu_angle.crf 351.13KB
  89. MPU6050测角度(卡尔曼滤波)/Objects/mpu_angle.d 1.61KB
  90. MPU6050测角度(卡尔曼滤波)/Objects/mpu_angle.o 382.05KB
  91. MPU6050测角度(卡尔曼滤波)/Objects/mpu6050.crf 341.01KB
  92. MPU6050测角度(卡尔曼滤波)/Objects/mpu6050.d 1.48KB
  93. MPU6050测角度(卡尔曼滤波)/Objects/mpu6050.o 386.2KB
  94. MPU6050测角度(卡尔曼滤波)/Objects/myi2c.crf 339.14KB
  95. MPU6050测角度(卡尔曼滤波)/Objects/myi2c.d 1.38KB
  96. MPU6050测角度(卡尔曼滤波)/Objects/myi2c.o 382.04KB
  97. MPU6050测角度(卡尔曼滤波)/Objects/oled.crf 341.39KB
  98. MPU6050测角度(卡尔曼滤波)/Objects/oled.d 1.35KB
  99. MPU6050测角度(卡尔曼滤波)/Objects/oled.o 394.75KB
  100. MPU6050测角度(卡尔曼滤波)/Objects/Project.axf 299.6KB
  101. MPU6050测角度(卡尔曼滤波)/Objects/Project.build_log.htm 1.58KB
  102. MPU6050测角度(卡尔曼滤波)/Objects/Project.htm 74.95KB
  103. MPU6050测角度(卡尔曼滤波)/Objects/Project.lnp 1.2KB
  104. MPU6050测角度(卡尔曼滤波)/Objects/Project.sct 479B
  105. MPU6050测角度(卡尔曼滤波)/Objects/Project_Target 1.dep 57.06KB
  106. MPU6050测角度(卡尔曼滤波)/Objects/startup_stm32f10x_md.d 64B
  107. MPU6050测角度(卡尔曼滤波)/Objects/startup_stm32f10x_md.o 5.87KB
  108. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_adc.crf 345.79KB
  109. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_adc.d 1.63KB
  110. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_adc.o 420.2KB
  111. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_bkp.crf 339.7KB
  112. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_bkp.d 1.63KB
  113. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_bkp.o 383.93KB
  114. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_can.crf 347.36KB
  115. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_can.d 1.63KB
  116. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_can.o 405.75KB
  117. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_cec.crf 340.24KB
  118. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_cec.d 1.63KB
  119. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_cec.o 386.48KB
  120. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_crc.crf 338.35KB
  121. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_crc.d 1.63KB
  122. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_crc.o 375.32KB
  123. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dac.crf 340.37KB
  124. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dac.d 1.63KB
  125. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dac.o 384.55KB
  126. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dbgmcu.crf 338.14KB
  127. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dbgmcu.d 1.73KB
  128. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dbgmcu.o 371.5KB
  129. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dma.crf 341.82KB
  130. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dma.d 1.63KB
  131. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_dma.o 384.03KB
  132. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_exti.crf 339.33KB
  133. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_exti.d 1.66KB
  134. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_exti.o 378.31KB
  135. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_flash.crf 345.63KB
  136. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_flash.d 1.7KB
  137. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_flash.o 409.33KB
  138. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_fsmc.crf 344.17KB
  139. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_fsmc.d 1.66KB
  140. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_fsmc.o 395.2KB
  141. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_gpio.crf 342.2KB
  142. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_gpio.d 1.66KB
  143. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_gpio.o 394.05KB
  144. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_i2c.crf 344.57KB
  145. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_i2c.d 1.63KB
  146. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_i2c.o 414.46KB
  147. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_it.crf 338.27KB
  148. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_it.d 1.59KB
  149. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_it.o 378.98KB
  150. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_iwdg.crf 338.45KB
  151. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_iwdg.d 1.66KB
  152. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_iwdg.o 375.27KB
  153. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_pwr.crf 339.61KB
  154. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_pwr.d 1.63KB
  155. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_pwr.o 379.89KB
  156. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_rcc.crf 345.69KB
  157. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_rcc.d 1.63KB
  158. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_rcc.o 413.24KB
  159. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_rtc.crf 339.61KB
  160. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_rtc.d 1.63KB
  161. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_rtc.o 386.03KB
  162. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_sdio.crf 342.8KB
  163. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_sdio.d 1.66KB
  164. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_sdio.o 408.15KB
  165. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_spi.crf 342.66KB
  166. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_spi.d 1.63KB
  167. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_spi.o 400.37KB
  168. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_tim.crf 360.35KB
  169. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_tim.d 1.63KB
  170. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_tim.o 497.02KB
  171. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_usart.crf 344.26KB
  172. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_usart.d 1.7KB
  173. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_usart.o 409.37KB
  174. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_wwdg.crf 338.89KB
  175. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_wwdg.d 1.66KB
  176. MPU6050测角度(卡尔曼滤波)/Objects/stm32f10x_wwdg.o 378.13KB
  177. MPU6050测角度(卡尔曼滤波)/Objects/system_stm32f10x.crf 339.93KB
  178. MPU6050测角度(卡尔曼滤波)/Objects/system_stm32f10x.d 1.66KB
  179. MPU6050测角度(卡尔曼滤波)/Objects/system_stm32f10x.o 373.66KB
  180. MPU6050测角度(卡尔曼滤波)/Project.uvguix.chen 90.51KB
  181. MPU6050测角度(卡尔曼滤波)/Project.uvoptx 33.72KB
  182. MPU6050测角度(卡尔曼滤波)/Project.uvprojx 26.93KB
  183. MPU6050测角度(卡尔曼滤波)/Start/
  184. MPU6050测角度(卡尔曼滤波)/Start/core_cm3.c 16.87KB
  185. MPU6050测角度(卡尔曼滤波)/Start/core_cm3.h 83.71KB
  186. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_cl.s 15.4KB
  187. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_hd.s 15.14KB
  188. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_hd_vl.s 15.32KB
  189. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_ld.s 12.09KB
  190. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_ld_vl.s 13.34KB
  191. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_md.s 12.47KB
  192. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_md_vl.s 13.74KB
  193. MPU6050测角度(卡尔曼滤波)/Start/startup_stm32f10x_xl.s 15.58KB
  194. MPU6050测角度(卡尔曼滤波)/Start/stm32f10x.h 619.08KB
  195. MPU6050测角度(卡尔曼滤波)/Start/system_stm32f10x.c 35.7KB
  196. MPU6050测角度(卡尔曼滤波)/Start/system_stm32f10x.h 2.04KB
  197. MPU6050测角度(卡尔曼滤波)/System/
  198. MPU6050测角度(卡尔曼滤波)/System/Delay.c 840B
  199. MPU6050测角度(卡尔曼滤波)/System/Delay.h 135B
  200. MPU6050测角度(卡尔曼滤波)/User/
  201. MPU6050测角度(卡尔曼滤波)/User/main.c 358B
  202. MPU6050测角度(卡尔曼滤波)/User/stm32f10x_conf.h 3.18KB
  203. MPU6050测角度(卡尔曼滤波)/User/stm32f10x_it.c 4.3KB
  204. MPU6050测角度(卡尔曼滤波)/User/stm32f10x_it.h 2.04KB

资源介绍:

内容概要:使用卡尔曼滤波算法整合MPU6050加速度计和陀螺仪数据,实现测量MPU6050旋转角度的目的,该项目使用c语言编写 适合人群:想要使用MPU6050测量角度的人群或者想要学习和使用卡尔曼滤波算法的人群 能学到什么:卡尔曼滤波算法的实际应用以及MPU6050传感器的数据读取 阅读建议:需要有一定的卡尔曼滤波算法的公式基础
/** ****************************************************************************** * @file stm32f10x_tim.c * @author MCD Application Team * @version V3.5.0 * @date 11-March-2011 * @brief This file provides all the TIM firmware functions. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * *

© COPYRIGHT 2011 STMicroelectronics

****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x_tim.h" #include "stm32f10x_rcc.h" /** @addtogroup STM32F10x_StdPeriph_Driver * @{ */ /** @defgroup TIM * @brief TIM driver modules * @{ */ /** @defgroup TIM_Private_TypesDefinitions * @{ */ /** * @} */ /** @defgroup TIM_Private_Defines * @{ */ /* ---------------------- TIM registers bit mask ------------------------ */ #define SMCR_ETR_Mask ((uint16_t)0x00FF) #define CCMR_Offset ((uint16_t)0x0018) #define CCER_CCE_Set ((uint16_t)0x0001) #define CCER_CCNE_Set ((uint16_t)0x0004) /** * @} */ /** @defgroup TIM_Private_Macros * @{ */ /** * @} */ /** @defgroup TIM_Private_Variables * @{ */ /** * @} */ /** @defgroup TIM_Private_FunctionPrototypes * @{ */ static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter); /** * @} */ /** @defgroup TIM_Private_Macros * @{ */ /** * @} */ /** @defgroup TIM_Private_Variables * @{ */ /** * @} */ /** @defgroup TIM_Private_FunctionPrototypes * @{ */ /** * @} */ /** @defgroup TIM_Private_Functions * @{ */ /** * @brief Deinitializes the TIMx peripheral registers to their default reset values. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @retval None */ void TIM_DeInit(TIM_TypeDef* TIMx) { /* Check the parameters */ assert_param(IS_TIM_ALL_PERIPH(TIMx)); if (TIMx == TIM1) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE); } else if (TIMx == TIM2) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE); } else if (TIMx == TIM3) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE); } else if (TIMx == TIM4) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE); } else if (TIMx == TIM5) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, DISABLE); } else if (TIMx == TIM6) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, DISABLE); } else if (TIMx == TIM7) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, DISABLE); } else if (TIMx == TIM8) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, DISABLE); } else if (TIMx == TIM9) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, DISABLE); } else if (TIMx == TIM10) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, DISABLE); } else if (TIMx == TIM11) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, DISABLE); } else if (TIMx == TIM12) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, DISABLE); } else if (TIMx == TIM13) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, DISABLE); } else if (TIMx == TIM14) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, DISABLE); } else if (TIMx == TIM15) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, DISABLE); } else if (TIMx == TIM16) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, DISABLE); } else { if (TIMx == TIM17) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, DISABLE); } } } /** * @brief Initializes the TIMx Time Base Unit peripheral according to * the specified parameters in the TIM_TimeBaseInitStruct. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef * structure that contains the configuration information for the * specified TIM peripheral. * @retval None */ void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) { uint16_t tmpcr1 = 0; /* Check the parameters */ assert_param(IS_TIM_ALL_PERIPH(TIMx)); assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode)); assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision)); tmpcr1 = TIMx->CR1; if((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM2) || (TIMx == TIM3)|| (TIMx == TIM4) || (TIMx == TIM5)) { /* Select the Counter Mode */ tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; } if((TIMx != TIM6) && (TIMx != TIM7)) { /* Set the clock division */ tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; } TIMx->CR1 = tmpcr1; /* Set the Autoreload value */ TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; /* Set the Prescaler value */ TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) { /* Set the Repetition Counter value */ TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; } /* Generate an update event to reload the Prescaler and the Repetition counter values immediately */ TIMx->EGR = TIM_PSCReloadMode_Immediate; } /** * @brief Initializes the TIMx Channel1 according to the specified * parameters in the TIM_OCInitStruct. * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. * @param TIM_OCInitStru
100+评论
captcha