Перейти к содержанию

STM32 для чайника


ART_ME

Рекомендуемые сообщения

Победил в общем я эту всю канитель. МногоГерц конечно не получилось, максимум что смог выдавить - 70 мс полное обновление экрана.
Прикрепляю проект. Код не причёсан, находится в стадии отладки. По этому там бардак.
LCD_FSCM+SDRAM.rar

Видос :

Скрытый текст
Скачать видео
Скачать видео

 


Что касается "мины", которая была. Это я сам затупил, имена структур попутал и не туда писал :D

Да, кстати, от длинного шлейфа избавился, сделал вот такой гамбургер :

Скрытый текст

IMG_20190221_141825.thumb.jpg.2be022b18b6ed67e76af07e7d6f9c973.jpgIMG_20190221_141753.thumb.jpg.3b3e67c4c4fcbf7a5b17b9fff89ecffb.jpgIMG_20190221_141747.thumb.jpg.c49e334ced344541dc04279a822a50f1.jpgIMG_20190221_141740.thumb.jpg.e4abb899d3c984593fa36c6d6d045da9.jpg

:lol::lol::lol:

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Допилил я проектик. Выкладываю, вдруг кому-нибудь пригодится :
SSD1963.rar

Для примера сделал поддержку слоёв с ARGB цветом.
Создаётся слой, на нём происходит отрисовка и обновление слоя на экране.

Вот такой код :

Скрытый текст

/*********************************************************************************/
SDRAM LCD_Layer<800, 480>	back_lay(
								1,						// Level position
								0, 0, 					// Position X, Y
								{0, 128, 128, 250}		// A, R, G, B
							);

SDRAM LCD_Layer<300, 100>	lay1(
								2,						// Level position
								30, 170,  				// Position X, Y
								{0, 250, 250, 128}		// A, R, G, B
							);

SDRAM LCD_Layer<350, 250>	lay2(
								3,						// Level position
								200, 120,  				// Position X, Y
								{128, 128, 128, 128}	// A, R, G, B
							);
/*********************************************************************************/

/*********************************************************************************/
void Main_Task(void *pvParameters) {

    OS_Delay(100 Ms);

	LCD.SetBacklight(150);

    OS_Delay(1000 Ms);
    //-----------------------------------
	lay1.Clear();
	lay1.Set_Color(255, 0, 0, 0);		// Рисуем прозрачным цветом
	lay1.Set_Font(Font16);
	lay1.Set_XY(10, 10);
	lay1.Puts("Hello! My name is STM32F.");
	lay1.Update();
	//-----------------------------------

	//-----------------------------------
	lay2.Clear();
	lay2.Set_Color(0, 0, 200, 0);		// ARGB
    for(int16_t i=0; i<lay2.Get_SizeY(); i+=10){
    	//-------------------------------
    	int16_t x1 = lay2.Get_MaxX() - i;
    	int16_t y1 = 0;
    	int16_t x2 = lay2.Get_MaxX();
    	int16_t y2 = lay2.Get_MaxY() - i;
    	//-------------------------------
    	lay2.Line(x1, y1, x2, y2);
    }
    lay2.Update();
    //-----------------------------------

    while(1){
        OS_Delay(100 Ms);

    }
}
/*********************************************************************************/

 

Рисует вот такую прекрасную картинку :

Скрытый текст

IMG_20190228_160816.thumb.jpg.e4b43212b249af2465059de67ccb1e4b.jpg

:)

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

PS: Эксперимент считаю завершённым. Никакой технической пользы он мне не принёс, кроме сделанных для себя некоторых выводов. Всё это разберётся обратно и покладётся в нижний долгий ящик :)

PS2: Следующий эксперимент будет уже с LTDC. По FSMC есть некие нюансы, сильно тормозящие работу с дисплеем.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Надо же, а я ни одного пика не видел даже) а АВР уже лет 8.  @Alex J-Link какой-то студенческий, интересно все ли он поддерживает? Кстати на нуклео ст-линк тоже можно прошить в J-Link.

Изменено пользователем MasterElectric
Ссылка на комментарий
Поделиться на другие сайты

Я пики тоже не видел, но по той же причине что и стм32. читал что ужас, невозможно кодить, все запутано сложно и тд)) Даже программатор прикупил для пиков, другу надо было прошить одну, думал как раз начну их изучать, но тут же в руки попала платка стм...

А по стм просто платка в руках оказалась, решил проверить) понравилось. 

Да на самом деле авр мне нравиться простотой, единственный минус по мне - это легко заблочить фьюзами, но это по началу, по неопытности) Ну или по запарке) И компиляторы удобны и программаторы.

А так оч просты в использовании. Наверное даже хорошо что я с  них начал) Уже не так страшны регистры стм были.

 

По поводу стм вот тут люди очень обижают какос и хвалят кеил и атолик))

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

да ща оптья скажут что все там работает, ну я рад за вас, я говорю факты) с авр такого не было, с кокосом даже не было)

в арв вообще просто супер отладка имхо. и с протеусом отлично работает все, и дизасемблера режим отладки и в с++.

вообщем для начала намного проще)

 

Ссылка на комментарий
Поделиться на другие сайты

19 минут назад, MasterElectric сказал:

 @Alex J-Link какой-то студенческий, интересно все ли он поддерживает?

ХЗ. Вот он - https://www.chipdip.ru/product/j-link-edu, тут заказывал :unknw:

Но, подозреваю, если его вскрыть (пробовал, не получилось :D ) - там будет тоже самое, что на дискаверах :D

Ссылка на комментарий
Поделиться на другие сайты

Вскрыл :D
Не, не тоже самое :

Скрытый текст

IMG_20190306_214156.thumb.jpg.01c07c8478c9ddf22206d5dd9851d777.jpg

 

32 минуты назад, DrobyshevAlex сказал:

атолик надо постоянно рестартить, отваливается постоянно программатор, не видит программатора!

Да, есть такое. Часто передёргивать приходится и сам Атолик перезапускать.
Возможно, это из-за кастрированного проггера на бордах, хз ...:unknw:

Ссылка на комментарий
Поделиться на другие сайты

У меня с атолликом проблемы только если уходит в исключение и конкретно напахал, а если в коде нет ошибок, отладка норм идет. Ого 2х ядерный МК.

Ссылка на комментарий
Поделиться на другие сайты

@MasterElectric , а Вы случаем не знаете, как из него можно прошить не запуская отладку ?
Напрягает очень ... <_<
Гуглил на эту тему. Единственное, что нашёл - вариант с правкой скрипта. Но он, к сожалению, мне не помог. Атолик после правки тупо вешается наглухо.

Ссылка на комментарий
Поделиться на другие сайты

есть вебинар по F7 там видел, поищу ссылку. Но там st-link. Это нужно копать как из командной строки работать с J-link. Меня не напрягает)) зачем просто так его прошивать если проект не готов, а если партия ну тогда st-link utility

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, MasterElectric сказал:

зачем просто так его прошивать если проект не готов

Ну режим отладки не всегда нужен, даже если проект не готов.
Бывает нужно что-нибудь быстренько подправить, одну строчечку, и посмотреть поведение девайса. А когда делаешь так по 10 раз подряд - напрягает.

Ссылка на комментарий
Поделиться на другие сайты

9 hours ago, DrobyshevAlex said:

Я не могу смотреть теперь на авр

я уже наверное пятый год про это талдычу. А мне тут (и кстати кое кто небудемпоказыватьпальцем) что нет смысла в стм если можно все решить на авр...

да да да...

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Ну у меня пока эйфория от мега скорости в 72 МГц, от вариантов настройки ног и прочих возможностей) Дальше я планирую плис покрутить :D скажу может потом как я мог под стм кодить)) плис рулит :D

подскажите, вот stm32f103c8 имеет 12 битынй АЦП. у него отдельное питание. если у меня мк питается от 3.3В, а на АЦП идет 3В, то будет ли 12бит распределены между 0-3В? или просто верх не будет измеряться?

Ссылка на комментарий
Поделиться на другие сайты

Кстати, добил я свой дисплей, не стал в ящик откладывать. Не мог я так поступить, душа в бой рвалась :D
Прикрутил DMA2D. Отрисовка дисплея из SDRAM получилась порядка 12 мс. Это шикарнийший результат для меня.

Проект, кому интересно :
SSD1963.rar

Вообще, DMA2D интереснейшая штуковина. В работе с экранными областями она незаменима. Делает своё дело шустро, заливает области, копирует, смешивает цвета, ...
Для примера. Вот такой вариант очистки слоя 200х30 пикселей :

for(int a=0; a<y_size; a++)
  	for(int i=0; i<x_size; i++)
        lcd_buf[a][i]=bk_color;

занимал по времени порядка 12 мс. lcd_buf и bk_color размещены во внешней SDRAM.
DMA2D делает это примерно за 3 мс.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, Alex сказал:

DMA2D

а етсь эта штука в STM32F405RGT6? Хочу осцил сделать, выбираю мк, думал на стм32ф103, но раз уж делать то тут в 2 раза мГц больше, думаю может на нем тогда, лучше я 200р переплачу, если это увеличит характеристики))

просто дш какой то странный, там сразу 4 мк описаны и пунктик какой то есть про дма2д но в три строки)) или я не долистал)

А ну да не до листал, вроде бы есть. но лучше подскажите кто уверен))

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, MasterElectric сказал:

Осцилл проще купить чем сделать

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

я в целом немного разобрался, заказал 405 версию, просто у данного продавца не было 407, а я так понял там отличие количество ног, думаю 64 мне хватит, 1 канал будет вход, может 2. на дисплей сколько там проводов подойдет штук 5. Ну и энкодер и пара кнопок) ах да еще на управление 4051 3 провода. Если надо будет еще ног, то управление можно соединить с чем то через hc595,  коих у меня больше сотни валяется)

Вообщем интерес главное) Из минусов экраны очень дорогие)) заказал 2.4 дюйма пока, надеюсь хватит. До этого заказал 0.9 дюйма думал на инкубатор поставить) но когда увидел его в реале, понял что с него только часы наручные делать)) теща не увидит ничего на нем, сделал на 1602.

Ссылка на комментарий
Поделиться на другие сайты

Блин, что ж за люди) Я ж объясняю, мне интересен процесс :)

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

Я нашел инфу что есть мультиплексоры)) я не знаю куда его еще можно присунуть. + купил дисплей, тоже не знаю что с ним делать... А тут хорошее место нашлось)) Ну и хочу разок тыкнуть в сенсорный выключатель, странно что он работает вроде отлично, а протеус иногда пишет скачки, но вот что интересно, когда я ставлю LM358 протеус включается, потом тыкаю просто резистор куда либо, даже не подключенный, он не включается! Я переношу резистор на 1-2 мм - просто сдвигаю не подключенный и он включается! переношу еще и не включается! Я не доверяю протеусу больше :D

Вообщем спаять осцил это и есть хоби)) Так то я даже не уверен что после осцила будет еще хоть один проект что я буду паять)) у меня бывают периоды застоя на пару лет когда не до этого)

Все мои проекты я выкинул) Вот ща инкубатор работает пока не вывелись утята, влажность 5-15% разброс где то. А температуру ±0.1 колеблется, после открытия крышки может на 0.2 больше набрать и на 0.3 опуститься. но на пару минут. А вот двигатель утиные яйца не потянул 60 штук,  брал 5 В 28J что то там шаговый, за 70р :D Заказал ща с китая другой, который 180р 3003s или как то так, смотрел отзывы пишут оч сильный) ломает пластик аж. А так я паял уже года три назад инкубатор, 1 раз включал и выкинул)

Я инкубатор сделал прошлый ток потому, что хотел под атмегу8 покодить, а этот - под стм32) а что можно сделать? вообще не пришло в голову ничего больше... Вот ток осцил...

Ссылка на комментарий
Поделиться на другие сайты

Блин, зачем вообще хоть что то паять тогда?) почему сразу все готовое не купить) я дальше хочу плисы начать ковырять) потом еще на нем буду делать))

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Мне вот кажется что при определенной нагрузке при выключении верхнего ключа почему то сразу открывается нижний кратковременно, а перекос средней точки из-за подсдохших входных кондеров электролитов, один просто более убитый чем второй. h21 вечером выпаяю транзисторы замерю. По моему они где-то примерно 22-28 были, транзисторы из какой партии не знаю, покупал в обычном магазине радиоэлектроники mje 13007. 
    • Вы что, физику в школе не учили, что болтаете подобной чепухой? По поводу синевы ответ дан @oleg_s :  
    • _abk_ К сож. нет, оно сильно избыточно.  По моему мнению, аналоговым управлением, от стороннего источника, получить нужную точность практически невозможно, по этому и ряду других параметров, содержание таблицы вызывает некоторые сомнения.  Необходимо, входное питание +12в, или +24в, выход 0-3кв, ток до 1ма, БП не должен выходить из строя при пробое (К.З.).  Долговременная стабильность, не хуже 4-го знака. Амплитуда пульсаций на выходе не более 10мв, в диапазоне до 200гц. Шаг управления 100мв. 
    • Да, точно! В этом вся причина. Теперь буду думать как обойти эту проблему.
    • Начнем с того, что это НЕ предУСИЛИТЕЛЬ, а тупо повторитель, да еще и с регулировкой уровня выходного сигнала. Скорее всего, данная схема предназначалась для наушников.  А закончим тем, что в изображении схемы дебильная ошибка во входных цепях. Если сделаете точно так, как на схеме, то предвижу вопль: "Спаял, а не работает!"
    • Припой не ложится потому-что флюс (хотя бы канифоль) нужен... 
    • По версии 5 действительно есть ощущение что не хватает мощи, хотя громко музыку в квартире я не слушаю, всегда остаётся запас. Трансформаторы у меня 16,8В 3А 2 шт. Конденсаторы 4 шт по 10000 (по факту около 8500) мкФ. Этого недостаточно?  После праздников попробую подобрать колонки на 4ом, доложу о впечатлениях. Может быть поменяю БП. Хотя вчера вечером послушал Pink Floyd на виниле и басы были.  По версии 6 ток покоя около 100мА. Радиаторы около 800 см2 на канал. На выходе "сладкая парочка".  С ОРА134 ток покоя и температура стабильна, с КР574УД1 температура и ток покоя скакали. Осциллограф не подключал, но наверное это возбуд. После праздников посмотрю. Заказал ещё LM318N. Дальше буду слушать версию 6 на даче с Sony SS-2030, у них на мой взгляд середина хорошая. 
×
×
  • Создать...