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