Драйвер для оборудования F4 - не могу сделать аппаратные разговоры с булавками!

Палмерр
Пт 31 марта 2017 г. 7:34
Я работаю на доске F4 (Black STM32F4Vet6 на вики).

У меня есть программное обеспечение I2C, отлично работает как на F1, так и F4.
У меня Hwire прекрасно работает на F1, но он ломается на F4.

На логическом анализаторе остаются выводы SDA /SCL, когда код запускается для оборудования /F4.

Hwire Times Out (я изменил настройку по умолчанию, 0 [Never Time Out] на 10000 [10 секунд] на первом вызове EndTransmission ().
Он висит на втором вызове endtransmission () - потерян где -то в середине i2c_master_xfer ().

Единственное, что изменяется в регистрах после первого вызова энтерсмиссии, - это CR1, становится 101 (я.эн. Начальный бит установлен).

Любые подсказки?

----------------------------------------
12C1 отображается на портб6 и 7
Я использую свой стандартный тестовый модуль I2C: MAG3110 с подтягиванием в VCC.

Справочный код доски и библиотеки на моем GitHub https: // github.com/palmerr23/stm32f407

Основной код прост: " 1 set configuration to 0x801F000 / 0x801F800 / 0x400 (RB MCU)\r\n" \

AG123
Пн, 03 апреля 2017 г., 13:42
Хотя я в значительной степени новичок в этом, я нашел сеть, которую я не слишком уверен, если это помогает
http: // www.Эмку.It/stm32/stm32vldiscove ... Брэри.HTML

Некоторые из указателей похожи
Инициализировать периферическую структуру . эн.глин. Включить SPI, GPIO и т. Д

Не забудьте занять периферийные устройства.
Я думаю, что у F4 есть гораздо больше периферийных автобусов, чем F1, может ли это быть конкретный автобус не так?

Надеюсь, это поможет

ZMEMW16
Пн, 03 апреля 2017 г. 20:38
Если я помню, вы используете HAL.
У меня тоже есть эти черные 407, оба они, также отображаются как «совместимые»

Есть ли пример 'просто??'I2C F4 Код, если да, то, что это делает в терминах часов, альтернативных элементов управления битами, регистров и т. Д
те, которые, вероятно, не названы в соответствии с STM32F1 ?
Не совсем то, о чем вы думаете, это по сравнению с STM32F1 ?
Без сомнения, гигины, немного флага не в том же месте, и маска может быть неправильно ?
SCL и SDA работают в режиме Pure GPIO ?

Стивен

Палмерр
Вт 04 апреля 2017 г. 1:56 утра
Стивен,

Ограниченный "HAL" - Caple Code как Core, с Hardwire на проволочной базе на I2C Libs.

Я медленно проверяю все, что вы упомянули. В настоящее время просмотр настроек Martin RCC, чтобы увидеть, подходит ли дерево часов для i2c.

Я собираюсь попробовать новое ядро ​​STM32F4, опубликованное в субботу, и внесет свой вклад в это, если оно будет практичным, а не настойчивым на сильно модифицированном ядре Maple.

Спасибо за совет.

Ричард

AG123
Вторник 04 апреля 2017 г. 13:41
У меня довольно странное предложение, если у вас есть альтернативная настройка среды разработки, E.глин. Eclipse (для себя я использую Eclipse + CDT + добавить на gnu arm eclipse http: // gnuarmeclipse.GitHub.io/) вы можете построить «эскиз», используя стандартную периферийную библиотеку St.Если «эскиз» работает со стандартной периферийной библиотекой ST, он, вероятно, предполагает, что проблема находится в программном обеспечении, а не в оборудовании, не уверен, что это помогает. gnu arm eclipse фактически включает в себя шаблоны Blinky Project, связывающие стандартную библиотеку периферийных устройств, он может немного облегчить ситуацию, если у вас уже есть эта среда

ZMEMW16
Вт 04 апреля 2017 г. 22:34
В аналогичном вене, могу ли я добавить Unicore-MX-examples и Libopencm3-examples, поскольку они являются обертками в SPI
Каждый из них, если вы 'Git Clone-Recurive' Потяните определенный экземпляр библиотек Unicore-MX и Libopencm3.

Примеры при построении с этими экземплярами дают кучу в основном ошибок USB (USB - WIP)
Удаление этих экземпляров и втягивание Unicore-MX и LiboPencm3 в структуру каталога примеров облегчает большинство, если не все.
Я использую Softlink для своего домашнего каталога «Мастер»

клон.SH - это обертка, чтобы я мог скопировать ссылку GitHub, вставить в терминал и потянуть прямо или в каталог

клон.шнур & fetch_unicore-mx.sh прикреплены, libopencm3 - прямое редактирование, также переименовано в .SH и CHMOD это
цель - мой домашний каталог.
клон.SH использует только ссылку с необязательным каталогом - выходит, если GIT видит существующий каталог

Скрипт Fetch выполняет 'rm -rf ~/unicore -mx*

Я также использую шаблон Unicore-Core для моей работы, он имеет значительную структуру каталогов, в отличие от оригинала
Есть номер, который можно найти на GitHub : D
Снова в моих рабочих каталогах F1 и F4 я использую мягкую ссылку на библиотеку

Стивен

Палмерр
Вторник 04 апреля 2017 г., 11:00 вечера
Спасибо, ребята,

Я использую немного другой подход, который параллельна те, которые вы предлагаете.

Вместо изменения среды развития, изначально я смотрю на:

а) тестирование альтернативных библиотек, найти один, который работает, а затем проследить различия, чтобы найти исправление. В основном я позаимствовал другие периферические библиотеки F1, которые должны быть идентичны для компонента I2C после всех сортировки GPIO, часы и другие вопросы разобрались.

б) Увеличение понимания того, что происходит в MCU.

К сожалению, б) крайне неадекватно в базовых конфигурациях Arduino, и использование одного из IDE, которые имеют более обширные инструменты отладки, вполне могут помочь. Я могу инвестировать в зонд черной магии, если я не сделаю все в ближайшее время. Логический анализатор и серийный монитор могут только рассказать вам о том, что происходит!

Если я не сделаю прогресс быстро, я перетасаю плагины STM32 для Eclipse и попробую это. Привлекательность Arduino, конечно же, все прекрасные, относительно портативные и простые библиотеки устройств, доступные!

Еще раз, спасибо за идеи, это может быть одиноко и разочаровываться на клавиатуре, столкнувшись с кусочком оборудования, которое просто не будет говорить!

Ричард

AG123
Солнце 09 апреля 2017 г. 15:44
@palmerr
Я только что поднял свой black_f407vet6, Fresh.
Я отметил, что продавец установил эскиз по умолчанию на плате в основном мигает 2 светодиода в углу
(на фото http: // wiki.STM32duino.com/index.PHP?title = STM32F407 это 2 светодиода в нижней части слева)
Вы замечаете это изначально? Если это вероятно, что это как бы говорит, что доска «жива»

Соответственно, STM32F407VET6 фактически имеет 2 порта USB, http: // www.ул.com/en/microcontrollers/stm32f407ve.HTML
Один из них - высокая скорость / OTG. казалось, что у платы есть только на разъеме.
Другой, который представляет собой полную скорость /OTG -порт, нет с разъемом. Я вспомнил, что для установки DFU-UTIL перечислены DFU/присутствует на этом втором порту (на другой плате), который несколько прискорбен. Вероятно, нужно пойти с SWD/JTAG, чтобы работать с правлением
В противном случае можно было бы установить эскиз или резервное копирование вспышки, просто используя dfu-util

ZMEMW16
Солнце 09 апреля 2017 г., 17:45
Шахта подключена с помощью JTAG, белого/синего яйца ST-Link.
Итак, я использую #include // for I2C #define i2caddr 0x50 // device address for left-hand chip on our breadboard byte d=0; // data to store in or read from the EEPROM void setup() { Serial.begin(9600); // Initialize the serial line Serial.println("I2c test"); delay (1000); Serial.println("Start1"); Wire.begin(); // wake up the I2C delay (1000); Serial.println("Start2"); Serial.println("Writing data..."); for (int i=0; i<20; i++) { writeData(i,i); } Serial.println("DONE"); Serial.println("Reading data..."); for (int i=0; i<20; i++) { Serial.print(i); Serial.print(" : "); d=readData(i); Serial.println(d, DEC); } Serial.println("DONE"); } // writes a byte of data in memory location addr void writeData(unsigned int addr, byte data) { Wire.beginTransmission(i2caddr); // set the pointer position //Wire.write((int)(addr >> 8)); Wire.write((int)(addr & 0xFF)); Wire.write(data); Wire.endTransmission(); delay(10); } // reads a byte of data from memory location addr byte readData(unsigned int addr) { byte result; Wire.beginTransmission(i2caddr); // set the pointer position //Wire.write((int)(addr >> 8)); Wire.write((int)(addr & 0xFF)); Wire.endTransmission(); Wire.requestFrom(i2caddr,1); // get the byte of data result = Wire.read(); return result; } void loop() { }

AG123
Солнце 09 апреля 2017 г., 19:14
Я отметил кое -что, что оказывается * сюрпризом * для моей черной платы STM32Vet6, продавец установил Mlinky Sketch/App *Отключить порт JTAG* : шок:

Первоначально я не могу программировать через порт JTAG, и я подумал, что у меня есть кирпичная доска. Когда я сделал Openocd, я получил Gnu arm eclipse 64-бит открытый в чип-отладчик 0.10.0-00113-G0F83948 (2017-01-24-19: 18)
Лицензирован в рамках GNU GPL V2
Для отчетов об ошибках читай http: // openocd.org/doc/doxygen/ошибки.HTML
Информация: Автоматический выбор первого доступного сеанса транспорта "JTAG". Чтобы переопределить использование 'Transport Select <трэнд
Ansport>'.
Скорость адаптера: 2000 кГц
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
Нет отдельно
cortex_m Reset_config sysresetReq
Информация: тактовая скорость 2000 кГц
Ошибка: не удалось: все
Ошибка: Проверьте интерфейс JTAG, временные времена, целевая мощность и т. Д.
Ошибка: в любом случае попытка использовать настроенную цепочку сканирования...
Ошибка: STM32F4X.ЦП: ошибка захвата ИК; видел 0x0f не 0x01
Предупреждение: обход событий настройки JTAG из -за ошибок
Ошибка: неверный ACK (7) в ответе DAP
Ошибка: липкая ошибка JTAG-DP
Ошибка: неверный ACK (7) в ответе DAP
Ошибка: липкая ошибка JTAG-DP
Ошибка: неверный ACK (7) в ответе DAP
Ошибка: липкая ошибка JTAG-DP
...
Ошибка: не может инициализировать порт отладки
Мне пришлось прибегнуть к этому подходу «подключиться под сброс», чтобы подключиться через JTAG к доске
Я нашел ссылку на процедуру, описанную здесь
https: // github.com/spark/persdware/uppense/31

После того, как я стерла первые дюжины секторов, используя метод «Подключить к сбросу», я могу восстановить нормальное соединение openocd jtag Gnu arm eclipse 64-бит открытый в чип-отладчик 0.10.0-00113-G0F83948 (2017-01-24-19: 18)
Лицензирован в рамках GNU GPL V2
Для отчетов об ошибках читай
http: // openocd.org/doc/doxygen/ошибки.HTML
Информация: Автоматический выбор первого доступного сеанса транспорта "JTAG". Чтобы переопределить использование 'Transport Select <транспорт>'.
Скорость адаптера: 2000 кГц
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
Нет отдельно
cortex_m Reset_config sysresetReq
Информация: тактовая скорость 2000 кГц
Информация: JTAG Tap: STM32F4X.CPU Tap/Device найдено: 0x4ba00477 (MFG: 0x23b (Arm Ltd.), часть: 0xba00, ver: 0x4)
Информация: JTAG Tap: STM32F4X.BS TAP/Устройство найдено: 0x06413041 (MFG: 0x020 (Stmicroelectronics), часть: 0x6413, ver: 0x0)
После этого я вспыхнул мглый эскиз / приложение, которое основано на ST HAL - non arduino

AG123
Солнце 09 апреля 2017 г., 19:18
Кроме того, я обнаружил, что STM32VET6-Black против STM32ZET6-Black подключен по-разному на плате, даже если фотографии выглядели одинаково на eBay и т. Д : шок:

Для Vet6 светодиоды находятся на PA6 и PA7
http: // wiki.STM32duino.com/images/5/5c/ ... Эматический.PDF
В то время как на Zet6 светодиоды находятся на PF9 и PF10
http: // wiki.STM32duino.com/images/4/4f/ ... _SCH-1.PDF

Я прикрепляю свои двоичные файлы для Vet6 и Zet6 Blnky на случай, если это поможет (примечание: Zet6 Blinky не тестируется и просто скомпилируется на основе схемы)

ZMEMW16
Солнце 09 апреля 2017 8:12 вечера
Я просматривал схему, я прав, думая, что некоторые из интерфейсов фактически отображаются с альтернативными ?
также объясняет мои публикации об альтернативах и о том, как ;)
я.эн. Native I2C1 на PB6/PB7 SO
  • Модуль разъема NRF4 I использую v Black Vet6
    1 CE PB6 NRF_CE
    2 CSN PB7 NRF_CS
    3 SCK PB3 SPI1_SCK
    4 mosi pb5 spi1_mosi
    5 мисо pb4 spi1_miso
    6 IRQ PB8 NRF_IRQ

    вспышка
    flash_cs f_cs pb0
    flash_do spi1_miso
    flash_di spi1_mosi pb5
    flash_ck spi1_sck pb3

    трогать
    T_CS PB12
    T_SCK PB13
    T_MISO PB14
    T_MOSI PB15

    светодиоды Vet v Zet
    PA6 V PF9
    PA7 V PF10

    SDIO кажется таким же
    SDIO_D0 PC8
    SDIO_D1 PC9
    SDIO_D2 PC10
    SDIO_D3 PC11
    SDIO_SCK PC12
    SDIO_CMD PD2
Схема Vet/Zet имеет некоторые соединения процессора в красном, мне интересно, имеет ли это значение.

Подключаясь через мою ссылку синего/белого яйца ST, я могу читать обратно, используя ST-Info и остановки светодиодов, предлагает остановленный процессор,
Так что подключитесь к сбросу?

Стивен

AG123
Солнце 09 апреля 2017 8:17
мне казалось, что красные выстрятки направляются на заголовки? Нет, не только это, нужно дальнейшее изучение

Встроенная SPI Flash казалась жесткой подключенной к SPI1, CS на Flash тянутся до 3.3В
Казалось, что те же разъемы, которые переходят на SPI Flash, и SDIO также направляются на заголовки (вы имеете в виду, что быть «альтернативами» ?) вы можете быть правы об этом, так как те же самые булавки, вероятно, имеют альтернативные функции

Я не уверен, почему в моем случае JTAG, по-видимому, заблокирован, но это те результаты, которые я наблюдал, возможно, приложение ST-Link сделало это «подключиться под сброс» :?

ZMEMW16
Солнце 09 апреля 2017 г. 9:56 вечера
На ссылке я не спорю, просто отчетность / спекуляции
Также спекулируют flash_cs, я также называю f_cs ? Я тоже думал, что прямой подтягивание странно

Повторно, I2C1 рассматривается по умолчанию как PB6 и PB7, они используются в соединениях NRF24 CE & CS, также PB3, PB4 и PB5 не являются условно SPI1. Я ожидаю, что это как pa4.. ПА7.
Глядя на метку на CPU PIN 89, от DS Page 54 Таблица 6. STM32F40X ПИНА И Определения мяча (продолжение)
Он описан как njrst/spi3_miso/tim3_ch1/spi1_mosi/i2s3ext_sd/eventerout
Если он используется в качестве SPI1, это должно быть альтернативой, если я правильно понимаю. до P58 Таблица 8

Помните эти 103 доски с сокеты NRF24 и ESP8266, ISTR, кто публикует, что i2C1 не использует обычно PB6/PB7, но один наметил в другом месте, так что это происходит. Кроме того, когда я начал интересоваться альтернативами, так как я не знал, как их использовать.

Можем ли мы сбросить регистры управления GPIO_AFXX для альтернатив, используя ST-Flash или OpenOCD ? из подключения под сбросом «замороженная» память устройства

RM0090 P287 8.4.9 далее ?
Таблица 39?
база GPIO_REG ? смещение дается как 0x24, откуда ??
P269 на

с repeat write record until end of eeprom on subsequent writes, overwrite the oldest record

Палмерр
Пн 10 апреля 2017 г. 1:19
Близкие,

Вы были заняты! Несколько вкладов в обсуждение, в любом случае, в Правление Vet6.

Winbond Flash, привязанная к PB3,4,5, предлагает SPI1 ИЛИ SPI3 - как любой может использовать эти булавки, пока оборудование CS (NSS) не используется. PB14 - это F_CS, а подтягивание - просто подтяжка! (Возможно, это на месте, так что флэш -чип не отвечает на команды NRF, если драйвер (я.E PB14, подтягивание) не инициализируется.)

Я бы склонен пойти на SPI3, так что SPI1 остался для других библиотек/использования пользователей (некоторые библиотеки предполагают SPI1), особенно в том, что SDIO использует PC8-12 & PD2 убивает альтернативное отображение SPI3_SCK, и SPI1_SCK все еще может перейти к PA5.

Стивен отметил, что NRF подключен к тем же булавкам SPI, что и Winbond (кроме CS и IRQ) - это все еще позволяет использовать SPI1 или SPI3 для этих периферийных устройств, поскольку они разделяют интерфейс.

Любые мысли о картировании SPI1 / SPI3? Я думаю, что мы должны связать предпочтительное задание, чтобы сохранить путаницу для тех, кто следует.

Кстати, спасибо за схему Vet6, у него есть несколько маршрутов, которые я еще не проследил. Я поставлю это на вики.

Re usb - я считаю, что OTG_FS направляется в USB -сокет, а не в HS, через PA11 & 12.

Что касается красных и коричневых отметок на схеме, я не вижу для них никакой логики. Первоначально я думал, что они были выделенными системными булавками, но T_CS красный, поэтому я склонен думать, что они просто более позднее редактируют в «неправильном» цвете.

Я обновлю свою конфигурацию MX Cube со всем этим и создам новую ветку в моем репо для обновлений.

Ричард

AG123
Пн 10 апреля 2017 г., 19:55
Спасибо Zmemw16, Palmerr, я довольно новичок в этих вещах и спасибо, что поделились об альтернативах. эн.глин. Я на самом деле не понимал, что SPI1 и SPI3 можно настроить на одних и тех же контактах E.глин. на борт SPI Flash. Это может освободить S, Spi1, который может быть довольно популярен в библиотеках
I2C (PB6, PB7), направляемый в NRF, довольно интересен, а также этот заголовок NRF может использоваться для подключения NRF, а также таких вещей, как акселерометры и т. Д., Я думаю, что i2c может иметь цепочку устройств, пока у авторитета есть автобуса. сделанный.

Что касается USB, то это указано на схеме PA11/USB_DM и PA12/USB_DP, как вы отметили, что это, вероятно, маршрутизируется встроенный USB -разъем USB
В тесте, описанном здесь, подумайте, что он подтвержден для ветеринара:
http: // www.ул.com/content/ccc/resource/ ... 167594.PDF
Страница 19 (раздел 3.1) - SET BOOT0 - шаблон 1
Затем страница 95 (раздел 25.1.1 STM32F40XXX/41XXX DEVICES загрузчик:
"DFU Bootloader PA11: USB DM Line, PA12: USB DP Line - это для порта USB FS"
Я повторно проверил это, подключив доску после настройки Boot0, и в Linux я вижу: #include #include "SdFat.h" SdFat sd; File file; char fileName[] = "log_1.csv"; byte fileNumber = 1; #define SD_CHIP_SELECT PA4 //53 mega, 10 uno, 7 (PA4) STM #define SPI_SPEED SD_SCK_MHZ(4) #define baudrate 115200 #define Serial Serial1 void setup() { Serial.begin(baudrate); Serial.println("type to start"); while (!Serial.available()) { SysCall::yield();//avoid error on other boards? } Serial.println("Starting..."); if (!sd.begin(SD_CHIP_SELECT, SPI_SPEED)) { Serial.println("initialize error"); } Serial.print("file Name: "); Serial.println(fileName); while (sd.exists(fileName)) { newfile(); Serial.print("file name: "); Serial.println(fileName); } file = sd.open(fileName, FILE_WRITE); //create file if (file) { //check if file is opened correctly file.println("test 1"); for (int i = 0; i < 20; i++) { file.print("data"); file.print(i); file.print(","); } file.println(""); file.println("test 2"); char randomData[100]; byte value1 = random(0, 254); int value2 = random(254, 65536); char value3 = 'p'; float value4 = random(1, 500) / 100.0; sprintf(randomData, "value:%d,%d,%c,%f", value1, value2, value3, value4); file.print(randomData); file.println(""); file.println("test 3"); unsigned int start = micros(); file.print("writing speed: "); unsigned int speedtest = micros() - start; file.print(speedtest); file.close(); delay(10); Serial.println("wrote!"); Serial.println(); delay(1000); Serial.println("stress test..."); delay(10); for (byte a = 10; a >= 1; a--) { char fileName[12]; sprintf(fileName, "file%d.csv", a); file = sd.open(fileName, FILE_WRITE); //create file delay(100); if (file) { file.println("stress test"); } else { delay(100); Serial.print("stress test failed n#"); Serial.println(a); } delay(100); file.close(); delay(20 * a); } Serial.println("completed!"); } else { Serial.println("error opening file"); } } void newfile() { fileNumber++; sprintf(fileName, "log_%d.csv", fileNumber); } void loop() {}

ZMEMW16
Пн 10 апреля 2017 г., 22:55
@AG123 I2C (PB6, PB7) направляется в NRF довольно интересный, а также этот заголовок NRF может использоваться для подключения NRF вот идет дождь
PB6 & PB7 используются в качестве выходов GPIO для NRF_CS и NRF_CE, добавление Альтернативный набор имеет PB8, используемый в качестве входа NRF_IRQ

небольшое солнце
I2C2 на PB10 & PB11 бесплатный

Я работаю над IOC Cubemx, который должен использовать для черного ветеринара, с этикетками (WIP)
Я выложу это, наверное, завтра.

Стивен

Палмерр
Вт 11 апреля 2017 г. 1:23
Хорошая работа над портом DFU!

Вариант из Ethernet 100 Мбит / с.глин. LAN8720 за 3 доллара.20 на eBay.

NRF SPI, а не I2C, поэтому для обмена требуются отдельные /CS -контакты. Например, SPI1 (или SPI3 как AF) уже разделен с NRF и в бортовой флэш -памяти.

Кстати @AG123, я потерял отслеживание, какую реализацию кода вы используете: Maple, Cube (новый STM32Duino) или Koduino?

Вы используете Arduino IDE или Eclipse и т. Д?

Ричард

ZMEMW16
Вт 11 апреля 2017 г. 1:41
@palmerr написал NRF SPI, а не I2C, поэтому для обмена требуются отдельные /CS -контакты. Например, SPI1 (или SPI3 как AF) уже разделен с NRF и в бортовой флэш -памяти. делится SPI SCK, мисо & Сигналы MOSI с несколькими устройствами и с отдельными линиями управления в порядке, почти ожидается.
Я был бы серьезно сомневаюсь в I2C с контрольными сигналами NRF24 и наоборот. это просто неправильно.

Стивен

Палмерр
Вт 11 апреля 2017 г. 2:21
Стивен,

Если вы говорите, что разделение булавок между SPI и I2C, будучи «просто неправильно», я от всего сердца согласен.

У меня нет проблем с тем, чтобы разделить другие устройства SPI с NRF на SPI2, однако.

Ричард

ZMEMW16
Вт 11 апреля 2017 г. 3:02
Ричард,
Это мысль о попытке использовать протоколы шины I2C1 на линии управления CE/CS NRF24, для меня, поскольку PB8 также используется с IRQ NRF24, то это означает, что I2C1 эффективно заблокирован даже с использованием его альтернативного.

Прикрепление моего текущего SRP1.МОК :)
В основном это просто добавление метков и установление некоторых состояний GPIO.

Стивен

Палмерр
Вт 11 апреля 2017 г. 5:43
Стивен,

Спасибо, я перевалыю их.

Согласился с PB8. PB6 всегда доступен в качестве альтернативного i2C1_SC для PB8, особенно когда UART1_TX (заголовок ISP) выделен на PA9.

Любые мысли о лучшем расположении цифровой пин -код Arduino (см. Предыдущий пост)? Просмотр электронных таблиц с параметрами распина.

Кстати: в XXX.МОК.txt - что такое MCU.Числа PINXX - они, кажется, не приравниваются к INS или схеме логической нумерации?

SDIO.Buswide = sdio_bus_wide_1b
и
SDIO.Widemode = sdio_bus_wide_4b
кажется странным.

Также твое дерево часов выглядит несколько. Моя, как в F4-1.PDF в Gitub.

My HSE + PLL управляет 168 МГц sysclk и приводит к APB1 = 42 МГц и т. Д.
Ваш SYSCLK на скорости 160 МГц приводит к APB1 на 16 МГц, что может не допустить высоких показателей передачи данных или переносной дискретизации на некоторых периферийных устройствах.

Ваш RTC.Включить выключен. Я использую LSE в качестве источника часов для RTC.

Ричард

ZMEMW16
Вт 11 апреля 2017 г. 7:57 утра
в каком -то конкретном порядке
Я подозреваю, что начал с STM32F407VET в качестве нового индивидуального проекта.
Я начинаю не любить графический интерфейс, нет объекта слияния :)

HSE/LSE
ISTRE сразу же в одном из моих испытаний, см. Выше

SDIO - настройка по умолчанию, ничего не видит по умолчанию
Установка ISTRE -ISTREN Режимы GPIO и начальные выходные состояния для LED0 & LED1 - изменение коэффициента мгновение марки/пространства, поэтому я знаю, что работает

HSE/LSE/RTC - я думал, что использовал кристалл для обоих. Посмотрел DIFF, чтобы копировать и переполнить вставку могут работать

MCU.PIN/RCC.XXX и т. Д. - это вставлено Cubemx, то, что я делаю для их изменения, неясно, единственное, что я сделал, это добавить метки пользователей, не уверен, что я настрою альтернативные (ы) SPI.

Мне не хватает действительно, действительно полезного Unicore-MX определяет GPIO [ABCDEF] для портов, GPION/GPIONN для бита.

PIN/PORT - я бы предложил 103VET в качестве разумной отправной точки, если использование сопоставления сопоставления по умолчанию на PA4-7 я бы определил SPI1_CLK как PA5, то SPI2_CLK как PB13 и т. Д., Если вы используете альтернатив, вы, вероятно, знаете и как Чтобы использовать порт/номер STD, мы все любим.

Кстати, вы можете запустить два окна Cubemx!

Мне интересно, может ли, может быть, ST сообщит нам, как генерируется/используется файл IOC - нет - нет вряд ли

Стивен

AG123
Вт 11 апреля 2017 г. 10:24
Палмерр написал:Хорошая работа над портом DFU!

Вариант из Ethernet 100 Мбит / с.глин. LAN8720 за 3 доллара.20 на eBay.

NRF SPI, а не I2C, поэтому для обмена требуются отдельные /CS -контакты. Например, SPI1 (или SPI3 как AF) уже разделен с NRF и в бортовой флэш -памяти.

Кстати @AG123, я потерял отслеживание, какую реализацию кода вы используете: Maple, Cube (новый STM32Duino) или Koduino?

Вы используете Arduino IDE или Eclipse и т. Д?

Ричард

AG123
Вт 11 апреля 2017 г. 12:05
OT: Я думаю, что когда Роджер рядом, возможно, Роджер, возможно, может помочь «перенести» эту ветку в раздел «Доски STM32F4
Поскольку дискуссии казались в значительной степени F4
надеюсь, что это можно сделать удобно

Палмерр
Ср 12 апреля 2017 г. 12:20 утра
Мы могли бы сместить его там сейчас и просто ссылаться на этот поток в начальном посте.

AG123
Ср 12 апреля 2017 г. 16:09
О, на случай, если кто -то «пропустил» 2 появляющихся реализаций STM32Duino, которые могут работать на F4

STM32Generic
http: // www.STM32duino.com/viewtopic.PHP?F = 42&T = 1966

Святое ядро
http: // www.STM32duino.com/viewtopic.PHP?F = 48&T = 1943

: D

Eeprom

Мы были проникли в боты

С Новым годом на 2018 год