Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 06.07.2021, 21:19  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

#include "LX12864.h"

volatile long ulADC1Result = 0; // Variable that ADC1DAT is read into in ADC1 IRQ
float fVoltage = 0.0; // ADC value converted to voltage

void ADC1INIT(void);
void DACINIT(void);

osThreadId t_ledOn; /* assigned task id of task: ledOn */
osThreadId t_ledOff; /* assigned task id of task: ledOff */


/*----------------------------------------------------------------------------
Task 1 'ledOn': switches the LED on
*---------------------------------------------------------------------------*/
void ledOn (void const *argument) {
for (; {
DioClr(pADI_GP1, BIT3); // Toggle P1.3
osDelay (200);
osSignalSet (t_ledOff, 0x0001); /* send event to task 'ledoff' */
osSignalWait (0x0001, osWaitForever);
}
}

/*----------------------------------------------------------------------------
Task 2 'ledOff': switches the LED off
*---------------------------------------------------------------------------*/
void ledOff (void const *argument) {
uint8_t mLen;
uint8_t bufRT[20] = "";
ADC1INIT(); // Setup ADC1

for (; {
osSignalWait (0x0001, osWaitForever); /* wait for an event flag 0x0001 */
DioSet(pADI_GP1, BIT3); // Toggle P1.3
osDelay (200);
fVoltage = (ulADC1Result * (1.2 / 268435456)); // Calculate ADC result in volts
snprintf ((char*)bufRT, 16, "V= %2.5f ", fVoltage ); // (char*)
mLen = strlen((char*)bufRT); // (char*)
if (mLen ‹64) LcmPutStr(10,0, bufRT);
osSignalSet (t_ledOn, 0x0001);
}
}


osThreadDef(ledOn, osPriorityNormal, 1, 0);
osThreadDef(ledOff, osPriorityNormal, 1, 0);


/*----------------------------------------------------------------------------
Main: Initialize and start RTX Kernel
*---------------------------------------------------------------------------*/
int main (void) {

SystemCoreClockUpdate();

DioOen(pADI_GP1,0xFF);
DioSet(pADI_GP1,0xFF);

LcmInit();

LcmPutBmp(bmp1);
lcd_delay(5000000);

LcmClear(0);

t_ledOn = osThreadCreate(osThread(ledOn), NULL);
t_ledOff = osThreadCreate(osThread(ledOff), NULL);
osDelay(osWaitForever);

while(1);

}
Реклама:
optical illusion вне форума  
Непрочитано 06.07.2021, 22:51  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,400
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

не понимаешь что такое скрин?
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 07.07.2021, 09:44  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию

Добавил таймеров в настройках RTX - OS_TIMERS 2, по умолчанию стоял 1.
Сразу исчезли проблемы.
Короче, нужна инструкция по правильной настройке RTX.

Подключил SPI в режиме DMA к дисплею.
Файл картинки режу по 64 байта в буфер, затем запускаю DMA и эти 64 байта выгружаются через SPI в контроллер ILI9341.
Все это впихнуто как одна из задач под RTX, две другие задачи моргают светодиодиком - типовой Blink RTX. (работают 3 задачи)
Картинка выводится на дисплей, затем через пару секунд стирается. И все это повторяется через 10 секунд.
Но, после пятого цикла вывода картинки на дисплей - все виснет. Светодиодик RTX начинает моргать раз в 10 медленнее - картинка зависает в процессе вывода, всегда в одном месте.
Сама RTX не затыкается, просто начинает медленно работать.
А вот задача с выводом картинки затыкается.
Что бы такое настроить, что бы этого не происходило?

Нашел причину этого безобразия.
В обработчике прерываний была ошибка.
Стояла проверка номера прерывания - первое должно игнорироваться.
Исправил.
void DMA_SPI1_TX_Int_Handler()
{
DmaSet(DMARMSKSET_SPI1TX,DMAENSET_SPI1TX,0,0);
// ucIrqCnt++;
if (ucIrqCnt ==0) { ucIrqCnt=1; } // Ignore first interrupt
else ucSPIDMAEnable = 1;
}

Сделал шрифт 32x32 бит, программой GLCD Font Creator.
Попиксельно нормально выводит картинку.
Но при подключении DMA SPI вывод получается побайтно и в другую плоскость рисует знаки.
Нужно бы шрифт повернуть на 90 градусов - это потому что дисплей тоже повернут на 90 градусов.
Не получилось в программе повернуть матрицу шрифта на 90 градусов.
Или я что то делаю не правильно?
Как вообще шрифт повернуть на 90 градусов?

Последний раз редактировалось mike-y-k; 08.08.2021 в 14:41.
optical illusion вне форума  
Непрочитано 08.08.2021, 11:50  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,532
Сказали Спасибо 11,772 раз(а) в 5,896 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Сообщение от optical illusion Посмотреть сообщение
Как вообще шрифт повернуть на 90 градусов?
Два по сорок, а сверху - разбавленной ( 1 : 3 ).

Есть алгоритмы поворота картинки. Но там много тригонометрии.
И вообще - программеру, да задавать такие вопросы? Зачем тогда быть программером? Лучше быть манагером - "не царское это дело, прикажу (спрошу, попрошу, ...) - и ... (сделают)"
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 08.08.2021, 12:03  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Все просто. Интерфейс SPI, очень медленно выводит картинку на дисплей МК. Если еще там же поворачивать матрицу шрифта -это вообще все "замерзнет".
Если речь идет что бы самому написать программу типа GLCD Font Creator, т.е. которая генерит шрифты - то да это дело не "царское". Таких программ великое множество - я протестировал с десяток - но не одна из них не может повернуть матрицу знака.
GLCD всем хороша, но эта функция не работает.
Зачем писать еще свою программу обработки шрифтов?
Их уже сотни понаписаны.
Проще спросить у знающих людей - минутное дело так то.
optical illusion вне форума  
Непрочитано 08.08.2021, 12:29  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,532
Сказали Спасибо 11,772 раз(а) в 5,896 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Сообщение от optical illusion Посмотреть сообщение
Интерфейс SPI, очень медленно выводит картинку на дисплей МК
Откровение... Вы его с Ивасями не путаете? Или Вы его на 50 Гц настроили?
Сообщение от optical illusion Посмотреть сообщение
Если еще там же поворачивать матрицу шрифта -это вообще
"полный вперед!" Дома нельзя это сделать?
Сообщение от optical illusion Посмотреть сообщение
написать программу типа GLCD Font Creator, т.е. которая генерит шрифты - то да это дело не "царское"
Смотрю, думать - не царское. Вместо поворота шрифта замахиваться на создание оного.
Сообщение от optical illusion Посмотреть сообщение
Их уже сотни понаписаны.
"Хочешь, чтобы было сделано КАК НАДО ? Сделай САМ !"(с)
Вероятность того, что что-то сделанное одним программером полностью удовлетворит другого - гораздо меньше 1/2.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 08.08.2021, 12:38  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Вижу какая то "болезненная реакция" на тему шрифтов?
ладно, поищу в другом месте...
optical illusion вне форума  
Непрочитано 08.08.2021, 12:46  
j-Roger
Гражданин KAZUS.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 682
Сказал спасибо: 362
Сказали Спасибо 756 раз(а) в 358 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

optical illusion, попробуйте поиграться с LCD Image Converter.
Эта штука умеет вращать на 90 и 180 градусов; а уж подойдёт ли это вам - сможете оценить сами.
j-Roger вне форума  
Сказали "Спасибо" j-Roger
optical illusion (08.08.2021)
Непрочитано 08.08.2021, 12:47  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,532
Сказали Спасибо 11,772 раз(а) в 5,896 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: RTX-Blinky и sprintf

Сообщение от optical illusion Посмотреть сообщение
Вижу какая то "болезненная реакция" на тему шрифтов?
Вижу - какая-то болезненная реакция на тему "сделай сам, причем, так, как самому тебе надо".
Сообщение от optical illusion Посмотреть сообщение
ладно, поищу в другом месте
Ладно, интерес к Вам потерян ввиду Вашего желания получать все готовенькое. Хотя "говно вопрос" "выеденного яйца не стоит"(с).
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 08.08.2021, 15:26  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию

Щас скачается LCD Image Converter, гляну как там отработает вращение матрицы.

Запустил LCD Image Converter. Действительно символы она поворачивает.
Но плохо что она не может выключать цвет (или я не нашел).
Сформировал font 17x18, для символа 0x36 получилось 918 байт запись.
На каждый пиксель 3 байта цвета. Без цвета должно быть 18 байт строк и 3 байта столбцов - т.е. 54 байта. Ну я конечно попробовал преобразовать эту запись в 54 байта, но на дисплее картинка цифры "6" все равно не получилась, разными способами выводил и побайтно и побитово. Еще какие то настройки не правильно выставлены. Нужно разбираться с ней подробно.

Последний раз редактировалось mike-y-k; 09.08.2021 в 01:39.
optical illusion вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
sprintf и float Fangir AVR 1 19.02.2015 08:58
Помогите со схемой RTX Dualphone 3088 Skype pakena Поиск схем. Делимся схемами 0 02.03.2011 13:47
sprintf и глобальные массивы slawa1980 Микроконтроллеры, АЦП, память и т.д 16 06.02.2011 00:54
sprintf в CodeVisionAVR LSergM Микроконтроллеры, АЦП, память и т.д 23 30.11.2007 08:39
sprintf Luzkov Микроконтроллеры, АЦП, память и т.д 2 25.07.2006 15:56


Часовой пояс GMT +4, время: 20:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot