Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
不穿格子衫的农民
TencentOS Tiny
提交
747ed5f7
T
TencentOS Tiny
项目概览
不穿格子衫的农民
/
TencentOS Tiny
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TencentOS Tiny
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
747ed5f7
编写于
1月 14, 2021
作者:
D
David Lin
提交者:
GitHub
1月 14, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update E53_SF1.c
上级
bdc6ea2d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
157 addition
and
157 deletion
+157
-157
board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/E53_SF1/E53_SF1.c
...TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/E53_SF1/E53_SF1.c
+157
-157
未找到文件。
board/TencentOS_tiny_EVB_MX_Plus/BSP/Hardware/E53_SF1/E53_SF1.c
浏览文件 @
747ed5f7
...
...
@@ -15,52 +15,52 @@ TIM_HandleTypeDef htim16;
/* TIM16 init function */
void
MX_TIM16_Init
(
void
)
{
TIM_OC_InitTypeDef
sConfigOC
;
TIM_BreakDeadTimeConfigTypeDef
sBreakDeadTimeConfig
;
htim16
.
Instance
=
TIM16
;
htim16
.
Init
.
Prescaler
=
79
;
htim16
.
Init
.
CounterMode
=
TIM_COUNTERMODE_UP
;
htim16
.
Init
.
Period
=
999
;
htim16
.
Init
.
ClockDivision
=
TIM_CLOCKDIVISION_DIV1
;
htim16
.
Init
.
RepetitionCounter
=
0
;
htim16
.
Init
.
AutoReloadPreload
=
TIM_AUTORELOAD_PRELOAD_DISABLE
;
if
(
HAL_TIM_Base_Init
(
&
htim16
)
!=
HAL_OK
)
{
Error_Handler
();
}
if
(
HAL_TIM_PWM_Init
(
&
htim16
)
!=
HAL_OK
)
{
Error_Handler
();
}
sConfigOC
.
OCMode
=
TIM_OCMODE_PWM1
;
sConfigOC
.
Pulse
=
499
;
sConfigOC
.
OCPolarity
=
TIM_OCPOLARITY_HIGH
;
sConfigOC
.
OCNPolarity
=
TIM_OCNPOLARITY_HIGH
;
sConfigOC
.
OCFastMode
=
TIM_OCFAST_DISABLE
;
sConfigOC
.
OCIdleState
=
TIM_OCIDLESTATE_RESET
;
sConfigOC
.
OCNIdleState
=
TIM_OCNIDLESTATE_RESET
;
if
(
HAL_TIM_PWM_ConfigChannel
(
&
htim16
,
&
sConfigOC
,
TIM_CHANNEL_1
)
!=
HAL_OK
)
{
Error_Handler
();
}
sBreakDeadTimeConfig
.
OffStateRunMode
=
TIM_OSSR_DISABLE
;
sBreakDeadTimeConfig
.
OffStateIDLEMode
=
TIM_OSSI_DISABLE
;
sBreakDeadTimeConfig
.
LockLevel
=
TIM_LOCKLEVEL_OFF
;
sBreakDeadTimeConfig
.
DeadTime
=
0
;
sBreakDeadTimeConfig
.
BreakState
=
TIM_BREAK_DISABLE
;
sBreakDeadTimeConfig
.
BreakPolarity
=
TIM_BREAKPOLARITY_HIGH
;
sBreakDeadTimeConfig
.
BreakFilter
=
0
;
sBreakDeadTimeConfig
.
AutomaticOutput
=
TIM_AUTOMATICOUTPUT_DISABLE
;
if
(
HAL_TIMEx_ConfigBreakDeadTime
(
&
htim16
,
&
sBreakDeadTimeConfig
)
!=
HAL_OK
)
{
Error_Handler
();
}
HAL_TIM_MspPostInit
(
&
htim16
);
TIM_OC_InitTypeDef
sConfigOC
;
TIM_BreakDeadTimeConfigTypeDef
sBreakDeadTimeConfig
;
htim16
.
Instance
=
TIM16
;
htim16
.
Init
.
Prescaler
=
79
;
htim16
.
Init
.
CounterMode
=
TIM_COUNTERMODE_UP
;
htim16
.
Init
.
Period
=
999
;
htim16
.
Init
.
ClockDivision
=
TIM_CLOCKDIVISION_DIV1
;
htim16
.
Init
.
RepetitionCounter
=
0
;
htim16
.
Init
.
AutoReloadPreload
=
TIM_AUTORELOAD_PRELOAD_DISABLE
;
if
(
HAL_TIM_Base_Init
(
&
htim16
)
!=
HAL_OK
)
{
Error_Handler
();
}
if
(
HAL_TIM_PWM_Init
(
&
htim16
)
!=
HAL_OK
)
{
Error_Handler
();
}
sConfigOC
.
OCMode
=
TIM_OCMODE_PWM1
;
sConfigOC
.
Pulse
=
499
;
sConfigOC
.
OCPolarity
=
TIM_OCPOLARITY_HIGH
;
sConfigOC
.
OCNPolarity
=
TIM_OCNPOLARITY_HIGH
;
sConfigOC
.
OCFastMode
=
TIM_OCFAST_DISABLE
;
sConfigOC
.
OCIdleState
=
TIM_OCIDLESTATE_RESET
;
sConfigOC
.
OCNIdleState
=
TIM_OCNIDLESTATE_RESET
;
if
(
HAL_TIM_PWM_ConfigChannel
(
&
htim16
,
&
sConfigOC
,
TIM_CHANNEL_1
)
!=
HAL_OK
)
{
Error_Handler
();
}
sBreakDeadTimeConfig
.
OffStateRunMode
=
TIM_OSSR_DISABLE
;
sBreakDeadTimeConfig
.
OffStateIDLEMode
=
TIM_OSSI_DISABLE
;
sBreakDeadTimeConfig
.
LockLevel
=
TIM_LOCKLEVEL_OFF
;
sBreakDeadTimeConfig
.
DeadTime
=
0
;
sBreakDeadTimeConfig
.
BreakState
=
TIM_BREAK_DISABLE
;
sBreakDeadTimeConfig
.
BreakPolarity
=
TIM_BREAKPOLARITY_HIGH
;
sBreakDeadTimeConfig
.
BreakFilter
=
0
;
sBreakDeadTimeConfig
.
AutomaticOutput
=
TIM_AUTOMATICOUTPUT_DISABLE
;
if
(
HAL_TIMEx_ConfigBreakDeadTime
(
&
htim16
,
&
sBreakDeadTimeConfig
)
!=
HAL_OK
)
{
Error_Handler
();
}
HAL_TIM_MspPostInit
(
&
htim16
);
}
/***************************************************************
...
...
@@ -72,17 +72,17 @@ void MX_TIM16_Init(void)
void
HAL_TIM_Base_MspInit
(
TIM_HandleTypeDef
*
tim_baseHandle
)
{
if
(
tim_baseHandle
->
Instance
==
TIM16
)
{
/* USER CODE BEGIN TIM16_MspInit 0 */
if
(
tim_baseHandle
->
Instance
==
TIM16
)
{
/* USER CODE BEGIN TIM16_MspInit 0 */
/* USER CODE END TIM16_MspInit 0 */
/* TIM16 clock enable */
__HAL_RCC_TIM16_CLK_ENABLE
();
/* USER CODE BEGIN TIM16_MspInit 1 */
/* USER CODE END TIM16_MspInit 0 */
/* TIM16 clock enable */
__HAL_RCC_TIM16_CLK_ENABLE
();
/* USER CODE BEGIN TIM16_MspInit 1 */
/* USER CODE END TIM16_MspInit 1 */
}
/* USER CODE END TIM16_MspInit 1 */
}
}
/***************************************************************
...
...
@@ -94,27 +94,27 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
void
HAL_TIM_MspPostInit
(
TIM_HandleTypeDef
*
timHandle
)
{
GPIO_InitTypeDef
GPIO_InitStruct
;
if
(
timHandle
->
Instance
==
TIM16
)
{
/* USER CODE BEGIN TIM16_MspPostInit 0 */
GPIO_InitTypeDef
GPIO_InitStruct
;
if
(
timHandle
->
Instance
==
TIM16
)
{
/* USER CODE BEGIN TIM16_MspPostInit 0 */
/* USER CODE END TIM16_MspPostInit 0 */
/* USER CODE END TIM16_MspPostInit 0 */
/**TIM16 GPIO Configuration
PB8 ------> TIM16_CH1
*/
GPIO_InitStruct
.
Pin
=
SF1_Beep_Pin
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_AF_PP
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
GPIO_InitStruct
.
Speed
=
GPIO_SPEED_FREQ_HIGH
;
GPIO_InitStruct
.
Alternate
=
GPIO_AF14_TIM16
;
HAL_GPIO_Init
(
SF1_Beep_GPIO_Port
,
&
GPIO_InitStruct
);
/**TIM16 GPIO Configuration
PB8 ------> TIM16_CH1
*/
GPIO_InitStruct
.
Pin
=
SF1_Beep_Pin
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_AF_PP
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
GPIO_InitStruct
.
Speed
=
GPIO_SPEED_FREQ_HIGH
;
GPIO_InitStruct
.
Alternate
=
GPIO_AF14_TIM16
;
HAL_GPIO_Init
(
SF1_Beep_GPIO_Port
,
&
GPIO_InitStruct
);
/* USER CODE BEGIN TIM16_MspPostInit 1 */
/* USER CODE BEGIN TIM16_MspPostInit 1 */
/* USER CODE END TIM16_MspPostInit 1 */
}
/* USER CODE END TIM16_MspPostInit 1 */
}
}
...
...
@@ -126,43 +126,43 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
***************************************************************/
void
MX_ADC1_Init
(
void
)
{
ADC_ChannelConfTypeDef
sConfig
;
ADC_ChannelConfTypeDef
sConfig
;
/**Common config
*/
hadc1
.
Instance
=
ADC1
;
hadc1
.
Init
.
ClockPrescaler
=
ADC_CLOCK_ASYNC_DIV1
;
hadc1
.
Init
.
Resolution
=
ADC_RESOLUTION_12B
;
hadc1
.
Init
.
DataAlign
=
ADC_DATAALIGN_RIGHT
;
hadc1
.
Init
.
ScanConvMode
=
ADC_SCAN_DISABLE
;
hadc1
.
Init
.
EOCSelection
=
ADC_EOC_SINGLE_CONV
;
hadc1
.
Init
.
LowPowerAutoWait
=
DISABLE
;
hadc1
.
Init
.
ContinuousConvMode
=
DISABLE
;
hadc1
.
Init
.
NbrOfConversion
=
1
;
hadc1
.
Init
.
DiscontinuousConvMode
=
DISABLE
;
hadc1
.
Init
.
NbrOfDiscConversion
=
1
;
hadc1
.
Init
.
ExternalTrigConv
=
ADC_SOFTWARE_START
;
hadc1
.
Init
.
ExternalTrigConvEdge
=
ADC_EXTERNALTRIGCONVEDGE_NONE
;
hadc1
.
Init
.
DMAContinuousRequests
=
DISABLE
;
hadc1
.
Init
.
Overrun
=
ADC_OVR_DATA_PRESERVED
;
hadc1
.
Init
.
OversamplingMode
=
DISABLE
;
if
(
HAL_ADC_Init
(
&
hadc1
)
!=
HAL_OK
)
{
Error_Handler
();
}
hadc1
.
Instance
=
ADC1
;
hadc1
.
Init
.
ClockPrescaler
=
ADC_CLOCK_ASYNC_DIV1
;
hadc1
.
Init
.
Resolution
=
ADC_RESOLUTION_12B
;
hadc1
.
Init
.
DataAlign
=
ADC_DATAALIGN_RIGHT
;
hadc1
.
Init
.
ScanConvMode
=
ADC_SCAN_DISABLE
;
hadc1
.
Init
.
EOCSelection
=
ADC_EOC_SINGLE_CONV
;
hadc1
.
Init
.
LowPowerAutoWait
=
DISABLE
;
hadc1
.
Init
.
ContinuousConvMode
=
DISABLE
;
hadc1
.
Init
.
NbrOfConversion
=
1
;
hadc1
.
Init
.
DiscontinuousConvMode
=
DISABLE
;
hadc1
.
Init
.
NbrOfDiscConversion
=
1
;
hadc1
.
Init
.
ExternalTrigConv
=
ADC_SOFTWARE_START
;
hadc1
.
Init
.
ExternalTrigConvEdge
=
ADC_EXTERNALTRIGCONVEDGE_NONE
;
hadc1
.
Init
.
DMAContinuousRequests
=
DISABLE
;
hadc1
.
Init
.
Overrun
=
ADC_OVR_DATA_PRESERVED
;
hadc1
.
Init
.
OversamplingMode
=
DISABLE
;
if
(
HAL_ADC_Init
(
&
hadc1
)
!=
HAL_OK
)
{
Error_Handler
();
}
/**Configure Regular Channel
*/
sConfig
.
Channel
=
ADC_CHANNEL_3
;
sConfig
.
Rank
=
ADC_REGULAR_RANK_1
;
sConfig
.
SamplingTime
=
ADC_SAMPLETIME_2CYCLES_5
;
sConfig
.
SingleDiff
=
ADC_SINGLE_ENDED
;
sConfig
.
OffsetNumber
=
ADC_OFFSET_NONE
;
sConfig
.
Offset
=
0
;
if
(
HAL_ADC_ConfigChannel
(
&
hadc1
,
&
sConfig
)
!=
HAL_OK
)
{
Error_Handler
();
}
sConfig
.
Channel
=
ADC_CHANNEL_3
;
sConfig
.
Rank
=
ADC_REGULAR_RANK_1
;
sConfig
.
SamplingTime
=
ADC_SAMPLETIME_2CYCLES_5
;
sConfig
.
SingleDiff
=
ADC_SINGLE_ENDED
;
sConfig
.
OffsetNumber
=
ADC_OFFSET_NONE
;
sConfig
.
Offset
=
0
;
if
(
HAL_ADC_ConfigChannel
(
&
hadc1
,
&
sConfig
)
!=
HAL_OK
)
{
Error_Handler
();
}
}
...
...
@@ -175,26 +175,26 @@ void MX_ADC1_Init(void)
void
HAL_ADC_MspInit
(
ADC_HandleTypeDef
*
adcHandle
)
{
GPIO_InitTypeDef
GPIO_InitStruct
;
if
(
adcHandle
->
Instance
==
ADC1
)
{
/* USER CODE BEGIN ADC1_MspInit 0 */
GPIO_InitTypeDef
GPIO_InitStruct
;
if
(
adcHandle
->
Instance
==
ADC1
)
{
/* USER CODE BEGIN ADC1_MspInit 0 */
/* USER CODE END ADC1_MspInit 0 */
/* ADC1 clock enable */
__HAL_RCC_ADC_CLK_ENABLE
();
/* USER CODE END ADC1_MspInit 0 */
/* ADC1 clock enable */
__HAL_RCC_ADC_CLK_ENABLE
();
/**ADC1 GPIO Configuration
PC2 ------> ADC1_IN3
*/
GPIO_InitStruct
.
Pin
=
GPIO_PIN_2
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_ANALOG_ADC_CONTROL
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
HAL_GPIO_Init
(
GPIOC
,
&
GPIO_InitStruct
);
/**ADC1 GPIO Configuration
PC2 ------> ADC1_IN3
*/
GPIO_InitStruct
.
Pin
=
GPIO_PIN_2
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_ANALOG_ADC_CONTROL
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
HAL_GPIO_Init
(
GPIOC
,
&
GPIO_InitStruct
);
/* USER CODE BEGIN ADC1_MspInit 1 */
/* USER CODE BEGIN ADC1_MspInit 1 */
/* USER CODE END ADC1_MspInit 1 */
/* USER CODE END ADC1_MspInit 1 */
}
}
...
...
@@ -206,20 +206,20 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
***************************************************************/
void
Init_Beep
(
void
)
{
GPIO_InitTypeDef
GPIO_InitStruct
;
GPIO_InitTypeDef
GPIO_InitStruct
;
/* GPIO Ports Clock Enable */
SF1_Beep_GPIO_CLK_ENABLE
();
/* GPIO Ports Clock Enable */
SF1_Beep_GPIO_CLK_ENABLE
();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin
(
SF1_Beep_GPIO_Port
,
SF1_Beep_Pin
,
GPIO_PIN_RESET
);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin
(
SF1_Beep_GPIO_Port
,
SF1_Beep_Pin
,
GPIO_PIN_RESET
);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct
.
Pin
=
SF1_Beep_Pin
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_OUTPUT_PP
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
GPIO_InitStruct
.
Speed
=
GPIO_SPEED_FREQ_LOW
;
HAL_GPIO_Init
(
SF1_Beep_GPIO_Port
,
&
GPIO_InitStruct
);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct
.
Pin
=
SF1_Beep_Pin
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_OUTPUT_PP
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
GPIO_InitStruct
.
Speed
=
GPIO_SPEED_FREQ_LOW
;
HAL_GPIO_Init
(
SF1_Beep_GPIO_Port
,
&
GPIO_InitStruct
);
}
/***************************************************************
...
...
@@ -230,20 +230,20 @@ void Init_Beep(void)
***************************************************************/
void
Init_LED
(
void
)
{
GPIO_InitTypeDef
GPIO_InitStruct
;
GPIO_InitTypeDef
GPIO_InitStruct
;
/* GPIO Ports Clock Enable */
SF1_LED_GPIO_CLK_ENABLE
();
/* GPIO Ports Clock Enable */
SF1_LED_GPIO_CLK_ENABLE
();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin
(
SF1_LED_GPIO_Port
,
SF1_LED_Pin
,
GPIO_PIN_SET
);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin
(
SF1_LED_GPIO_Port
,
SF1_LED_Pin
,
GPIO_PIN_SET
);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct
.
Pin
=
SF1_LED_Pin
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_OUTPUT_PP
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
GPIO_InitStruct
.
Speed
=
GPIO_SPEED_FREQ_LOW
;
HAL_GPIO_Init
(
SF1_LED_GPIO_Port
,
&
GPIO_InitStruct
);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct
.
Pin
=
SF1_LED_Pin
;
GPIO_InitStruct
.
Mode
=
GPIO_MODE_OUTPUT_PP
;
GPIO_InitStruct
.
Pull
=
GPIO_NOPULL
;
GPIO_InitStruct
.
Speed
=
GPIO_SPEED_FREQ_LOW
;
HAL_GPIO_Init
(
SF1_LED_GPIO_Port
,
&
GPIO_InitStruct
);
}
/***************************************************************
* 函数名称: Init_E53_SF1
...
...
@@ -253,10 +253,10 @@ void Init_LED(void)
***************************************************************/
void
Init_E53_SF1
(
void
)
{
MX_ADC1_Init
();
Init_Beep
();
Init_LED
();
MX_TIM16_Init
();
MX_ADC1_Init
();
Init_Beep
();
Init_LED
();
MX_TIM16_Init
();
}
/***************************************************************
* 函数名称: E53_SF1_Read_Data
...
...
@@ -266,37 +266,37 @@ void Init_E53_SF1(void)
***************************************************************/
void
E53_SF1_Read_Data
(
void
)
{
HAL_ADC_Start
(
&
hadc1
);
HAL_ADC_PollForConversion
(
&
hadc1
,
50
);
E53_SF1_Data
.
Smoke_Value
=
HAL_ADC_GetValue
(
&
hadc1
);
HAL_ADC_Start
(
&
hadc1
);
HAL_ADC_PollForConversion
(
&
hadc1
,
50
);
E53_SF1_Data
.
Smoke_Value
=
HAL_ADC_GetValue
(
&
hadc1
);
}
/***************************************************************
* 函数名称: E53SF1_LED_StatusSet
* 说 明: E53SF1开发板上的LED灯的亮灭控制
* 参 数: status,LED灯的状态
*
非1,关灯
*
1,开灯
*
非1,关灯
*
1,开灯
* 返 回 值: 无
***************************************************************/
void
E53SF1_LED_StatusSet
(
E53SF1_Status_ENUM
status
)
{
HAL_GPIO_WritePin
(
SF1_LED_GPIO_Port
,
SF1_LED_Pin
,
status
!=
ON
?
GPIO_PIN_RESET
:
GPIO_PIN_SET
);
HAL_GPIO_WritePin
(
SF1_LED_GPIO_Port
,
SF1_LED_Pin
,
status
!=
ON
?
GPIO_PIN_RESET
:
GPIO_PIN_SET
);
}
/***************************************************************
* 函数名称: E53SF1_BEEP
* 说 明: E53SF1蜂鸣器报警与否
* 参 数: status,LED_ENUM枚举的数据
*
LED_OFF,关灯
*
LED_ON,开灯
*
LED_OFF,关灯
*
LED_ON,开灯
* 返 回 值: 无
***************************************************************/
void
E53SF1_Beep
(
E53SF1_Status_ENUM
status
)
{
if
(
status
==
ON
)
HAL_TIM_PWM_Start
(
&
htim16
,
TIM_CHANNEL_1
);
if
(
status
==
OFF
)
HAL_TIM_PWM_Stop
(
&
htim16
,
TIM_CHANNEL_1
);
if
(
status
==
ON
)
HAL_TIM_PWM_Start
(
&
htim16
,
TIM_CHANNEL_1
);
if
(
status
==
OFF
)
HAL_TIM_PWM_Stop
(
&
htim16
,
TIM_CHANNEL_1
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录