если кому интересно. вариант "движка" для медленных разверток. публикую просто как идею, сам сейчас к нему режимы синхр. прикручиваю. ограничение - размер буфера должен быть по степени двойки (у меня 2kBite).
на словах: дма в цикле (постоянно сыпет в буфер), по регистру CNDTR смотрим где он щас и обновился ли, для режима "без синхр." отступаю экран отрезаю ст.биты (получаем кольцевую адресацию). вроде ничего не попутал, а то за мной иногда водится. Спойлер
Код:
#define BufferSize 2048 // 2^n #define Buffmask (BufferSize-1) ... uint32_t i; while (i==(BufferSize - DMA1_Channel1->CNDTR)) {}; // ждем если дма еще не шагнул i=(BufferSize - DMA1_Channel1->CNDTR); if (Sync==4) {PointSync= (i-320)&Buffmask;} Draw320x192(buffer, PointSync); // вызов функции отрисовки экрана ... // в функции отрисовки (код ф. публиковал ранее) ... n=(buffer[(PointSync-1)&Buffmask]/8-128); ...
че-то никто не комментирует, наверное никто не по-пробовал такой вариант. прикрутил я синхронизацию - точку в буфере ищу в обратном от точки dma направлении. прикольно. рисует. хочется посмотреть на разных типах сигнала - никаких там артефактов не полезет?. да опять временный корпус собирать влом, а окончательны все никак не отпечатается, чтоб к ребятам в лабораторию снести.
При таком поиске синхронизации надо следить что бы не догнать ДМА при отрисовке и не схватить старые значения. А еще следить что бы ДМА не догнал отрисовку и не начал заполнять новыми значениями еще не прорисованный экран. Будет время попробую. Сейчас выключаю ДМА при развертке медленнее 2мс и рисую каждый отсчет по готовности АЦП (запуск по таймеру). А синхронизацию жду 480 отсчетов (экран) и старт вывода.
Здравствуйте, я понимаю что для вас это очевидно, но для меня маленькая трудность. Вопрос по теме ------Пробник вольтметр/омметр/генератор/осциллограф цветной дисплей 160x80, процессор STM32F303CBT6 (В разработке 2020) Не могу понять как подключить пьезоизлучатель. Это на схеме 2 Bav99 а между ними buzzer? а куда тогда сигнал вывода 41 микроконтроллера?
Конкретно поковырял схему и плату от Sailanser, накатал список рассыпных деталей. Возникло несколько вопросов...
Какого предпочтительно номинала резисторы R15 и R17?
Резистор R39 есть на плате, но нет на схеме, какого он номинала?
Где можно прочитать про назначение джамперов? JP4 - притягивает boot на землю, зачем?. JP1 - для подключения программатора. JP2 - какая то связь с внешним миром? PROG - для прошивки, отключение питания на момент программирования?
Прошивку берем вот эту, Прошивка_внешний_ADC_25mV_48M, верно?
Список деталей во вложении к посту. -------
И еще, что за катушка 0 uH? -------
Сравниваю со схемой из папки \OSC_F303_F103\Мой OSC_F303\Схема_Прошивка_внешний_ADC_25mV_48M, там вообще нет R15 и R17
Такс начнем Видать плохо смотрели схему и не поняли входную часть
R39 плохо смотрели вот он вместе c R25 используется для составления номинала R25. JP4 для программирования. JP2 да и для программирования тоже. катушка это просто нулевой джампер, перемычка. R15,R17 то же что и R39 составляем точно номинал, R16 и R21. если удается подобрать одним резистором (что вряд ли) то туда паем просто нулевые перемычки
зачем мучались со списком, смотрите файлик экселя в архиве там все написал и табличка есть
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 239
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения