#14
Сообщение
Wip85 » 05.05.2017{, 18:14}
В блоке стоят RX10 TX11 я задаю в блоке UART отправка переменной в уарт RX0 TX1
Добавлено (05.05.2017, 18:12)
---------------------------------------------
Но светодиод на ардуинке мигает RX перетыкал все уарты не работает. Монитор ком порта пишет какието кракозябры.
Добавлено (05.05.2017, 18:12)
---------------------------------------------
флоат
Добавлено (05.05.2017, 18:14)
---------------------------------------------
#include <PZEM004T.h>
bool en_15011878_1;
float volt_15011878_1;
float current_15011878_1;
float power_15011878_1;
float energy_15011878_1;
PZEM004T pzem_15011878_1( 0 , 1 ); // RX,TX
IPAddress ip_15011878_1( 192,168,1,1 );
float _SV1CP0 = 0.00;
bool _SV1CP0needSend = 0;
unsigned long _SV1CP0Time = 0UL;
void setup()
{
Serial.begin(9600);
_SV1CP0Time = millis();
pzem_15011878_1.setAddress(ip_15011878_1);
}
void loop()
{
//Плата:1
en_15011878_1 = 1;
if (en_15011878_1)
{
volt_15011878_1 = pzem_15011878_1.voltage(ip_15011878_1);
current_15011878_1 = pzem_15011878_1.current(ip_15011878_1);
power_15011878_1 = pzem_15011878_1.power(ip_15011878_1);
energy_15011878_1 = pzem_15011878_1.energy(ip_15011878_1);
if (volt_15011878_1 < 0.0) {volt_15011878_1 = 0.0;}
if (current_15011878_1 < 0.0) {current_15011878_1 = 0.0;}
if (power_15011878_1 < 0.0) {power_15011878_1 = 0.0;}
if (energy_15011878_1 < 0.0) {energy_15011878_1 = 0.0;}
}
if (_isTimer(_SV1CP0Time, 1000 )) {_SV1CP0 = volt_15011878_1; _SV1CP0needSend = 1; _SV1CP0Time = millis();}
if(_SV1CP0needSend) {
_SV1CP0needSend = 0;
Serial.write (1);
Serial.print (1);
Serial.write (2);
Serial.print (_SV1CP0);
Serial.write (3);}
}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}