189 похожих чатов

Господа, нет ли у кого под рукой заведомо рабочего модуля

I2C master для STM32F4?
Решение на HAL актуальной версии:
1. Через DMA не хочет передавать по 1 байту, только от 2х и более.
2. Известная проблема с "зависанием" STM32 I2C master проявляется вплоть до постоянного нахождения в EV-прерывании (какой-то флаг не сбрасывается в HAL-обработчике).

14 ответов

6 просмотров

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

Dmitry-CTM Автор вопроса
hardegor
легких путей нет - либо написать свой, либо разобр...

спасибо за совет, egor. К сожалению, это крайний вариант просто по ограниченности по времени сейчас. Если бы кто-то подсказал, как исправить чтение / запись 1 байта через DMA (хотя бы запись!), возможно, это решило бы данную задачу...

Dmitry-CTM Автор вопроса
hardegor
легких путей нет - либо написать свой, либо разобр...

глюк, на самом деле известный (хотя по слухам их два, просто проявляются схожим образом) и присутствует в большинстве контроллеров STM32

от двух и более четно или нет, 3 байта передать можно?

Забить на HAL и использовать LL для начала

Dmitry-CTM Автор вопроса
Konstantin Akmarov
Забить на HAL и использовать LL для начала

По нашей предварительной оценке минимум 3 раб дня на дев + отладку. Не успеваем

Dmitry-CTM Автор вопроса
kt315
без DMA не вариант?

Вариант. Лишь бы работало :)

Dmitry CTM
Вариант. Лишь бы работало :)

так может стоит проверить тогда халовские функции, работающие без DMA, у меня работало. это я к тому что иногда лучше в лоб сделать, чем супероптимально

Dmitry-CTM Автор вопроса
kt315
так может стоит проверить тогда халовские функции,...

В моем случае зависание поймано именно на отправке 1 байта через _IT

Dmitry CTM
В моем случае зависание поймано именно на отправке...

не сталкивался, видимо придётся errata читать, как выше советовали

Dmitry CTM
В моем случае зависание поймано именно на отправке...

а, глянул старый проект, у меня даже без прерываний сделано, возможно потому что тоже глюки были

Dmitry-CTM Автор вопроса
kt315
не сталкивался, видимо придётся errata читать, как...

Да, в еррате есть информация. Вопрос в том, реализовывал ли уже кто-то эти рекомендации.

Dmitry CTM
По нашей предварительной оценке минимум 3 раб дня ...

что там такого с I2C master на целых 3 дня переделывания?

Похожие вопросы

Обсуждают сегодня

Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Карта сайта