STM32 CubeMX如何生成微秒(us)级延时
来源:互联网 发布:数据库 null 编辑:程序博客网 时间:2024/05/21 15:39
会自动在tim.c里面生成代码,如下:
/* Includes ------------------------------------------------------------------*/
#include "tim.h"
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
TIM_HandleTypeDef htim17;
/* TIM17 init function */
void MX_TIM17_Init(void)
{
htim17.Instance = TIM17;
htim17.Init.Prescaler = 0;
htim17.Init.CounterMode = TIM_COUNTERMODE_UP;
htim17.Init.Period = 65535;
htim17.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim17.Init.RepetitionCounter = 0;
if (HAL_TIM_Base_Init(&htim17) != HAL_OK)
{
Error_Handler();
}
}
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
{
if(tim_baseHandle->Instance==TIM17)
{
/* USER CODE BEGIN TIM17_MspInit 0 */
/* USER CODE END TIM17_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_TIM17_CLK_ENABLE();
/* USER CODE BEGIN TIM17_MspInit 1 */
/* USER CODE END TIM17_MspInit 1 */
}
}
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
{
if(tim_baseHandle->Instance==TIM17)
{
/* USER CODE BEGIN TIM17_MspDeInit 0 */
/* USER CODE END TIM17_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM17_CLK_DISABLE();
}
/* USER CODE BEGIN TIM17_MspDeInit 1 */
/* USER CODE END TIM17_MspDeInit 1 */
}
然后自己再写一个函数;
/* USER CODE BEGIN 4 */
void Delay_us(uint16_t nus)
{
__HAL_TIM_SetCounter(&htim17, 0);//htim17
__HAL_TIM_ENABLE(&htim17);
while(__HAL_TIM_GetCounter(&htim17) < (36 * nus));//36是系统时钟,更改这里就行了。
/* Disable the Peripheral */
__HAL_TIM_DISABLE(&htim17);
}
/* USER CODE END 4 */
因为36 * 1/36M 对应的就是1us,用定时器来做延时是很准的。
- STM32 CubeMX如何生成微秒(us)级延时
- stm32微秒延时实现
- WinCE中微秒(us)级的延时函数
- STM32延时us程序
- stm32 延时 delay us ms
- WINCE 微秒级与毫秒级延时函数----s/ms/us/ns
- WinCE中微秒(us)级的延时函数----带实验数据
- 微秒级延时
- 微秒级延时
- STM32 使用通用计时器实现微秒延时
- STM32 使用通用计时器实现微秒延时
- STM32 使用通用计时器实现微秒延时
- STM32 CubeMX 中如何查看系统时钟
- VC 微秒级延时函数
- 在stm32的freeRTOS上进行微秒级延时(HAL库)
- STM32高级开发(14)-使用CubeMX生成STM32工程
- 如何使用CubeMx生成一个DFU工程
- windows下实现微秒级的延时
- 产品开发阶段 EVT DVT PVT MP
- zsore和经验法则(统计学原理)
- Sonar简介
- TVS管与ESD保护二极管的区别
- javaSE_8系列博客——Java语言的特性(三)--类和对象(17)--嵌套类(本地/局部类)
- STM32 CubeMX如何生成微秒(us)级延时
- STM32 CubeMX 中如何查看系统时钟
- 相机调效果 说的IQ tuning 是什么意思
- define 中强制类型转换及浮点数后面带f
- STM32 的几种输入输出模式
- Mysql5.7
- ScrollView嵌套ListView显示不全时原理浅析
- 【mysql】插入时中文变为??
- 洛谷P2268 统计和(树状数组)