-
- Нихера не понял. Что из перечисленного не нужно: ОС, прерывания или
ДМА. Мне нужно засандалить в переферию килобайт 10 раз в секунду.
Неблокирующий код, уже попробовал, медленно. Каждые 100мкс отрывать
прерываниями проц от работы, жаба душит. Остается ДМА. - IBAH(07.02.2026 14:55)
- Если у вас 10 тысяч байт со скоростью 100 килобит (весьма условной замечу) каждую секунду, то вы в ( ! ). Считали вообще? или вы думаете на 400 килобит I2C выехать? но тогда надо ДМА и проц который умеет в рабочее I2C, а не F1. - Ralex(09.02.2026 11:27)
- 1 килобайт каждые 100 мсек по I2C??? Ну и ну..... Что ж это за
процессы такие? - Лaгyнoв(08.02.2026 08:55)
- Индикатор 128x64 ssd1306 - IBAH(08.02.2026 16:26)
- что же за UI, которому надо 10 кадров в секунду? Для обычных надписей-цифр вполне 2Гц хватает и цифры при этом не мелькают, не раздражает. - Andreas(08.02.2026 17:30)
- Вон чего! Тогда да. И потому никогда не любил индикаторы на I2C. :-) - Лaгyнoв(08.02.2026 17:23)
- Индикатор 128x64 ssd1306 - IBAH(08.02.2026 16:26)
- i2c редко когда имеет дело с большими объёмами данных. К чему
неблокирующее поведение? - POV(07.02.2026 21:09)
- Как к чему?! 100кбит/с это где-то 100мкс на байт. А передача
килобайта это вообще 100мС!!! Даже на 100мкс процессор
останавливать не наш метод, процессор должен работать, ему за это
электричество дают. А неблокирующий программный I2C вот, хвастаюсь
тем что заработало с первого раза, IBAH(2729 знак., 07.02.2026 21:30)
- Ну, круто, чо! Я бы такое: (Sost==90 && Timer_us(&t1)) собрал бы одно значение из битов и засунул в switch(){}. Ещё, можно задефайнить состояния энумератором - чтобы всё было без "мэйджик нумберз" и легло в биты переключателя красиво, с минимумом лишних состояний. Nikolay_Po(175 знак., 08.02.2026 11:46)
- У всех свои задачи. Мне ни разу не потребовалась неблокирующая работа с мастер-и2ц - POV(07.02.2026 21:38)
- Как к чему?! 100кбит/с это где-то 100мкс на байт. А передача
килобайта это вообще 100мС!!! Даже на 100мкс процессор
останавливать не наш метод, процессор должен работать, ему за это
электричество дают. А неблокирующий программный I2C вот, хвастаюсь
тем что заработало с первого раза, IBAH(2729 знак., 07.02.2026 21:30)
- Нихера не понял. Что из перечисленного не нужно: ОС, прерывания или
ДМА. Мне нужно засандалить в переферию килобайт 10 раз в секунду.
Неблокирующий код, уже попробовал, медленно. Каждые 100мкс отрывать
прерываниями проц от работы, жаба душит. Остается ДМА. - IBAH(07.02.2026 14:55)