Код выдает ошибки (ошибки находятся ниже кода)
- Войдите на сайт для отправки комментариев
Пт, 24/06/2022 - 17:14
#include <CyberLib.h>
#include "HardwareSerial.h"
#include "HardwareSerial_private.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <inttypes.h>
#include <util/atomic.h>
#include "Arduino.h"
#include "USBAPI.h"
#include "wiring_private.h"
/////////////////////////////
#define PORT_SPEED 115200UL
#define TURN_OFF_CONNECTION 50
#define TURN_ON_ECG_READ 49
#define TURN_OFF_ECG_READ 48
#define ECG_DELAY_MICROS 5000UL
/////////////////////////////
uint8_t const static CODE_WORD[5] = { 51, 101, 99, 115, 101 };
uint8_t const static ANSWER[5] = { 101, 99, 103, 101, 116 };
/////////////////////////////
boolean static IsOpen = false;
uint16_t static temp = 0;
/////////////////////////////
inline __attribute__((always_inline)) static void GetCurrentEcgValue()
{
temp = PIND & B00001100 ? 0 : analogRead(0);
Serial.write(temp >> 8);
Serial.write(temp);
}
int StopTimerInterrupt;
int ChangeRXEventRange;
void setup()
{
Serial.begin(PORT_SPEED, SERIAL_8N1);
}
void SerialInputInterrupt()
{
if (IsOpen)
{
switch (Serial.read())
{
case TURN_OFF_CONNECTION:
StopTimerInterrupt();
Serial.changeRXEventRange(5);
IsOpen = false;
return;
case TURN_ON_ECG_READ:
StartTimerInterrupt(GetCurrentEcgValue, ECG_DELAY_MICROS);
return;
case TURN_OFF_ECG_READ:
StopTimerInterrupt();
return;
}
return;
}
uint8_t count = 0;
while (CODE_WORD[count] == Serial.read())
{
count ++;
}
if (count == 5)
{
Serial.write(ANSWER, 5);
Serial.ChangeRXEventRange(1);
IsOpen = true;
}
}
// трюк для того, чтобы пустой loop не включался в main
inline __attribute__((always_inline)) static void loop() {}
Arduino: 1.8.13 (Windows 10), Плата:"Arduino Uno"
C:\Users\Documents\Arduino\sketch_feb08a\sketch_feb08a.ino: In function 'void SerialInputInterrupt()':
sketch_feb08a:53:28: error: 'StopTimerInterrupt' cannot be used as a function
sketch_feb08a:54:16: error: 'class HardwareSerial' has no member named 'changeRXEventRange'
sketch_feb08a:59:9: error: 'StartTimerInterrupt' was not declared in this scope
C:\Users\Documents\Arduino\sketch_feb08a\sketch_feb08a.ino:59:9: note: suggested alternative: 'StopTimerInterrupt'
sketch_feb08a:63:28: error: 'StopTimerInterrupt' cannot be used as a function
sketch_feb08a:76:12: error: 'class HardwareSerial' has no member named 'ChangeRXEventRange'
exit status 1
'StopTimerInterrupt' cannot be used as a function
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Не получается залить скетч на ардуино выдает ошибки не могу понять в чем дело, пока новичок в ардуино
1597534268qw, почему бы вам не обратится туда, где вы это списали?
Сравнивая код и ваш вопрос - совершенно очевидно, что это писали не вы и вы в этом ни буквы не понимаете. В коде куча совершенно бредовых ошибок, причем замысел автора вообще не просматривается.
Такое впечатление, что вы просто половину кода потеряли при копировании.
Исправить ошибки синтаксиса можно, только код от этого разумнее не станет и работать не начнет.
Ошибка в строке +100500
https://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommen...
Что этот треш должен делать по вашему ?
А как у Вас устройство настроено?
Код выдает ошибки (ошибки находятся ниже кода)
И чё?
Когда (и если) у Вас появятся какие-то вопросы, Вы не стесняйтесь, спрашивайте.
Доброй ночи , проблема состоит в том что данный , скетч должен считывать сигнал с ардуино и подавать его на порт , затем моя программа должна считывать данные и строить график . Пробовал все возможные варианты написания скетчей , но моя программа (C#) неправильно строит график , а плоттер по последовательному соединению в самом Arduino IDE корректно строит график.
Доброй ночи , проблема состоит в том что данный , скетч должен считывать сигнал с ардуино и подавать его на порт
А где этот скетч должен запускаться?
если скетч считывает сигнал "с ардуино" и куда-то передает -логично предположить, что этот скетч запускается на чем-то. что находится между ардуино и портом. Что это за девайс?
Сигнал считывает устройство , которое подключено к Ардуино, а сама ардуинка по кабелю конектится с компом
Сигнал считывает устройство , которое подключено к Ардуино, а сама ардуинка по кабелю конектится с компом
ответ в стиле "рация на бронепоезде"... Что-то я вообще потерял нить обсуждения...
Я вас спросил, где этот скетч должен запускаться? На ардуине?
Чтобы можно было нормально обсуждать код - вставьте его по правилам форума.
Пробовал все возможные варианты написания скетчей
Кроме правильного ? )
скетч должен считывать сигнал с ардуино и подавать его на порт
и зачем для этого такой индусский код, где ардуино вперемешку со всем чем можно ? без четкого ТЗ невозможно понять. опишите требования к считыванию сигнала (частота, точность во времени) и формат передачи данных в порт, а лучше и еще шире задачу в целом
вот типовой пример передачи в порт значения analogread каждую миллисекунду. что вам не подходит ?
https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogReadSerial