баг или глюк или что?
- Войдите на сайт для отправки комментариев
Чт, 16/07/2015 - 19:14
Arduino NANO пересылает данные по модулю беспроводной связи примерно раз в секунду, хотя не должна и выводит по Serial тоже примерно 1 раз в секунду.
вот код
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Wire.h>
#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"
const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба"
RF24 radio(9, 10); // CE, CSN
MPU6050 accelgyro;
int16_t ax, ay, az;
int16_t gx, gy, gz;
void setup()
{
Wire.begin();
accelgyro.initialize();
Serial.begin(9600);
radio.begin();
radio.setChannel(9); // канал (0-127)
// скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS
// RF24_250KBPS на nRF24L01 (без +) неработает.
// меньше скорость, выше чувствительность приемника.
radio.setDataRate(RF24_1MBPS);
// мощьность передатчика, RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM,
radio.setPALevel(RF24_PA_HIGH);
radio.openWritingPipe(pipe); // открываем трубу на передачу.
}
void loop()
{
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
//Вывод всего
/* Serial.print("a/g:\t");
Serial.print(ax); Serial.print("\t");
Serial.print(ay); Serial.print("\t");
Serial.print(az); Serial.print("\t");
Serial.print(gx); Serial.print("\t");
Serial.print(gy); Serial.print("\t");
*/
int data[2];
data[0] = ax;
data[1] = ay;
radio.write(&data, sizeof(data)); // отправляем данные и указываем сколько байт пакет
Serial.println(data[1]);
Serial.println(data[0]);
}
когда убираю radio.write(&data, sizeof(data));
то всё нормально и раньше всё нормально было. Как исправить???
?
Одному "нормально" одно, другому другое.
Как это к теме относится?
Как это к теме относится?
а какая тема?
я не понимаю чтот написано в коде?
или может
я вообще не знаю нафига там радио модуль и где он раньше был?
Он был всегда
Он был всегда
и чё?
Не нужна помощь? Флаг в руки
Зачем инициализировать переменные? Там же всё равно нули будут. :)
))). глупая ошибка
intdata[2];sizeof возвращает количество байт. поэтому возвращается четыре. поменяй на
byte
data[2];объяви массив в самом начале, а не каждый раз в лупе
Serial.begin(9600);поменяй на
Serial.begin(115200);4 и 5 строка????
> 4 и 5 строка????
Чтобы наверняка хоть какой-то подцепился. :)
))). глупая ошибка
Жень, ты вообще читаешь?
Arduino NANO пересылает данные по модулю беспроводной связи примерно раз в секунду, хотя не должна и выводит по Serial тоже примерно 1 раз в секунду.
когда убираю radio.write(&data, sizeof(data));
то всё нормально и раньше всё нормально было. Как исправить???
вот диктую тебе большими буквами "хотя не должна "
что именно тут разбирать то? ну убрал радио и не шлет больше. что еще нужно то?
а вы тут уже весь скеч по строчкам разложили.. зачем? О.о
))) да видно пропустил)))
решение: удалить радиомодуль, удалить библиотеку и строки его касающиеся
Мне какраз нужен радиомодуль!
не верю. передумал? в начале темы написано наоборот
обманываешь или издеваешься
Значит тему непрааильно понял.
Ну...
написал же ты не должна) а если должна написал еще в 11 посте