A61 STM32_HAL库函数 之 TIM扩展驱动 -- C -- 所有函数的介绍及使用

1 该驱动函数预览

序号函数名描述
1HAL_TIMEx_HallSensor_Init()初始化定时器霍尔传感器模式。
2HAL_TIMEx_HallSensor_DeInit()反初始化定时器霍尔传感器模式。
3HAL_TIMEx_HallSensor_MspInit()初始化定时器霍尔传感器模式相关的MCU外设引脚或资源。
4HAL_TIMEx_HallSensor_MspDeInit()反初始化定时器霍尔传感器模式相关的MCU外设引脚或资源。
5HAL_TIMEx_HallSensor_Start()启动定时器霍尔传感器模式。
6HAL_TIMEx_HallSensor_Stop()停止定时器霍尔传感器模式。
7HAL_TIMEx_HallSensor_Start_IT()启动定时器霍尔传感器模式中断。
8HAL_TIMEx_HallSensor_Stop_IT()停止定时器霍尔传感器模式中断。
9HAL_TIMEx_HallSensor_Start_DMA()启动定时器霍尔传感器模式DMA传输。
10HAL_TIMEx_HallSensor_Stop_DMA()停止定时器霍尔传感器模式DMA传输。
11HAL_TIMEx_OCN_Start()启动定时器OCN功能。
12HAL_TIMEx_OCN_Stop()停止定时器OCN功能。
13HAL_TIMEx_OCN_Start_IT()启动定时器OCN功能中断。
14HAL_TIMEx_OCN_Stop_IT()停止定时器OCN功能中断。
15HAL_TIMEx_OCN_Start_DMA()启动定时器OCN功能DMA传输。
16HAL_TIMEx_OCN_Stop_DMA()停止定时器OCN功能DMA传输。
17HAL_TIMEx_PWMN_Start()启动定时器PWMN功能。
18HAL_TIMEx_PWMN_Stop()停止定时器PWMN功能。
19HAL_TIMEx_PWMN_Start_IT()启动定时器PWMN功能中断。
20HAL_TIMEx_PWMN_Stop_IT()停止定时器PWMN功能中断。
21HAL_TIMEx_PWMN_Start_DMA()启动定时器PWMN功能DMA传输。
22HAL_TIMEx_PWMN_Stop_DMA()停止定时器PWMN功能DMA传输。
23HAL_TIMEx_OnePulseN_Start()启动定时器单脉冲N功能。
24HAL_TIMEx_OnePulseN_Stop()停止定时器单脉冲N功能。
25HAL_TIMEx_OnePulseN_Start_IT()启动定时器单脉冲N功能中断。
26HAL_TIMEx_OnePulseN_Stop_IT()停止定时器单脉冲N功能中断。
27HAL_TIMEx_ConfigCommutationEvent()配置定时器换相事件。
28HAL_TIMEx_ConfigCommutationEvent_IT()配置定时器换相事件并启用中断。
29HAL_TIMEx_ConfigCommutationEvent_DMA()配置定时器换相事件DMA传输。
30HAL_TIMEx_ConfigBreakDeadTime()配置定时器死区和断路器。
31HAL_TIMEx_MasterConfigSynchronization()配置定时器主模式同步。
32HAL_TIMEx_CommutationCallback()定时器换相回调函数。
33HAL_TIMEx_BreakCallback()定时器断路器回调函数。
34TIMEx_DMACommutationCplt()定时器换相DMA传输完成回调函数。
35HAL_TIMEx_HallSensor_GetState()获取定时器霍尔传感器模式状态。

1.24 HAL_TIMEx_OnePulseN_Stop

函数名HAL_TIMEx_OnePulseN_Stop
函数原形HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
功能描述停止TIM通道的单脉冲模式
输入参数htim:TIM句柄结构体指针
Channel:通道编号
输出参数
返回值HAL_StatusTypeDef:停止状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
HAL_TIMEx_OnePulseN_Stop(&htim, TIM_CHANNEL_1);
```

1.25 HAL_TIMEx_OnePulseN_Start_IT

函数名HAL_TIMEx_OnePulseN_Start_IT
函数原形HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
功能描述以中断方式启动TIM通道的单脉冲模式
输入参数htim:TIM句柄结构体指针
Channel:通道编号
输出参数
返回值HAL_StatusTypeDef:启动状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
HAL_TIMEx_OnePulseN_Start_IT(&htim, TIM_CHANNEL_1);
```

