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

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

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества. Подробнее>>

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

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

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

Я пики тоже не видел, но по той же причине что и стм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 пользователей онлайн

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

×
×
  • Создать...