📄 temperaturecontroller.cpp
字号:
////////////////////////////////////////////////////////
// 僼傽僀儖偺愢柧丗搾暒偐偟惂屼僋儔僗幚懱
////////////////////////////////////////////////////////
#include "Rtos.h"
#include "TemperatureController.h"
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗僐儞僗僩儔僋僞
// 曄悢偺弶婜壔
// 堷 悢丗側偟
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
TemperatureController::TemperatureController()
{
this->waitTaskID = 0;
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗惂屼廃婜庢摼
// 尰嵼愝掕偝傟偰偄傞惂屼廃婜傪庢摼偡傞
// 堷 悢丗側偟
// 栠傝抣丗惂屼廃婜
////////////////////////////////////////////////////////
SHORT TemperatureController::getControlPeriod()
{
return this->controlPeriod;
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗惂屼廃婜愝掕
// 惂屼廃婜傪愝掕偡傞
// 堷 悢丗惂屼廃婜
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID TemperatureController::setControlPeriod( SHORT ControlPeriod )
{
this->controlPeriod = ControlPeriod;
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗惂屼検愝掕
// 惂屼検傪亾偱愝掕偡傞丅
// 惂屼検偼惂屼廃婜偺娫偵僸乕僞乕傪俷俶偵偡傞帪娫偺妱崌
// 堷 悢丗惂屼検
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID TemperatureController::setControlRatio( SHORT ControlRatio )
{
this->controlRatio = ControlRatio;
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗惂屼検偺懸偪
// 惂屼検丄惂屼娫妘傪巊梡偟偰幚嵺偺僸乕僞乕惂屼傪偍偙側偆
// 堷 悢丗側偟
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID TemperatureController::waitControlPeriod()
{
::get_tid( &this->waitTaskID );
SHORT OnTime = this->controlPeriod * this->controlRatio / 100; //僸乕僞乕 ON 偺帪娫
SHORT OffTime = this->controlPeriod - OnTime; //僸乕僞乕 OFF 偺帪娫
if( OnTime )
{
this->pHeater->ActivateHeating(); // 僸乕僞乕 ON
::dly_tsk( OnTime ); // ON 帪娫懸偮
}
if( OffTime )
{
this->pHeater->StopHeating(); // 僸乕僞乕 OFF
::dly_tsk( OffTime ); // OFF 帪娫懸偮
}
this->waitTaskID = 0;
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗惂屼検偺懸偪傪拞抐偡傞
// 堷 悢丗側偟
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID TemperatureController::breakWaitControlPeriod()
{
if( this->waitTaskID )
{
::rel_wai( waitTaskID );
}
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗栚昗壏搙愝掕
// 堷 悢丗栚昗壏搙
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID TemperatureController::setTargetTemperature( SHORT TargetTemperature )
{
this->targetTemperature = TargetTemperature;
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗僙儞僒忣曬庢摼僆僽僕僃僋僩偺愝掕
// 偙偺僆僽僕僃僋僩偑巊梡偡傞僙儞僒忣曬僆僽僕僃僋僩傪愝掕偡傞
// 堷 悢丗栚昗壏搙
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID TemperatureController::setSensorInfo( SensorInfo * SensorInfoObj )
{
this->pSensorInfo = SensorInfoObj;
}
////////////////////////////////////////////////////////
// 僋儔僗丗搾暒偐偟惂屼僋儔僗
// 婡 擻丗僸乕僞乕僆僽僕僃僋僩偺愝掕
// 偙偺僆僽僕僃僋僩偑巊梡偡傞僸乕僞乕僆僽僕僃僋僩傪愝掕偡傞
// 堷 悢丗栚昗壏搙
// 栠傝抣丗側偟
////////////////////////////////////////////////////////
VOID TemperatureController::setHeater( HeaterController * HeaterObj )
{
this->pHeater = HeaterObj;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -