avatar
На марсоходе было немного. Вот тут и вот тут
avatar
А никто не знает, где можно почитать про интерфейс TFT экранчиков?
А то у меня завалялся один, с тачем и разрешением 800x480… Рядом торчит 60-пиновый flat flex.
avatar
Тут много тестов по С: www.quizful.net/test
, и если решите неправильно — будет показан правильной результат.
avatar
У ST — 41$ (пруф), у нас, соответственно будет, действительно 60-80.
avatar
Крутая штука!!! А известно когда в продаже появится хотя бы на digikey и т.п.?
avatar
Вангую цену 60$ +
avatar
Наверное, Павля :)
avatar
Первый пример из вики, кстати, как по мне, очень хорошо раскрывает сущность.
#include <stdlib.h>
// функция сравнения целых чисел по модулю
int compare_abs(const void *a, const void *b) {
int a1 = *(int*)a;
int b1 = *(int*)b;
return abs(a1) — abs(b1);
}
int main() {
int m[10] = {1,-3,5,-100,7,33,44,67,-4, 0};
// сортировка массива m по возрастанию модулей
qsort(m, 10, sizeof(int), compare_abs);
return 0;
}
Смысл что ф-я compare_abs может иметь произвольную реализацию, но её параметры и выход четко определены. Эта ф-я может делать что угодно с принятыми двумя параметрами,(сравнивать сумму цифр, само количество чисел цифр, сравнивать числа, или генерить на их основе рандомы по алгоритму и сравнивать результат), и на этом основании возвращает инт. а уже кьюсорт оценивая возвращенный инт, решает в каком месте отсортированного массива оставить один из входных параметров нашей калбек ф-ции.

В общем:
)Техника обратного вызова играет важную роль для достижения повторного использования кода. За счет: Функция обратного вызова является альтернативой полиморфизму функций. И позволяет: при этом поведение программы с неизменным (в том числе закрытым) кодом можно изменять в очень широких пределах. Это реализуется двумя путями — или «альтернативной реализацией» какой-либо функции, или «добавлением в цепочку вызовов» ещё одной функции.

Там же, в статье есть глава: Зачем использовать функции обратного вызова. Надо хорошенько прокурить эту часть, держа в регистре предыдущий абзац в этом ответе.

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

ru.wikipedia.org/wiki/Callback_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29
avatar
кто не провтыкал?
avatar
Может кто подскажет, где подобные задачки можно найти? Желательно с ответами, я бы потренился.
avatar
Да, можно.
avatar
так вам сам код не понятен? что именно?
avatar
нельзя, просто смысл похожий: сделать что-либо после завершения выполнения какой-то задачи, которая выполнялась не синхронно с главным кодом.
в отличие от прерываний мы можем задавать программно функцию, которая будет запускаться. даже в реалтайме.
avatar
Читал википедию, на руском совсем пример не понятен, на английском немного понятние, но не полностью. Не думал что обработчик прерывания можно назвать колбеком…
avatar
Пример кода в посте совершенно не затрагивает колбеки, а всего лишь отрабатывается функция и подставляет результат как параметр для другой.
Чтобы понять зачем нужны колбеки можно вспомнить, например, привычные ембеддерам прерывания в микроконтроллерах.
«Колбеком» в этом случае будет тот обработчик прерывания, который выполняется, например, по завершению отправки пакета.
avatar
хренасе новость! целый QVGA дисплей! на ибее их за десятку пучок что с платами что отдельно
avatar
Напрашивается ключевой вопрос: можно ли в этой программе симулировать работающую теслу?
avatar
В принципе в википедии довольно все подробно расписано, я, правда, вроде не пользовался никогда передачей функции в параметрах.
avatar
Ха, тачскрин пропустал, если с тачем. то вообще мега-штука!
avatar
Есть у него тачскрин, хоть и в даташите не описано. Даже на фоточке видно 4 проводка уходящих под экран =) Ну и на схеме платы, конечно же, указан драйвер тачскрина STMPE811.

Ещё радуют два штыря TX/RX около разъёма SWD, неужто он стлинк допилили до уарта?