|
0 / 0 / 0
Регистрация: 13.03.2015
Сообщений: 52
|
|
Нужны ли коллбэки или это синтаксический сахарок сомнительно18.09.2017, 21:57. Показов 13049. Ответов 135
Метки нет (Все метки)
Коллбэк - исполняемый код, передаваемый посредством указателя в функцию как аргумент.
Обычно механизм коллбэков (касательно mbed) применяется при использовании какой-нибудь обширной библиотеки, оказавшейся строго между физическим уровнем и уровнем приложения. Классический пример - библиотека файловой системы. Разумно, что мы подключаем библиотеку для физической реализации протокола обмена данными с носителем (HDD, SD-card и т.д.) плюс библиотеку ФС. И на уровне приложения используем что-нибудь вроде функций readFile/writeFile из библиотеки ФС пробрасывая через эти функции указатели на функции readData/writeData из библиотеки физической реализации. Типа все библиотеки работают как черные ящики, всё прекрасно. Проблема в том, что в самой популярной библиотеке ФС для mbed - FatFs - не используются коллбэки. В числе файлов библиотеки дается файлик, который нужно подправить руками. Т.е. чуточку залезть в черный ящик. Т.е. концепция "библиотека - это черный ящик, а коллбэки - это способ послать в черный ящик исполняемый код" ступает нафиг. Т.е. зачем тогда нужны коллбэки? Механизм-то их применения нихрена не простой. По сравнению с "подправить файлик в библиотеке". Не, я понимаю в библиотеках USB они буйным цветом цветут. Но в случае библиотеки USB такой механизм навязан разработчиками библиотеки. Есть ли кейсы на которые механизмы коллбэков ложаться идеально ровно? Или коллбэки - это синтаксический сахар сомнительного свойства?
0
|
|
| 18.09.2017, 21:57 | |
|
Ответы с готовыми решениями:
135
Зачем нужны коллбэки? Потоки или коллбэки?
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 26.09.2017, 16:09 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 26.09.2017, 16:27 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 26.09.2017, 16:39 | |
|
Хм... Я имел ввиду ситуацию, когда, допустим, прерывания от восьми uart обрабатываются одним обработчиком, которому в качестве параметра передается ядром указатель на конкретный объект uart, ну да не суть...
Важно понимать, что обработчик прерывания - это логическая абстракция. Вызов функции обработчика не всегда происходит в момент перехода по вектору. Это зависит от договоренности.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
| 26.09.2017, 16:55 | |
|
Ах ти бозе мой, ути он знает слова "регистры, стек" :)))) Практическое вам задание на выходные - достаньте что-то из регистров. А потом посмотрите - а что вы там достали - это то, что вы ожидали достать, или что-то совершенно случайное? :))))
А у некоторых МК нет ни регистров, ни стека, в том виде, в котором они есть в других МК. Эти все ваши догадки и рассуждения - от вашего незнания темы. Пожалуй, надо запастись попкорном, поглазеть на потуги писюков справиться с аппаратными прерываниями :))
0
|
|
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 26.09.2017, 16:56 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 26.09.2017, 16:57 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 26.09.2017, 17:07 | |
|
BusMostir
Вы, как и любой неофит, любой области знаний видите общее лишь с одного угла зрения и считаете своё видение истинным и единственно правильным. Не существует деления программирования на эмбедед и не эмбедед... И хотя меня тоже иной раз примораживает от того, что разработчики сайтов высокой загрузки, программисты баз данных, создатели пакетов графических редакторов иной раз понятия не имеют о том, как вообще работает компьютер и что такое процессор... Со временем приходится признать, что принципиальной разницы в том, ворочаем ли мы байтами, обращаясь к dma и usart, или sql запросами и api интернет ресурсов... Имеем ли мы дело со спутниками, роботами или табличными процессорами... Пишем ли мы на си, haskell, python... На самом деле нет. Принципы везде одинаковы. Выражения у них разные. Но база и общий подход неизменны.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
||
| 26.09.2017, 17:12 | ||
Писюки, харэ уже ваши домыслы распространять, они ложные. Учитесь прилежно, и вы поймете, что вы ой как ошибались. В том то ваша ошибка и состоит, что представляя программирование в общих чертах, вы не видите различий того, на чем будет работать это ваше творение. Программировать можно и калькуляторы, раньше были такие - Электраника МК-61. Вроде бы и программирование, но... На уровне писюка действительно нет разницы, что перед тобой - УАРТ или УСРТ, или вообще ЛПТ. А на уровне МК - это три большие разницы.
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
||
| 26.09.2017, 17:13 | ||
Принципы одинаковы , подход и осознание окружающего различен. Привыкнув к "розовым очкам" из прослоек вы пытаетесь свой, на никому не нужный опыт, навязать окружающим. Поймите в эмбедде и код и железо первичны, а ВЫ закрываетесь от железа прослойками и гордо выпячивая грудь заявляете "и мы могем". Да не стать вам эмбеддерами пока не забудете свой, повторюсь - НА НИКОМУ НЕ НУЖНЫЙ ОПЫТ!
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
||
| 26.09.2017, 17:16 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
| 26.09.2017, 17:17 | |
|
Да они и не будут становиться эмбеддерами. Они вообще заблудились форумом и непонятно с какого хрена их сюда в этот форум прибило то. Видимо, в теме писюков у них не складывается, так решили попробовать что-то помельче, а тут - нннаа тебе - тут свои корифеи. Это то их и задевает. Они то думали, что они спецы чтоль, а выходит, что уже вторую неделю не могут с прерыванием да коллбэком разобраться. И такие гипотезы строят, и другие... А всё не выходит каменный цветок.
Теперь влезли в регистры исчо. Ну пусть, пусть. То-то удивление у них потом будет, когда обломаются их ожидания.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 26.09.2017, 17:19 | |
|
BusMostir, миграция писюков ясна и понятна, они не востребованы или неуспешны на писюках.
Решили здесь хоть что-то поймать, но здесь им не уютно...
0
|
|
|
0 / 0 / 0
Регистрация: 20.07.2012
Сообщений: 620
|
|
| 26.09.2017, 17:20 | |
|
Ок, ок... Пойду в numpy массивы складывать...
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
|
|
| 26.09.2017, 17:23 | |
|
Да да, уж будьте так любезны, достопочтенный Myrmyk, лучше уж там, где вы более успешны...
0
|
|
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 26.09.2017, 17:37 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 26.09.2017, 17:41 | |
|
ivsy, опыт батенька, опыт. И он же мне подсказывает что путного из тебя не выйдет.
0
|
|
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
|||
| 26.09.2017, 17:44 | |||
0
|
|||
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
|||
| 26.09.2017, 17:48 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 24.08.2009
Сообщений: 3
|
||
| 26.09.2017, 17:55 | ||
Принципы одинаковы , подход и осознание окружающего различен. Привыкнув к "розовым очкам" из прослоек вы пытаетесь свой, на никому не нужный опыт, навязать окружающим. Поймите в эмбедде и код и железо первичны, а ВЫ закрываетесь от железа прослойками и гордо выпячивая грудь заявляете "и мы могем". Да не стать вам эмбеддерами пока не забудете свой, повторюсь - НА НИКОМУ НЕ НУЖНЫЙ ОПЫТ! А скажите мне написание драйверов с нуля.. Ну или например использование аппаратной платформы PC-104(тут я возможно слегка не корректно выразился) в своих целях БЕЗ каких либо ОС (поверьте такое встречается) Это ембд? Или писюк?? Мне,как и Myrmyk, например не ясно чем отличается программирование для МК или например программирование нового железа для ПК. Есть конечно программисты СУБД и им ,иногда, даже не обязательно знать под какую ОС они пишут. Есть системщики которые возятся с конкретными аппаратными платформами и знают все особенности не только конкретной ОС но и аппаратной части. Кстати есть и такие которые в погоне за оптимизации МАТЕМАТИКИ!!! изучают как передаются параметры в конкретной аппаратной платформе. Замечу это не сиситемщики. Это люди пишущие ЦОС.
0
|
||
|
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
|
||
| 26.09.2017, 18:09 | ||
P.S. визг здешней "илиты" имеет совершенно банальное объяснение: они банально боятся конкуренции, поскольку кроме как светодиодиком мигать, программировать они ни в зуб ногой.
0
|
||
| 26.09.2017, 18:09 | |
|
Помогаю со студенческими работами здесь
120
Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? Сомнительно работают клавиши Сомнительно сильные просадки ФПС Коллбэки Коллбэки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|