9 changed files with 215 additions and 131 deletions
-
5Core/Inc/tim.h
-
12Core/Src/gpio.c
-
1Core/Src/main.c
-
104Core/Src/tim.c
-
59graphite_digester_io_board_v2.ioc
-
2sdk
-
85usrc/main.cpp
-
25usrc/temperature_sensor.cpp
-
53usrc/temperature_sensor.hpp
@ -1 +1 @@ |
|||
Subproject commit cc8a5b4f9af4e1111cd51e0242dbf9172298db3a |
|||
Subproject commit 57cf05c056145c69697f94f5320581ad1dcb8cc3 |
@ -1,25 +0,0 @@ |
|||
#include "temperature_sensor.hpp"
|
|||
|
|||
using namespace iflytop; |
|||
|
|||
void TemperatureSensor::initialize(ADC_HandleTypeDef* hadc1, int32_t channel) { //
|
|||
m_adc.initialize(hadc1, channel); |
|||
} |
|||
|
|||
int32_t TemperatureSensor::getTemperature(int32_t& sensorval) { |
|||
// 4000ma->20ma ==> 0->350
|
|||
// V=150*I
|
|||
// I=V/150
|
|||
int32_t adcval = 0; |
|||
|
|||
int ret = m_adc.get_adc_value(adcval); |
|||
float v = adcval * 3.3 / 4096; |
|||
float I = v / 150.0 * 1000; |
|||
int32_t temperature001 = (I - 20) * (4000 - 20) * 350 * 100; // 0.01¶È
|
|||
if (temperature001 < 0) { |
|||
temperature001 = 0; |
|||
} |
|||
|
|||
sensorval = temperature001; |
|||
return ret; |
|||
} |
@ -1,53 +0,0 @@ |
|||
//
|
|||
// Created by zwsd
|
|||
//
|
|||
|
|||
#pragma once
|
|||
#include "sdk/os/zos.hpp"
|
|||
//
|
|||
#include "sdk/chip/api/zi_temperature.hpp"
|
|||
#include "sdk\chip\api\zi_adc.hpp"
|
|||
#include "sdk\components\hardware\adc\z_simple_adc.hpp"
|
|||
#include "sdk\components\zprotocols\zcancmder_v2\api\api.hpp"
|
|||
|
|||
namespace iflytop { |
|||
using namespace std; |
|||
|
|||
class TemperatureSensor : public ZITemperatureSensor { |
|||
public: |
|||
ZADC m_adc; |
|||
|
|||
ADC_HandleTypeDef* hadc1; |
|||
int32_t channel; |
|||
|
|||
/**
|
|||
* @brief |
|||
* |
|||
* @param hadc1 adc handle |
|||
* @param channel |
|||
* ADC_CHANNEL_0 |
|||
* ADC_CHANNEL_1 |
|||
* ADC_CHANNEL_2 |
|||
* ADC_CHANNEL_3 |
|||
* ADC_CHANNEL_4 |
|||
* ADC_CHANNEL_5 |
|||
* ADC_CHANNEL_6 |
|||
* ADC_CHANNEL_7 |
|||
* ADC_CHANNEL_8 |
|||
* ADC_CHANNEL_9 |
|||
* ADC_CHANNEL_10 |
|||
* ADC_CHANNEL_11 |
|||
* ADC_CHANNEL_12 |
|||
* ADC_CHANNEL_13 |
|||
* ADC_CHANNEL_14 |
|||
* ADC_CHANNEL_15 |
|||
* ADC_CHANNEL_16 |
|||
* ADC_CHANNEL_17 |
|||
* ADC_CHANNEL_18 |
|||
*/ |
|||
void initialize(ADC_HandleTypeDef* hadc1, int32_t channel); |
|||
|
|||
virtual int32_t getTemperature(int32_t& sensorval); |
|||
}; |
|||
|
|||
} // namespace iflytop
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue