Обзор: CZ Mini STM32F103VET6 (InfoS, Documents, BL…)

Мадиас
Чт 13 августа 2015 г., 7:42
Я недавно получил эту доску через Aliexpress и я’м действительно впечатлен функциями и качеством сборки. Итак “синяя таблетка” “Красная таблетка” “уродливая доска” Мы должны назвать это “Доска красоты” :) Установка с STM32Duino проста, и вы не доны’T-даже нужно дополнительное оборудование (ST-Link, серийный конвертер ...)
Я думаю, что это действительно хорошая доска для больших проектов и/или в качестве основной доски разработчиков.

Изображение
Ключевые факты:
Цена: около 10 долларов США ---> http: // www.aliexpress.com/item/free-shi ... 80157.HTML

MCU STM32F103VET6:
Флэш 512 КБ, 64 КБ ОЗУ,
2 × 12-битный D/A преобразователи
112 Быстрые порты ввода/вывода
2 × i2c
5 USARTS
3 SPIS (18 MBIT/S), 2 с интерфейсом I2S Multiplegeblesed
32 кГц генератор для RTC с калибровкой
Поддерживает компактную Flash, SRAM, PSRAM, NOR и NAND Memories

Функции доски:
Все держатели / ряды уже паяли
Jumper Boot0 и Boot1
Джамперы (RX, TX) для USB-серийного преобразователя
2x USB One с CH340 RS232-USB-Converter Chip (“Serial1”)
32.768 кГц и генераторы 8 МГц на борту
Держатель батареи CR1220
кнопка сброса
Две пользовательские кнопки: PD12, PC0
Два управляемого светодиода; PE5, PE6
индикатор мощности светодиод;
JTAG / SWD 20 - -пин стандартный интерфейс;
32 Foot FSMC TFT LCD -интерфейс
Размер доски: 101.5 мм х 76.68 мм

Дополнительные фишки (уже припаянные)
SPI Flash W25Q16 (на SPI1: CS: PA4, MISO: PA6, MOSI: PA7, SCK: PA5)
EEPROM 24C02 (на I2C1: SCL: PB6, SDA: PB7 оба с 4.7K подтягивание) IC Adress: 0x00 (a0 = a1 = a2 = gnd)
Держатель пространства для 485 IC (PA3, PA0, PA2) и DS18B20 (данные: PB14)

Установка / подготовка к использованию с STM32Duino


Серийная загрузка
Поскольку плата имеет USB-серийный контроллер, загрузка легко:
Установите драйверы CH340 для вашей ОС (Google “CH340 Arduino”) переключатель Boot -Jumper от GND до 3.3V, подключите USB2 с платы и используйте “серийная загрузка” метод. вола!
Недостаток: для каждой загрузки вы должны переключить перемычку для Boot0.

Загрузка загрузчика
К сожалению, не будет готово *.Bin Bootloader для этой платы (LED’S на PE5, PE6), но я уже собрал один (см. Приложение). Установите Boot0 на 3.3V Подключите его с USB2 и используйте последовательный инструмент по вашему выбору, чтобы загрузить загрузчик. После загрузки SET BOOT0 Jumper обратно в GND и подключите его через USB1 и используйте плату, как ваш Maple Mini! Дон’t забудьте переключить в Arduino IDE метод загрузки на “загрузчик”! Преимущества: у вас есть второй последовательный порт-USB (serial1/usb2), поэтому, если вы планируете делать другие USB-вещи, такие как массовое хранилище, MIDI-USB у вас всегда есть вариант отладки на serial1 !

Документы Additonals (вложение)
а) Схема, которую я нашел для этой доски (предупреждение: чип конвертера USB-сериала отличается, но булавки MCU одинаковы)
б) новый загрузчик

Тодо:
Пример кода и библиотеки для SPI Flash W25Q16 и EEPROM 24C02

редактировать:
Я вижу, что Роджер опубликовал об этой доске, но, возможно, эта тема - хорошее лето с дополнительными Infos (Bootloader, Schematics...)
Файл bin bin в приложении назван как «*** pa9», но это действительно "*** pe5", так что не путайте (обновите его позже)

Rogerclark
Чт 13 августа 2015 г. 9:46 утра
Привет, Матиас,

Спасибо, что поделились подробностями. Это похоже на отличную доску.

Можете ли вы опубликовать конфигуратор загрузчика.H и Makefile с вашими изменениями, и я обновлю репо, а также построю мусорное ведро и помесчу его в папку двоичных файлов.

Спасибо

Роджер

Мадиас
Чт 13 августа 2015 г. 9:56 утра
Спасибо, что поделились подробностями. Это похоже на отличную доску. Роджер, я думал, у тебя уже есть эта доска? Can you post the bootloader config.h and makefile with your changes,

ZMEMW16
Чт 13 августа 2015 12:56
AT24C02 адресация A0 = A1 = A2 = 0
Бит 7 -битный 6 -битный 4 -битный 4 -битный 2 -битный 2 -битный 1 бит 0
1 0 1 0 A2 A1 A0 R/W

Предупреждение до сих пор я видел только вариант Zet этой платы на eBay или Ali-Express, который не является вспышкой EEPROM или SPI

Стивен

Мадиас
Чт 13 августа 2015 г., 13:19
спасибо за информацию Стивен, я добавил ее выше.
Матиас

Rogerclark
Чт 13 августа 2015 г., 21:20
Матиас

У меня есть ветеринар и. Zet Board, но они намного меньше, и у меня есть только 1 светодиод, что, я не думаю, может быть на том же пинке, что и ваши доски.

Я сделаю новую общую доску на выходных с светодиодом на PE5, на какой PIN -код вы хотите, чтобы кнопка была прикреплена к ?

victor_pv
Чт 13 августа 2015 г., 21:28
ZMEMW16 написал:AT24C02 адресация A0 = A1 = A2 = 0
Бит 7 -битный 6 -битный 4 -битный 4 -битный 2 -битный 2 -битный 1 бит 0
1 0 1 0 A2 A1 A0 R/W

Предупреждение до сих пор я видел только вариант Zet этой платы на eBay или Ali-Express, который не является вспышкой EEPROM или SPI

Стивен

Мадиас
Чт 13 августа 2015 г., 22:13
Роджер: Спасибо за это. Это должно быть равным: PD2 или PC0 для кнопки. Я думал, ты опубликовал фотографию этой доски. Редактировать: Я был неправ! Виктор опубликовал эту доску. ---> ViewTopic.PHP?F = 28&t = 103
Все, что я могу сказать, это то, что эта доска действительно хорошо спроектирована «под капотом» (например, 2 диода для батареи, превосходные позиции перемычки...) . Для 10 USD это реальная сделка для всех этих функций.
Редактировать: Виктор: Вы получили точно так же, как у меня!

Rogerclark
Чт 13 августа 2015 г., 22:24
Я добавил

generic_boot20_pe5

Кнопка на PD2

Мадиас
Чт 13 августа 2015 г., 22:37
Спасибо, Роджер.
Может быть?
Эта доска называется "красота Бетти Блю" :)

Mrburnette
Пт 14 августа 2015 г. 12:11
Мадиас написал:Спасибо, Роджер.
Может быть?
Эта доска называется "красота Бетти Блю" :)

victor_pv
Пт 14 августа 2015 г. 12:21
Мадиас написал:Роджер: Спасибо за это. Это должно быть равным: PD2 или PC0 для кнопки. Я думал, ты опубликовал фотографию этой доски. Редактировать: Я был неправ! Виктор опубликовал эту доску. ---> ViewTopic.PHP?F = 28&t = 103
Все, что я могу сказать, это то, что эта доска действительно хорошо спроектирована «под капотом» (например, 2 диода для батареи, превосходные позиции перемычки...) . Для 10 USD это реальная сделка для всех этих функций.
Редактировать: Виктор: Вы получили точно так же, как у меня!

Martinayotte
Пт 14 августа 2015 г. 2:20
Mrburnette написал: Все должно быть сведено к аббревиатурам! Может быть, B-Cubed? Или BBB, 3B или B^3

Mrburnette
Пт 14 августа 2015 12:26
Martinayotte написал: Будьте осторожны, Рэй, BBB уже является аббревиатурой для Beagle Board Black, (и с нескольких дней есть BBG для Beagle Board Green) ... : D

victor_pv
Пт 14 августа 2015 12:33
Mrburnette написал: Да...
... Угадай, выбирай аббревиатуры Следуй старой пословице: «Если ты отмахиваешься, ты проиграешь!"
:?

Луча

Mrburnette
Пт 14 августа 2015 12:59
victor_pv написал: Похоже, они делают... Посмотрите на это: https: // sklep.авт.PL/AVT1675.HTML
: o

Martinayotte
Пт 14 августа 2015 г. 15:11
Mrburnette написал:Но интересная доска с бортовой Ethernet.

victor_pv
Пт 14 августа 2015 г., 16:11
Martinayotte написал:Mrburnette написал:Но интересная доска с бортовой Ethernet.

victor_pv
Пт 14 августа 2015 г. 16:14
Mrburnette написал: "Avtduino"

"Устройство специально рекомендовало пользователей Avtduino"
Это новый ("Duino") для меня... Но интересная доска с бортовой Ethernet. PDF был датирован 5/2012

Однако поиск GitHub ничего не показал для «Avtduino». Парионосная программа? (или, может быть?)

Луча

Mrburnette
Сб 15 августа 2015 12:09
victor_pv написал: Я считаю, что не предназначено даже работать с кленовым. USB-порт подключен к USB-конвертеру, поэтому не использует DFU, только ROM Serial Bootloader.
Я думаю, что их намерение состоит в том, чтобы просто предоставить плату STM32F1, и пользователи должны найти свою собственную IDE и библиотеки.

Бхаскинс
Пт 21 августа 2015 г., 19:43
Во -первых, извинения.
Я написал на «Не покупай эту доску», а потом! Нашел эту ветку.
У меня есть точная (на фото) плате, действительно нуждалась в этой информации, и я ничего не могу получить.

Так,
(1) У кого -нибудь нашел точный плагин ЖК -дисплей?
(2) Я очень жертва SSTM (старшая краткосрочная память) и страшного TMT (слишком много игрушек)
Но если есть другие аккуратные вещи, которые нуждаются в тестировании, пожалуйста, дайте мне знать.

Большое спасибо за эту информацию,
Берт

victor_pv
Пт 21 августа 2015 г., 23:56
Бхаскинс написал: (1) У кого -нибудь нашел точный плагин ЖК -дисплей?

ZMEMW16
Сб 22 августа 2015 г. 9:49
У меня есть это, по крайней мере, один от (доска+ЖК -дисплей) от Кесуна, также 2 от 2.8 "ЖК -дисплей (кесун) все еще.
(Стоит ли запустить поток LCD Connectors под аппаратным обеспечением?)

http: // www.aliexpress.com/магазин/продукт ... 38181.HTML

http: // www.aliexpress.com/item/2-8-tft- ... 38181.HTML

Кстати для демонстрации показывает контроллер как ILI9320

Я только что заметил, что ЖК -дисплеев - это «гнезда» , что доски Zet6, которые, я думал, были идентичны
разные: J5 (32 Way) - это заголовок PIN и шелковой экран
Описания выводов для J5 одинаковы

Эти доски только 5 вольт (J2)

Стивен

ZMEMW16
Пт 28 августа 2015 г., 6:53
ZMEMW16 написал:AT24C02 адресация A0 = A1 = A2 = 0
Бит 7 -битный 6 -битный 4 -битный 4 -битный 2 -битный 2 -битный 1 бит 0
1 0 1 0 A2 A1 A0 R/W

Предупреждение до сих пор я видел только вариант Zet этой платы на eBay или Ali-Express, который не является вспышкой EEPROM или SPI

Стивен

randybb
Пт 11 сентября 2015 г., 17:29
@zmemw16: у меня есть первый. У вас есть дисплей для этой платы? Потому что я не могу найти правильную библиотеку для нее... Может быть.

ZMEMW16
Пт 11 сентября 2015 г., 21:19
Дисплей, я случайно заметил этот запрос, если вы цитируете/??/??/' - Я получаю электронное письмо с тем, что так.
?? означает «что -то»

Я не уверен. Я знаю, что вполне могут быть мужские и женские версии коннектора 34 -контактного сорта,
Пока что для пинотов LCD я видел много! Попробуйте поиск изображений Google.

Также, что они, скорее всего, будут желтыми. Также убедитесь, что они не щиты, если неясно, запросите магазин??
Упрощает там проводку, хотя.

библиотеки, возможно, 2 или 3 ....
Я наконец -то укоренился в том, что дисплей «модуль» на самом деле составляет всего 3 блока интерфейса на одной печатной плате, а не один;
1. SPI SD
2. SPI Touch
3. SPI [EDIT] Интерфейс отображения с интерфейсом микро -типа Data 8080/6800 [/edit], Просто расширенный интерфейс HD44780. Кто -то будет
Без сомнения, скажите мне, что это можно подключить/рассматривать как интерфейс типа «SPI». Это «А» или «Ан», «Ан», если субъект первая буква - гласный??

Я смотрел на FSMC с Cubemx, честно говоря, это немного сбивает с толку, и это не генерируя код..
Похоже, в основном четыре (?) блоки, каждый из ....(4 или 5 параметров с щелчком правой кнопкой мыши);
Это много перестановки для кого -то, чтобы использовать.
Поэтому, если не указано, что в «нашем» блоке мира 0 будет SRAM, BLK 1 Flash, BLK 2 - это NAND, а BLK3 - ЖК -дисплей, этот код среднего уровня HAL Glue не будет хорошим вообще. ОК - это как -то или будет объектом с n типами поведения/интерфейса/происхождения, пропустил этот урок.

Это также проблема с физической платой, как вы определяете, для чего на самом деле используется каждый блок, поместите светодиод на устройство CS и переключатель?
Да, наверное; Просто много досок серий V и Z - у меня есть как минимум 6/6/88 :-) Любой из R -r??
C/V/Z Сколько контактов для MCU 48/64/??/???, Следующим является «уровень» для функциональности (8/b/e), а затем упакован пакет (t = лоток??)
Кроме того.

Стивен

Бхаскинс
Пт 23 октября 2015 г., 8:20 вечера
Только что нашел это, он, по -видимому, поддерживает нашу/мою плату Vet6, но нет данных о том, какой чип драйвера используется.

http: // www.aliexpress.com/item/2-8 дюймов ... EB201560_9

ZMEMW16
Пт 23 октября 2015 г., 21:01
Прокрутите вниз, и это С контролем сенсорного экрана IC 9325 или 9328 Это означает, что у него есть пробный экран ic ic sry либо xptnnnn или adnnnn, оба являются общими
и драйвер дисплея является либо ILI9325, либо ILI9328

Вы вряд ли на самом деле повредят чип, если попробуете оба водителя

hth

Стивен

Localcrack
Пт 11 марта 2016 г. 8:39 утра
Кому -то удастся водить ЖК -дисплей ?
Я пробовал, но не успел
Кстати, какой драйвер точно использовал этот ЖК -дисплей ?

Мадиас
Пт 11 марта 2016 г., 22:23
Только угадайте: ILI9340 8 или 16 -битный параллельный интерфейс. Поиск на форуме, может быть, вам повезло!

Ахулл
Пт 11 марта 2016 г., 11:13
Есть несколько аналогичных досок, в основном со следующей спецификацией. ЖК -контроллер чип SSD1289/ILI9341, Чип управления сенсорной панелью XPT2046.. это было бы моим стартовым предположением. Этот выглядит похожим... Но снова.. Многие из них выглядят похожими.

Localcrack
Сб 12 марта 2016 г. 14:26
Я пытался следить за кодом из Waveshare, но не смог добиться успеха

http: // www.волна.com/wiki/file: 3.2i ... -C-код.7Z

Они предоставляют код с обоим методом с помощью нормального iO и с FSMC.
Я не знаю FSMC больше, поэтому я не могу его настроить
В обычном методе io в моем макете платы используется различная конфигурация PIN -кода, затем предоставлен код. Я стараюсь изменить конфигурацию PIN -кода, но не могу добиться успеха.
Моя плата STM32 использует Portd Amd Porte Pins для данных ЖК -дисплея

Стэнлисеоу
Чт 5 мая 2016 г., 17:57
Можете ли вы поделиться своим методом тестирования или способами попытаться заставить это работать ??

Я похож на дисплей, но все еще не получил его работать ...

http: // www.STM32duino.com/viewtopic.PHP ... 9320#P6769

Rogerclark
Сб 07 мая 2016 г., 23:27
Эта доска была добавлена ​​в вики

http: // wiki.STM32duino.com/index.PHP?тип ... 2F103V_-ek


Редактировать.

20 лучших плакатов на этот форум были добавлены в качестве редакторов вики, просто сделайте запрос сброса пароля с вашим входом

Jbecker
Пт 20 мая 2016 г. 8:36 утра
Решено:

Надеюсь, это не ОТ:
- Я также использую плату, описанную здесь, и начал работать с ней (сначала загрузил загрузчик STM32Duino, как описано), как описано)
- установили тип платы в Arduino как «Platine:» Generic STM32F103V Series «» и «Вариант»: «STM32F103VE» ''
- Затем сделал небольшой набросок, который печатает «Привет WorldX» на всех пяти UART (x - это число серийного порта)
- в коде Serial1.Начните серийно 3.начало печатается в красном, serial4.начинать и серийно 5.Начните с черного (неизвестно???).
- Компиляция не показывает ошибок
- Первые три uarts print 'helloworldx, как и ожидалось, UART4TX и UART5TX Print' Hello World1 '
(- Я дополнительно сделал сериал.Begin (9600) и серийный.Println ("Hello World") и USB Prints "Hello World", как и ожидалось)

Любая идея, как использовать все пять UART?

С уважением, Jörg.

PS: я добавил поддержку STM32, как описано Rogerclark где -то под установкой в ​​Windows.

PPS: Кажется, я глупый! После перезапуска всего и компиляции и загрузки все работает. Я думаю, что мог бы правильно настроить вариант в предыдущей попытке? Извините за беспорядок ...

Rogerclark
Пт 20 мая 2016 г. 14:20
Я думаю, ты получил это работа, но на всякий случай...

Первые 3 UART - USARTS Последние 2 - UART (без синхронной передачи)

Я помню, как нужно было изменить код, чтобы сделать последние 2 серийных канала, потому что они тонко разные

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

Jbecker
Пт 20 мая 2016 г. 15:31
Спасибо за ответ :-)
Теперь все работает для меня.

Есть только одна маленькая вещь, и это то, что ключевые слова Serial4 и Serial5 в коде (редактор Arduino) черные, а не красные. Это то, что можно легко решить с помощью некоторых настроек в файлах платы?

Br, Jörg.

Rogerclark
Пт 20 мая 2016 г. 15:35
Re: Цветовое кодирование ключевого слова

Мммм

Поскольку сериал - это встроенная функция (не библиотека), я не знаю способа заставить их правильно получить цветной кодировки.

Это, вероятно, то, что должно быть опубликовано как проблема с Arduino IDE

(Хотя кто -то может меня поправить) ;-)

Рик Кимбалл
Пт 20 мая 2016 г. 15:59
Наверное здесь:

https: // github.com/arduino/arduino/blob ... ywords.текст

[Редактировать]
Не только, наверное. На самом деле. Я изменил файл и перекомпилировал Arduino Java IDE, и он сработал.
$ git diff diff --git a/build/shared/lib/keywords.txt b/build/shared/lib/keywords.txt index a89b7a1..ecb7768 100644 --- a/build/shared/lib/keywords.txt +++ b/build/shared/lib/keywords.txt @@ -180,6 +180,8 @@ Serial KEYWORD1 Serial DATA_TYPE Serial1 KEYWORD1 Serial DATA_TYPE Serial2 KEYWORD1 Serial DATA_TYPE Serial3 KEYWORD1 Serial DATA_TYPE +Serial4 KEYWORD1 Serial DATA_TYPE +Serial5 KEYWORD1 Serial DATA_TYPE SerialUSB KEYWORD1 Serial DATA_TYPE begin KEYWORD2 Serial_Begin end KEYWORD2 Serial_End $

Rogerclark
Пт 20 мая 2016 г. 16:42
Спасибо, Рик

Ваша вилка IDE на GitHub или вы вносите локальные изменения? (На самом деле, можете ли вы легко отправить им пиар ?)

Рик Кимбалл
Пт 20 мая 2016 г. 16:53
Нет, я только что изменился на местном уровне. Это изменение в Arduino IDE. Я сомневаюсь, что они собираются изменить IDE для досок, которые они даже не поддерживают. Кроме того, у меня нет досок с таким количеством последовательных портов. Мне было просто любопытно, где это было скрыто, и я случайно собирал IDE, когда прочитал этот пост. Вы, вероятно, могли бы получить его, не изменяя Arduino IDE, создав новую фиктивную библиотеку, которая просто имеет ключевое слово.TXT -файл, содержащий Serial4, Cerial5 Ключевые слова. Тогда вы можете просто включить это в любую доску, у которой много последовательных портов.

Rogerclark
Пт 20 мая 2016 г., 17:04
ХОРОШО

Спасибо

Рик Кимбалл
Пт 20 мая 2016 г., 17:25
Кажется, это работает:

$ Cat Fatserial/Ключевые слова.текст ####################################### # Syntax Coloring Map Servo ####################################### ####################################### # Datatypes (KEYWORD1) ####################################### Serial4 KEYWORD1 Serial Serial5 KEYWORD1 Serial

Jbecker
Сб 21 мая 2016 г., 9:05
Идеальный!
Большое спасибо. Это просто небольшая деталь, но очень «приятно иметь».

Br, Jörg.

Rogerclark
Сб 21 мая 2016 г. 13:33
Рик

Могу я добавить это в репо?

Рик Кимбалл
Сб 21 мая 2016 г. 13:51
Rogerclark написал:Рик

Могу я добавить это в репо?

Rogerclark
Сб 21 мая 2016 г. 13:53
Спасибо, Рик

Я посмотрю, смогу ли я сделать это сегодня утром, прежде чем отправиться в Maker Faire

Мэнни
Сб 23 июля 2016 г. 15:01
Мадиас написал:
Тодо:
Пример кода и библиотеки для SPI Flash W25Q16 и EEPROM 24C02

Martinayotte
Сб 23 июля 2016 г. 15:46
Для Spiflash: https: // github.com/lowpowerlab/spiflash
Для i2c eeprom: http: // GitHub.com/jchristensen/exteeprom

Мэнни
Сб 23 июля 2016 г., 19:30
Martinayotte написал:Для Spiflash: https: // github.com/lowpowerlab/spiflash
Для i2c eeprom: http: // GitHub.com/jchristensen/exteeprom

Martinayotte
Sun 24 июля 2016 г., 15:10
Какие ошибки ?
(Я использовал их с некоторое время, но я не помню, пришлось ли мне настраивать их и как, это должно быть довольно легко)

Мэнни
Sun 24 июля 2016 г., 18:50
Для EEPROM я думаю, что это было не объявлено, но я нашел эту простую рабочую библиотеку http: // arduino.Алхин.de/index.PHP?n = 61
SPI мигает его шипы.CPP: 60: 11: ошибка: «SPSR» не был объявлен в этой области _spsr = spsr;

ТА
М

Мадиас
Sun 24 июля 2016 г., 19:26
Для Winbond я опубликовал библиотеку некоторое время назад:
ViewTopic.PHP?f = 13&t = 9&P = 10&hilit = winbond#p10
Все, что вам нужно сделать, это изменить примеры каждый
if (mem.Begin (_W25Q64, SPI, 10))
к W24Q16 (если это пример библиотеки)
Как я помню в папке ZIP, есть какой -то пример с библиотекой и без нее, но это должно быть легко.
Для I2C EEPROM я взял любую стандартную библиотеки для Arduino (или я сам написал это из таблицы данных? - Не могу вспомнить) - поэтому каждая «стандартная» библиотека, управляемая I2C, должна работать. Но ты уже справился с этим.

Martinayotte
Пн 25 июля 2016 г. 15:00
Мэнни написал:Для EEPROM я думаю, что это было не объявлено, но я нашел эту простую рабочую библиотеку http: // arduino.Алхин.de/index.PHP?n = 61
SPI мигает его шипы.CPP: 60: 11: ошибка: «SPSR» не был объявлен в этой области _spsr = spsr;

Мэнни
Пн 25 июля 2016 г. 22:47
Martinayotte написал:Мэнни написал:Для EEPROM я думаю, что это было не объявлено, но я нашел эту простую рабочую библиотеку http: // arduino.Алхин.de/index.PHP?n = 61
SPI мигает его шипы.CPP: 60: 11: ошибка: «SPSR» не был объявлен в этой области _spsr = spsr;

Мадиас
Вт 26 июля 2016 г. 12:45
Хорошо, я вижу, в Zip нет всех эскизов.
Вот два из последних примеров, которые я нашел: один с использованием библиотеки, а другой без
Имейте в виду, что вы должны стереть один сектор, прежде чем вы сможете перезаписать его. (Может быть, вы можете прочитать мои Infos (немецкий))

Пример с библиотекой: // ACHTUNG!!!! Immer zuerst den zu schreibenden Bereich vorher löschen, sonst Mist!!!!! // löschen nur in Sektoren (4KB = 4096) möglich. d.h. immer 4096 Schritte einplanen oder zwischenpuffern // Workaround: zuerst den Bereich, den man füllen möchte, mit 0xFF überschreiben? nicht geklappt #include //#include #include "winbondflash.h" winbondFlashSPI mem; void setup() { pinMode(10,OUTPUT); SPI.begin(); SPI.setBitOrder(MSBFIRST); SPI.setClockDivider(SPI_CLOCK_DIV2); SPI.setDataMode(SPI_MODE0); Serial.begin(9600); Serial.println("InitWaitingChip..."); delay(2000); Serial.println("Init Chip..."); if(mem.begin(_W25Q64,SPI,10)) Serial.println("OK"); else { Serial.println("FAILED"); while(1); } } void loop() { if(Serial.available() > 0) { switch(Serial.read()) { case 'R': { //R0,100 Serial.print(F("Read ")); int addr = Serial.parseInt(); int len = Serial.parseInt(); Serial.print(F("addr=0x")); Serial.print(addr>>8,HEX); Serial.print(addr,HEX); Serial.print(F(",len=0x")); Serial.print(len>>8,HEX); Serial.print(len,HEX); Serial.println(F(":")); uint8_t *buf = new uint8_t[len]; while(mem.busy()); mem.read(addr,buf,len); for(int i = 0;i < len; i++) { Serial.print((char)buf[i]); } Serial.println(); Serial.println(F("OK")); delete [] buf; } break; case 'W': { //W0,test string[LF] // Serial.print(F("Write ")); int addr = Serial.parseInt(); Serial.print(F("0x")); Serial.print(addr>>8,HEX); Serial.print(addr,HEX); Serial.read(); uint8_t buf[256]; memset(buf,0,256); uint8_t len = Serial.readBytesUntil('\n',(char*)buf,256); Serial.print(F(",0x")); Serial.print(len>>8,HEX); Serial.print(len,HEX); Serial.print(F(": ")); while(mem.busy()); mem.WE(); mem.writePage(addr,buf); Serial.println(F("OK")); } break; case 'E': while(Serial.available() < 1); char x = Serial.read(); //Serial.print(x); switch(x) { int addr; case 'S': Serial.print(F("Erase Sector ")); addr = Serial.parseInt(); Serial.print(F("addr=0x")); Serial.print(addr>>8,HEX); Serial.print(addr,HEX); Serial.print(F(": ")); mem.WE(); mem.eraseSector(addr); Serial.println("OK"); break; case 'b': Serial.print(F("Erase 32k Block ")); addr = Serial.parseInt(); Serial.print(F("addr=0x")); Serial.print(addr>>8,HEX); Serial.print(addr,HEX); Serial.print(F(": ")); mem.WE(); mem.erase32kBlock(addr); Serial.println("OK"); break; case 'B': Serial.print(F("Erase 64k Block ")); addr = Serial.parseInt(); Serial.print(F("addr=0x")); Serial.print(addr>>8,HEX); Serial.print(addr,HEX); Serial.print(F(": ")); mem.WE(); mem.erase64kBlock(addr); Serial.println("OK"); break; case 'A': while(mem.busy()); mem.WE(); mem.eraseAll(); long ss = millis(); while(mem.busy()) { Serial.print(millis()-ss); delay(1000); } break; } /* if(Serial.read() == 'S') { //ES0 Serial.print(F("Erase Sector ")); int addr = Serial.parseInt(); Serial.print(F("addr=0x")); Serial.print(addr>>8,HEX); Serial.print(addr,HEX); Serial.print(F(": ")); mem.WE(); mem.eraseSector(addr); Serial.println("OK"); } break; */ } } }

Черная бригада
Ср. 03 января 2018 г., 16:36
Когда я впервые увидел эту ветку несколько недель назад,
Я был взволнован этой доской, потому что он кажется универсальным, и, казалось, соответствовал моим требованиям для ежедневного устройства для разработки в целях тестирования и так далее...

Я заказал это на Aliexpress (9 €), но то, что наконец, я получил вчера, выглядит немного по -другому, но совсем не так плохо:
(Если еще не известно здесь, на форуме ...)

Изображение


вы можете видеть это по сравнению с Мадиас Правление имеет некоторые новые/разные функции:
  • Разное название: CZ Ministm32f103VЭн-EK (вместо CZ ministm32f103v_-ek) : mrgreen:
  • Дополнительный читатель SD-карты : o
  • Дополнительная розетка для ESP-01 Wi-Fi-модуль
  • Дополнительная розетка для NRF24L01-Модуль (2.4 ГГц ISM приемопередатчик)
  • Две пользовательские кнопки Сейчас в разных портах: PE3, PC5 (СЕЙЧАС также перенесено в разные места)
  • более «современный» RTC-кристал в пластиковом SMD-пакете
  • Различные серийные i²c eeprom 24C04 (512 байта) (вместо 24C02)
  • Различный / меньший держатель разъема RS485
  • Нет внутренних монтажных отверстий
  • Немного большего размера доски: 104.7 мм х 76.8 мм (вместо 101.5 мм х 76.68 мм)

Остальная часть доски кажется одинаковой:
  • MCU: STM32F103VET6
  • ВКЛ ВКЛ/ВЫКЛ ВКЛ
  • Кнопка сброса (сейчас перенесено в другое место)
  • Jumper Boot0 и Boot1
  • Джамперы (RX, TX) для USB-серийного преобразователя
  • Джампер Vref
  • 2x USB One с CH340 RS232-USB-Converter Chip (“Serial1”)
  • 32.Кристаллы 768 кГц и 8 МГц на борту
  • Держатель батареи CR1220
  • Два управляемого светодиода: PE5, PE6
  • Светодиод индикатора мощности (теперь перемещен в немного другое место)
  • JTAG / SWD 20 - -пин стандартный интерфейс
  • 32 Foot FSMC TFT LCD -интерфейс
  • SPI Flash W25Q16
  • Держатель космического пространства для 485 IC
  • Держатель пространства для DS18B20 (теперь перенесено в немного другое место)
  • Держатель космоса для HS0038

ZMEMW16
Ср. 03 января 2018 г., 17:08
Существует много вариаций этого зверя, конечно, в предыдущих итерациях - то, что TFT Plug/Socket, SDCARD или нет и т. Д., И т. Д

У меня есть тот, что на изображении, x3 на самом деле
Если вы оглянетесь в ветке, есть подробности разъемов ESP8266 и NRF24
Я все еще пытаюсь ездить на этих досках : D
У меня также есть вариант Zet, все TFT, NRF24 & ESP8266 : D
Стивен

Черная бригада
Ср. 03 января 2018 г., 17:18
[ZMEMW16 - Ср. 03 января 2018 г., 17:08] - Если вы оглянетесь в ветке, есть подробности о разъемах ESP8266 и NRF24
Не удалось найти его в этой теме, не могли бы вы опубликовать ссылку, пожалуйста.
[ZMEMW16 - Ср. 03 января 2018 г., 17:08] - У меня также есть Zet Variant, все TFT, NRF24 & ESP8266 : D
У вас есть изображение варианта "Zet" ?

ZMEMW16
Чт, 04 января 2018 г., 11:19
Неправильная ветка, эта
ViewTopic.PHP?F = 28&t = 2913&hilit = esp8266

Это начинается с фотографий, которые я разместил
ViewTopic.PHP?F = 28&t = 2913&hilit = esp8266#p37809

Детали просто остаются в приложении моего приложения ESP-1 WIFI module Pin PC3 --- Reset Pin PA0 --- CH_PD Pin PB11 --- ESP RX Pin PB10 --- ESP TX Pin PC1 --- GPIO 0 Pin PC0 --- GPIO 2 NRF24L01 wireless module Pin PE2 Pin PB5 Pin PC13 Pin PE4 Pin PB3 Pin PB4

Кбахи
Пн, 7 мая 2018 г., 19:41
[Черная бригада - Ср. 03 января 2018 г., 16:36] - Я был взволнован этой доской, потому что он кажется универсальным, и, казалось, соответствовал моим требованиям для ежедневного устройства для разработки в целях тестирования и так далее...

Я заказал это на Aliexpress (9 €), но то, что наконец, я получил вчера, выглядит немного по -другому, но совсем не так плохо:
Я получил ту же доску на твоей картинке, такую ​​с слотом SD -карты и разъемом ESP8266.

Вы говорите: Различные серийные i²c eeprom 24C04 (512 байта) (вместо 24C02) Вы знаете, какой адрес i2c для eeprom? Это 0x50, 0x57 или что -то еще?
Вы использовали определенную библиотеку для работы EEPROM?

Другая проблема заключается в том, что я могу пропустить загрузчик, используя конвертер USB в TTL, но даже после того, как я это сделаю, я не могу использовать мини -USB -кабель для вспышки эскизов. Он отлично работает на синей таблетках.

Кбахи
Вторник 8 мая 2018 г. 15:40
Отвечая на мой собственный вопрос.

До сих пор нет решения для использования загрузчика с USB -кабелем.

Я использовал сканер I2C из примеров, и есть два устройства, один на 0x50 (EEPROM), а другой - на 0x51 (не уверен, что это такое).

Я смог написать TO EEPROM, используя некоторые примеры Arduino. EEPROM составляет всего 512 байта длиной, и код MSB/LSB в примерах по какой -то причине не работает.

Другой вопрос, вы пробовали SD -карту? Я предполагаю, что это связан SPI.

Ахулл
Вторник 8 мая 2018 г., 17:26
Устройство при 0x50 является первым 2K Eerom, устройство при 0x51 является следующим 2K Eerom и т. Д.
Если у вас есть 24C16, например, вы видите устройства от 0x50 до 0x57

Смотрите здесь для примера того, как это выглядит -> http: // stm32duino.com/viewtopic.PHP?f = 4 ... 2&начало = 20

Кроме того, как я помню устройства, больше, чем 24C16 (24C32, 24C64 и т. Д.) Ведут себя по -разному.

Кбахи
Вторник 8 мая 2018 г. 8:37 вечера
Спасибо, Энди,

Доска имеет единый 24C04, так что только 512 байтов eEPROM.

Первоначально я думал, что заработаю встроенный EEPROM, пока я жду RTC DS3231, который у меня есть по заказу. У этого есть на борту 24C32 (4096 байтов), и есть библиотеки для этого, которые работают.

Следует отметить, что вы, как и я, прокомментировали << и && Линии для MSB и LSB, чтобы заставить маленьких EEPROMS работать.
Вчера я потратил впустую пару часов, прежде чем я выяснил эту часть. И код не легко переносимый между меньшими эпомами и более крупными. Так что я думаю, лучше ждать.

Кбахи
Вторник 8 мая 2018 г. 8:38 вечера
До сих пор не выяснил SD -карту на мини -плате CZ.

Попробовал пару примеров в хорошо написанной библиотеке SDFAT, которая поддерживает SPI на STM32.

Установлю ли я SPI CS на SS PIN -код или PIN -код SS1, он не работает.

ZMEMW16
Вторник 8 мая 2018 г. 8:46 вечера
Моя последняя схема показывает 24C02, я считаю, что есть версия этих досок в 2018 году.
Попробуйте 'CZ 2018' как поиск.

Вы можете проверить, не SPI версия, забыла имя, SDIO ?
Надеюсь, у кого -то есть новая схема ?

Стивен

Bluepill заперт?