Две независимые шины SPI для синхронной передачи данных
- Войдите на сайт для отправки комментариев
Ср, 21/07/2021 - 15:37
Здравствуйте, как сделать для интерфейса SPi на Arduino UNO по два MOSI, MISO, а то стандартно по одному. Требуется передача данных ускорения с двух акселерометров, по одной шине (выбор через SS ) возникают проблемы, пытался сделать, но не могу работать с регистрами, и не знаю, какая минимальная задержка должна быть между двумя приходящими сигналами. Кто вообще работал с SPI и хорошо разбирается, подскажите пожалуйста, по подключению нескольких устройств, заранее спасибо.
И вместо того чтобы решить проблему, ты создаешь себе еще большую проблему, я правильно понял?
Это штатная задача для одного SPI
Каких?
Так, если требуется по одной, то зачем Вы спрашиваете про две?
Какие? Как именно они проявляются?
Как? Где скетч и схема подключения? Что не так с этими попытками? Что именно работает не так, как ожидается?
Учитесь! Или Вы предлагаете мне за Вас научиться? Тогда у меня для Вас приятная новость - уже научился, так что делайте!
Не понял о каких сигналах речь, но, в любом случае, это есть в даташите, читайте.
Что именно Вам подсказать?
Как надо подключать написано на любом заборе. Почему у Вас что-то не работает мы не знаем (чтобы знали, Вы должны подробно ответить на ВСЕ вопросы выше). Вот когда объясните Вашу проблему, тогда и поговорим, пока говорить не о чем.
Не за что.
Аксселерометры ADXL362. Мне нужна синхронная передача, а по одному каналу этого сделать нельзя, надо либо по одному каналу с постоянной разностью фаз, либо по двум независимым. У меня получилось подключить два ADXL362, по одной шине с разными SS, но второй, при изменении в нем ускорений, отражается сильными скачками на графике первого, при этом первый никак не влияет на второй, короче второй как то влияет на первый.
/*
ADXL362_SimpleRead.ino - Simple XYZ axis reading example
for Analog Devices ADXL362 - Micropower 3-axis accelerometer
go to http://www.analog.com/ADXL362 for datasheet
License: CC BY-SA 3.0: Creative Commons Share-alike 3.0. Feel free
to use and abuse this code however you'd like. If you find it useful
please attribute, and SHARE-ALIKE!
Created June 2012
by Anne Mahaffey - hosted on http://annem.github.com/ADXL362
Modified May 2013
by Jonathan Ruiz de Garibay
Connect SCLK, MISO, MOSI, and CSB of ADXL362 to
SCLK, MISO, MOSI, and DP 10 of Arduino
(check http://arduino.cc/en/Reference/SPI for details)
*/
#include
#include
ADXL362 xl;
ADXL362 x2;
int16_t temp;
int16_t XValue;
int16_t XValue2;
void setup(){
Serial.begin(9600);
xl.begin(10);
xl.beginMeasure();
x2.begin(9);
x2.beginMeasure();
Serial.println("XValue XValue2");
}
void loop(){
// read all three axis in burst to ensure all measurements correspond to same sample time
digitalWrite(10,LOW);
XValue = xl.readXData();
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(9,LOW);
XValue2 = x2.readXData();
digitalWrite(9, HIGH);
Serial.print(XValue);
Serial.print(" ");
Serial.println(XValue2);
delay(1000);
}
1. Вставка программного кода в тему/комментарий. В таком виде код обсуждать невозможно. Да и читать, тоже. Например, что там за пустые include? Что там на самом деле?
2. Вас просили ответить на ВСЕ вопросы выше. Например, схему подключения я не вижу. Кстати, если используете библиотеки (или что там за инклюды), давайте ссылки на используемые библиотеки.
В общем, Вы должны ответить на ВСЕ вопросы. Пока этого не будет, говорить не о чем. Я Вам говорю это второй раз. Третий раз говорить не буду. Если Вам это не нужно, то мне - тем более.
И кстати, Вы плодите новые вопросы. Заодно и на них отвечайте. Например,
Показать не хотите? Секрет?
Может просто у первого контакт ненадежный? Вот когда вторым трясете первый и глючит.
По поводу скетча - дергать 9м и 10м пином вовсе не обязательно. Библиотека делает это сама.