Size: a a a

2019 December 26

s

stD in STM32
Alexander
А если ноль нужно сохранить?
Не важно что вы записываете в качестве полезных данных, главное что в конец нужно прибавить ещё одно значение (не полезное) равное нулю.
источник

A

Alexander in STM32
stD
Не важно что вы записываете в качестве полезных данных, главное что в конец нужно прибавить ещё одно значение (не полезное) равное нулю.
Если известен размер массива - зачем добавлять еще одно значение?
источник

A

Alexander in STM32
Есть кодировка SLIP, например, там байт 0хС0 подменяется другой.
источник

A

Alexander in STM32
Но тогда это получится массив неопределенной длины
источник

s

stD in STM32
Alexander
Если известен размер массива - зачем добавлять еще одно значение?
Если вы хотите усложнить задачу, то да, можно включить длину массива в алгоритм поиска.
источник

С

Сергей in STM32
Кстати записывать же можно только словами в память? И если у меня маленькие значения, то получается теряется много места?
источник

s

stD in STM32
Можно байтами, можно полусловами, можно словами. От камня зависит.
источник

s

stD in STM32
Это во первых. Во-вторых ничто не мешает записывать два 8-ми битных значения в одно полуслово.
источник

s

stD in STM32
источник

A

ASSembler in STM32
Если байт данных больше чем 2 то отличный способ это структура
источник
2019 December 27

ND

Nikita D in STM32
дейтвительно зачем делать велосипед если есть eeprom emulation от st который выше скидывали, но както прошли стороной.  концепция очень интересная, вопервых  каждой записи дается свой уникальный id, что-то виртуального регистра, на выходе получаем ключ-данные. запись происходит по id. удобно если переменные имеют разный период обновления 1,5,10 гц . во вторых используется сразу 2 страницы(можно и больше использовать), в первую мы пишем и если пришли к концу то переносим актуальные данные на вторую страницу и начинаем писать в нее и только после этого стираем первую страницу ( + в реализации от silabs, в первую ячейку пишется какой раз стираем страницу) . При стартесистемы тоже можно узнать все актуальные данные. и даже уже посчитали сколько можно раз сохранить
источник

С

Сергей in STM32
Nikita D
дейтвительно зачем делать велосипед если есть eeprom emulation от st который выше скидывали, но както прошли стороной.  концепция очень интересная, вопервых  каждой записи дается свой уникальный id, что-то виртуального регистра, на выходе получаем ключ-данные. запись происходит по id. удобно если переменные имеют разный период обновления 1,5,10 гц . во вторых используется сразу 2 страницы(можно и больше использовать), в первую мы пишем и если пришли к концу то переносим актуальные данные на вторую страницу и начинаем писать в нее и только после этого стираем первую страницу ( + в реализации от silabs, в первую ячейку пишется какой раз стираем страницу) . При стартесистемы тоже можно узнать все актуальные данные. и даже уже посчитали сколько можно раз сохранить
А может есть какая нибудь статья по этому документу на русском? Официальный документ видел, но с английским не дружу
источник

С

Сергей in STM32
Нашел. Я так понял в либе от st это и реализовано.   http://iosifk.narod.ru/eeprom_emul.pdf
источник

NO

Nikolay Oleynik in STM32
Всем привет!
Столкнулся с такой траблой:
Использую на камне stm32l475 usb cdc. При отправке на комп рандомных 32 кб данных, все норм, прилетают, но если биты массива заполнить единицами, то он уже не отправляется, говорит линия занята. Никто не в курсе, как лечить? Юзаю юсб стек от ст, через куб
источник

s

stD in STM32
Покажите код, архивом сюда.
источник

NO

Nikolay Oleynik in STM32
stD
Покажите код, архивом сюда.
да собственно там даже показывать нечего, дефолтная инициализая usb и cdc.
отправляю данные вот так:
       CDC_Transmit_FS((uint8_t*)buf, len);
а если заполнить массив вот так:
       memset(buf, 0xFF, 32*1024);
то ничего не работает
источник

AS

Alexey Sidorov in STM32
а у вас этот буфер как объявлен?
источник

NO

Nikolay Oleynik in STM32
Alexey Sidorov
а у вас этот буфер как объявлен?
uint16_t buf[16384]; ровно 32кб
источник

AS

Alexey Sidorov in STM32
а еще попробуйте memset заменить на простой for
источник

NO

Nikolay Oleynik in STM32
ага, сейчас, минутку
источник