Нет. Спасибо!!! Не учитывал.
Иногда вообще такая ерунда приходит
1234
1122
11яя
…
“Тот же” - это “такие же потери” или “все числа, полученные от акселерометра, присутствуют в Экселе”? Постарайтесь не отвечать так двусмысленно - диагноз поставить невозможно.
Если уйти от serial порта, по полноценному BT или WiFi можно было бы передать с частотой 5 КГц? Например, по 2 байта.
Кстати, а нужно ли вам 12бит разрядности? Судя по программе, у вас все числа предполагаются 4хзначными - то есть диапазоне 1000 - 4096. Может сместить этот диапазон на 4 бита вправо, чтобы значения помещались в байт - выиграете в скорости передачи в 5 раз
В любом случае от передачи в виде строк “1123” надо уходить. Передавайте бинарные данные - во-первых это 2 байта вместо 4х, а во-вторых экономите время на конверсии
Иногда, да. Я через Termite 3.4 сохраняю в txt.
Вот что получаю в терминал:
1000
…
0000
0000
0000
0яяя
END
Сейчас без датчика
Спасибо!!! Передавать в бинарном виде. А как сместить, пжт, подскажите.
myFile.print ((uint8_t)(analogRead(27)>>4), DEC); // wrong!!! see below
и, кстати, разделитель станет не нужен
DEC (не BIN)
нет, вообще не так
myFile.write((uint8_t)(analogRead(27)>>4));
не print а write, и никакие DEC BIN не надо
Спасибо!!! Пробую.
на приемнике будут бинарные данные, а не символы - приемку менять придется
Хорошо. Я понял.
#include "BluetoothSerial.h"
#include "FS.h"
#include "SPIFFS.h"
BluetoothSerial ACC_BT;
File myFile;
void setup(){
Serial.begin(9600);
SPIFFS.begin();
ACC_BT.begin("Accelerometer");
SPIFFS.format();
}
void loop(){
if (ACC_BT.available()){
if (ACC_BT.read() == 49){
myFile = SPIFFS.open("/file.txt", FILE_WRITE);
for (int i = 0; i < 1024; i++){
myFile.write((uint8_t)(analogRead(27)>>4));
delayMicroseconds(200);
}
myFile.close();
myFile = SPIFFS.open("/file.txt", FILE_READ);
while(myFile.available()){
ACC_BT.write(myFile.read());
}
myFile.close();
SPIFFS.remove("/file.txt");
ACC_BT.println("END");
}
}
}
Чтобы получить опрос четко 5КГц, правильно использовать millis() вместо delay?
правильно читать через таймер и прерывание, код на прежнем форуме был
Пжт, дайте ссылку. Читал несколько примеров, не смог разобраться. Или пример, хотя бы несколько строк.
читать читал, но мне без надобности ни код ни ссылки не сохранял
вот к примеру
Спасибо!
А ты даташит прочитал, “хотелось бы”?