Вассилис
Пн 22 июня 2015 г. 20:14
Я включил SPI_DEBUG в SPI.Файл CPP (arduino_stm32 \ stm32f1 \ libraries \ spi \ src \ spi.CPP) и я заметил, что по умолчанию включено Lsbfirst.
spi_master_enable (0,0,896)
Когда я отправил команду: SPI.setbitOder (msbfirst); Вывод отладки был:
Порядок бита установлен на 1
spi_master_enable (0,0,768)
А VS1003B (VS1053B), а Ethercard библиотека, ILI9341 ЖК -дисплей и SSD1306 OLED Используйте MSBFirst.
Как вы думаете, это хорошая идея, чтобы установить setbitorder (msbfirst) По умолчанию в библиотеку SPI во время инициализации SPI <SPI.начинать()> ?
spi_master_enable (0,0,896)
Когда я отправил команду: SPI.setbitOder (msbfirst); Вывод отладки был:
Порядок бита установлен на 1
spi_master_enable (0,0,768)
А VS1003B (VS1053B), а Ethercard библиотека, ILI9341 ЖК -дисплей и SSD1306 OLED Используйте MSBFirst.
Как вы думаете, это хорошая идея, чтобы установить setbitorder (msbfirst) По умолчанию в библиотеку SPI во время инициализации SPI <SPI.начинать()> ?
Rogerclark
Пн 22 июня 2015 11:32
Что такое по умолчанию для AVR ?
Вассилис
Вт 23 июня 2015 г., 4:10
ATMEGA328 SPI по умолчанию сначала использует MSB.
Зарегистрировать SPCR, бит dord = 0 = msb
Atmega328p Страница 172
Зарегистрировать SPCR, бит dord = 0 = msb
Atmega328p Страница 172
Rogerclark
Вт 23 июня 2015 г., 4:37 утра
Спасибо
В этом случае мы, вероятно, должны изменить его, чтобы соответствовать AVR (я понятия не имею, почему Leaflabs установили бы по умолчанию другое значение)
В этом случае мы, вероятно, должны изменить его, чтобы соответствовать AVR (я понятия не имею, почему Leaflabs установили бы по умолчанию другое значение)
Paulrb
Вт 23 июня 2015 г. 13:39
Я второй, Роджер. Поймал меня, пока Вассилис не помог мне эта ветка.
Вассилис
Вторник 23 июня 2015 г. 15:10
Я нашел простое решение. Я не знаю, является ли это правильным файлом для изменения Но это сработало.
Файл Arduino_stm32 \ stm32f1 \ cores \ maple \ wirish_constants.час
Я поменял две линии в перечисление битеозатор . Это делает по умолчанию MSBFirst на портах SPI.
Файл Arduino_stm32 \ stm32f1 \ cores \ maple \ wirish_constants.час
Я поменял две линии в перечисление битеозатор . Это делает по умолчанию MSBFirst на портах SPI.
#ifndef _WIRING_CONSTANTS_
#define _WIRING_CONSTANTS_
#ifdef __cplusplus
extern "C"{
#endif
enum BitOrder {
//LSBFIRST = 0,
//MSBFIRST = 1
LSBFIRST = 1,
MSBFIRST = 0
};
#ifdef __cplusplus
}
#endif
#endif
Мадиас
Вторник 23 июня 2015 г. 15:30
I found a simple solution.
Вассилис
Вт 23 июня 2015 г., 17:25
Привет, Матиас
Я сделаю дополнительные тесты на i2c
Как вы думаете, где у нас будут проблемы с исходным кодом (библиотеки) ?
Я сделаю дополнительные тесты на i2c
Как вы думаете, где у нас будут проблемы с исходным кодом (библиотеки) ?
Мадиас
Вт 23 июня 2015 г., 18:11
Быстрый поиск кода GitHub (я люблю GitHub для этой функции!):
https: // github.com/rogerclarkmelbourne/ ... Q = битмодер
не так меньше файлов используют битуморд....
https: // github.com/rogerclarkmelbourne/ ... Q = битмодер
не так меньше файлов используют битуморд....
Вассилис
Вт 23 июня 2015 г., 18:59
Я попробовал библиотеку RTClib для часов DS1307 I2C в реальном времени, и она работает нормально. Нет неисправности.
Я сделаю еще несколько тестов на устройства i2c.
Я сделаю еще несколько тестов на устройства i2c.
victor_pv
Вт 23 июня 2015 г., 19:48
Мадиас написал:Быстрый поиск кода GitHub (я люблю GitHub для этой функции!):
https: // github.com/rogerclarkmelbourne/ ... Q = битмодер
не так меньше файлов используют битуморд....
https: // github.com/rogerclarkmelbourne/ ... Q = битмодер
не так меньше файлов используют битуморд....
Мадиас
Вт 23 июня 2015 г., 8:11 вечера
На arduino wiring_constants: https: // github.com/arduino/arduino/blob ... на Stants.час
enum BitOrder {
LSBFIRST = 0,
MSBFIRST = 1
};
Ахулл
Вт 23 июня 2015 г., 20:27
Мадиас написал:На arduino wiring_constants: https: // github.com/arduino/arduino/blob ... на Stants.час
enum BitOrder {
LSBFIRST = 0,
MSBFIRST = 1
};
victor_pv
Вт 23 июня 2015 г., 21:08
Мадиас написал:На arduino wiring_constants: https: // github.com/arduino/arduino/blob ... на Stants.час
enum BitOrder {
LSBFIRST = 0,
MSBFIRST = 1
};
Rogerclark
Вт 23 июня 2015 г., 21:38
Я думаю, что это безопаснее, просто чтобы исправить неонициализированные ценности в SPI, а не вносить глобальные изменения, поскольку глобальные изменения часто имеют неожиданные последствия.
Редактировать.
Мне нужно проверить это, чтобы убедиться, что SD Lib все еще работает и т. Д,
Но, насколько я вижу, нам просто нужно инициализировать битузадер
эн.глин. добавить линию в нижней части конструктора, чтобы установить ее. Мы также можем явно установить разделитель часов и режим, даже если инициализированные значения уже могут быть в порядке. Это просто облегчает для тех, кто читает код, чтобы выяснить, каковы значения по умолчанию
(Прокрутите в нижней части этого окна этого кода)
Редактировать.
Мне нужно проверить это, чтобы убедиться, что SD Lib все еще работает и т. Д,
Но, насколько я вижу, нам просто нужно инициализировать битузадер
эн.глин. добавить линию в нижней части конструктора, чтобы установить ее. Мы также можем явно установить разделитель часов и режим, даже если инициализированные значения уже могут быть в порядке. Это просто облегчает для тех, кто читает код, чтобы выяснить, каковы значения по умолчанию
(Прокрутите в нижней части этого окна этого кода)
SPIClass::SPIClass(uint32 spi_num) {
switch (spi_num) {
#if BOARD_NR_SPI >= 1
case 1:
this->spi_d = SPI1;
break;
#endif
#if BOARD_NR_SPI >= 2
case 2:
this->spi_d = SPI2;
break;
#endif
#if BOARD_NR_SPI >= 3
case 3:
this->spi_d = SPI3;
break;
#endif
default:
ASSERT(0);
}
bitOrder=MSBFIRST;
}
Вассилис
Ср 24 июня 2015 г. 6:33
Rogerclark написал:Я думаю, что это безопаснее, просто чтобы исправить ненициализированные ценности в SPI, а не вносить глобальные изменения, поскольку глобальные изменения часто имеют неожиданные последствия.
Rogerclark
Ср 24 июня 2015 г., 6:39
Василлис
Спасибо за тестирование.
У меня еще не было времени проверить это.
Я буду ждать немного больше отзывов, и если никто не возражает против изменения, я немного натолкнусь с изменением...
Спасибо за тестирование.
У меня еще не было времени проверить это.
Я буду ждать немного больше отзывов, и если никто не возражает против изменения, я немного натолкнусь с изменением...
Rogerclark
Ср 24 июня 2015 г. 11:36
Теперь я обновил репо с этим изменением