1.26 HAL_TIMEx_OnePulseN_Stop_IT

函数名HAL_TIMEx_OnePulseN_Stop_IT
函数原形HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
功能描述以中断方式停止TIM通道的单脉冲模式
输入参数htim:TIM句柄结构体指针
Channel:通道编号
输出参数
返回值HAL_StatusTypeDef:停止状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
HAL_TIMEx_OnePulseN_Stop_IT(&htim, TIM_CHANNEL_1);
```

|


1.27 HAL_TIMEx_ConfigCommutationEvent

函数名HAL_TIMEx_ConfigCommutationEvent
函数原形HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef *htim, uint32_t CommutationSource, uint32_t CommutationPolarity)
功能描述配置TIM的换向事件
输入参数htim:TIM句柄结构体指针
CommutationSource:换向源
CommutationPolarity:换向极性
输出参数
返回值HAL_StatusTypeDef:配置状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
HAL_TIMEx_ConfigCommutationEvent(&htim, TIM_TS_ETRF);
```

1.28 HAL_TIMEx_ConfigCommutationEvent_IT

函数名HAL_TIMEx_ConfigCommutationEvent_IT
函数原形HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef *htim, uint32_t CommutationSource, uint32_t CommutationPolarity)
功能描述配置TIM的换向事件,并以中断方式触发
输入参数htim:TIM句柄结构体指针
CommutationSource:换向源
CommutationPolarity:换向极性
输出参数
返回值HAL_StatusTypeDef:配置状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
HAL_TIMEx_ConfigCommutationEvent_IT(&htim, TIM_TS_ETRF);
```

1.29 HAL_TIMEx_ConfigCommutationEvent_DMA

函数名HAL_TIMEx_ConfigCommutationEvent_DMA
函数原形HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef *htim, uint32_t CommutationSource, uint32_t CommutationPolarity)
功能描述配置TIM的换向事件,并以DMA方式触发
输入参数htim:TIM句柄结构体指针
CommutationSource:换向源
CommutationPolarity:换向极性
输出参数
返回值HAL_StatusTypeDef:配置状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
HAL_TIMEx_ConfigCommutationEvent_DMA(&htim, TIM_TS_ETRF);
```

1.30 HAL_TIMEx_ConfigBreakDeadTime

函数名HAL_TIMEx_ConfigBreakDeadTime
函数原形HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig)
功能描述配置TIM的死区时间和断路器
输入参数htim:TIM句柄结构体指针
sBreakDeadTimeConfig:死区时间和断路器配置结构体指针
输出参数
返回值HAL_StatusTypeDef:配置状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig;
HAL_TIMEx_ConfigBreakDeadTime(&htim, &sBreakDeadTimeConfig);
```

1.31 HAL_TIMEx_MasterConfigSynchronization

函数名HAL_TIMEx_MasterConfigSynchronization
函数原形HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim,TIM_MasterConfigTypeDef *sMasterConfig)

| 功能描述 | 配置TIM主从同步 |
| 输入参数 | htim:TIM句柄结构体指针 |
| | sMasterConfig:主从同步配置结构体指针 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:配置状态 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
| 案例 | c | | | TIM_HandleTypeDef htim; | | | TIM_MasterConfigTypeDef sMasterConfig; | | | HAL_TIMEx_MasterConfigSynchronization(&htim, &sMasterConfig); | | |


1.32 HAL_TIMEx_CommutationCallback

函数名HAL_TIMEx_CommutationCallback
函数原形void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef *htim)
功能描述TIM换向事件的回调函数
输入参数htim:TIM句柄结构体指针
输出参数
返回值
先决条件
被调用函数
案例

1.33 HAL_TIMEx_BreakCallback

函数名HAL_TIMEx_BreakCallback
函数原形void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim)
功能描述TIM断路器事件的回调函数
输入参数htim:TIM句柄结构体指针
输出参数
返回值
先决条件
被调用函数
案例

1.34 TIMEx_DMACommutationCplt

函数名TIMEx_DMACommutationCplt
函数原形void TIMEx_DMACommutationCplt(TIM_HandleTypeDef *htim)
功能描述TIM换向事件的DMA传输完成回调函数
输入参数htim:TIM句柄结构体指针
输出参数
返回值
先决条件
被调用函数
案例

1.35 HAL_TIMEx_HallSensor_GetState

函数名HAL_TIMEx_HallSensor_GetState
函数原形uint32_t HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim)
功能描述获取TIM外部霍尔传感器模式的状态
输入参数htim:TIM句柄结构体指针
输出参数
返回值uint32_t:外部霍尔传感器模式的状态
先决条件
被调用函数
案例```c
TIM_HandleTypeDef htim;
uint32_t state = HAL_TIMEx_HallSensor_GetState(&htim);
```

该文档修改记录:

修改时间修改说明
2024年4月30日第一次发布,介绍了该博客驱动所有函数的介绍及使用

总结

以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1. 导入必要的库和数据 首先,我们需要导入必要的库和数据。在这里,我们使用的是scikit-learn内置的贷款违约数据集。 ```python import pandas as pd from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 导入数据集 data = pd.read_csv('https://raw.githubusercontent.com/jbrownlee/Datasets/master/german.csv', header=None) # 设置列名 data.columns = ['checking_account', 'duration', 'credit_history', 'purpose', 'credit_amount', 'savings_account', 'employment', 'installment_rate', 'personal_status', 'other_debtors', 'residence_since', 'property', 'age', 'other_installment_plans', 'housing', 'existing_credits', 'job', 'num_dependents', 'own_telephone', 'foreign_worker', 'class'] # 查看前5行数据 print(data.head()) ``` 输出: ``` checking_account duration credit_history purpose credit_amount \ 0 A11 6 A34 A43 1169 1 A12 48 A32 A43 5951 2 A14 12 A34 A46 2096 3 A11 42 A32 A42 7882 4 A11 24 A33 A40 4870 savings_account employment installment_rate personal_status other_debtors \ 0 A65 A75 4 A93 A101 1 A61 A73 2 A92 A101 2 A61 A74 2 A93 A101 3 A61 A74 2 A93 A103 4 A61 A73 3 A93 A101 ... property age other_installment_plans housing existing_credits job \ 0 ... A121 67 A143 A152 2 A173 1 ... A121 22 A143 A152 1 A173 2 ... A121 49 A143 A152 1 A172 3 ... A122 45 A143 A153 1 A173 4 ... A124 53 A143 A153 2 A173 num_dependents own_telephone foreign_worker class 0 1 A192 A201 1 1 1 A191 A201 2 2 2 A191 A201 1 3 2 A191 A201 1 4 2 A191 A201 2 [5 rows x 21 columns] ``` 2. 数据预处理 接下来,我们需要对数据进行预处理,包括将分类变量进行编码、将样本分为训练集和测试集等。 ```python # 将分类变量进行编码 data = pd.get_dummies(data, columns=['checking_account', 'credit_history', 'purpose', 'savings_account', 'employment', 'personal_status', 'other_debtors', 'property', 'other_installment_plans', 'housing', 'job', 'own_telephone', 'foreign_worker']) # 将类别变量class转换为0和1 data['class'] = data['class'].apply(lambda x: 0 if x == 2 else 1) # 将数据集分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(data.drop('class', axis=1), data['class'], test_size=0.2, random_state=42) ``` 3. 训练模型 接下来,我们使用逻辑回归模型对贷款人的违约风险进行分类。我们使用scikit-learn的LogisticRegression类。 ```python # 训练模型 model = LogisticRegression() model.fit(X_train, y_train) ``` 4. 预测并评估模型 最后,我们使用测试集对模型进行评估,并计算模型的准确性。 ```python # 预测并评估模型 y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print('Accuracy:', accuracy) ``` 输出: ``` Accuracy: 0.775 ``` 这意味着我们的模型可以正确地分类贷款人的违约风险约77.5%的时间。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常驻客栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值