Jump to content

-Валера-

Members
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Обычный

About -Валера-

  • Rank
    Новенький
  • Birthday 12/22/1977

Информация

  • Пол
    Мужчина
  • Город
    Москва

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    Микроконтроллеры

Recent Profile Visitors

887 profile views
  1. Господа все в Париже ! (С) Но всё равно - спасибо!)
  2. Получил свои дисплеи! Большое спасибо!!! Всё пришло целым и невредимым!)))
  3. У меня всё в силе! Жду от вас подтверждения. PS Интересует также возможность изготовить, к примеру, десяток переходников на диаметр вала 2.8 мм.
  4. Добрый день, понимаю что прошло достаточно времени, но может остались у вас переходники на 4 мм?
  5. Спасибо за отклик, только я с стандартной библиотекой работать умею)), и вот она занимает не значительную, но все же часть flash памяти контроллера. Соглашусь, что процессор с большим объемом памяти при желании приобрести не проблема да и не настолько это трагично. Это спортивный интерес)), написана библиотека работы с LCD дисплеем от Nokia6610 и вот в ней хочу задействовать задержки которые будут зависеть от частоты работы контроллера. Где-то в сети видел пример, но не сохранил.. Было следующее (могу ошибаться)- в шапке программы указываем частоту на которой работает контроллер, создаем функцию нашей задержки и в цикле ?! считаем количество тактов, которые и формируют нашу задержку. Надеюсь объяснил не слишком туманно. Видел примеры задержек с помощью таймеров, но для меня они пока не изучены, вот думаю попробовать в деле свою функцию без использования оных.
  6. Всем добрый день. Может ли кто-нибудь подсказать алгоритм создания программной задержки для AVR, например- ATMega32? Только ASM для меня- слишком сложно, пишу на Си. Достаточно будет устного объяснения алгоритма, ну или где можно ( саму суть) почерпнуть знаний, а если и пример на Си... Вообще здорово!
  7. To fuckir Хотя мой ответ и запоздал- все равно, спасибо. разобрался я с выводом шрифта размерностью более 8х8 пикселей, реализовал в одной функции вывод двух шрифтов- 8х8 и 8х16. Как говорится аппетит приходит во время еды)), захотелось вывести символ превышающий ширину в 8 пикселей. Мои размышления: при отрисовке, допустим символа 24 пиксела ширина и 32 пиксела высота, вероятно нужно изображение разбивать на части и выводить- по 1 байту в ширину и до полной отрисовки по высоте т.е.32 байта, затем по ширине 2-й байт изображения и до полной высоты - 32 байта , ну и так далее... Прошу подсказать правильность моих размышлений, или ошибочность... Может существует более простой алгоритм вывода шрифтов более 8 пикселей по ширине.
  8. Эх. Я в асме- полный ноль, может просто своими словами алгоритм вывода символа- думаю дальше сам смогу справиться))
  9. Алгоритм известен, но вот программы-конвертеры Font-ов не корректно отображают массив с шрифтом свыше 10х12 А рисовать в клеточку весь инглиш + раша- это время которое можно было-бы провести с большей пользой)) В свое время - накатал с пяток шрифтов для Нокии 1202, 1100 и т.д. Вот и заморочился с увеличением шрифта 8х8 - вдвое. Так сказать, хочется обойтись малой кровью.
  10. Добрый день. Экспериментирую с выводом текста на дисплей Nokia N82 в такой связке- Мега32+ LCD . разрулил вывод текста- инглиш и русский размером 8х8 пикселей. Но поскольку дисплей имеет разрешение 320х240 то текст получается слишком мелким. За сим вопрос: прошу ткнуть носом в ссылку с примером, или привести пример вывода текста большей размерности. Думаю, вариант с увеличением количества строк и столбцов и символе - имеет право на жизнь. Пишу на Си в AVRStudio4, вот моя функция вывода символа и строки символов. Здоровая критика - приветствуется. void nlcd_Char(char c, unsigned int x, unsigned long int y, unsigned long fcolor, unsigned long bcolor) { int i; int j; unsigned int nCols; // количество столбцов !!! Все это указывается в первой строке файла с шрифтом !!! unsigned int nRows; // количество строк unsigned int nBytes;// количество байт unsigned int PixelRow; unsigned int Mask; unsigned long Word0; unsigned char *pFont; unsigned char *pChar; if (c>127) c=c-64; // Переносим символы кирилицы в начало второй // половины таблицы (начиная с кода 0x80). pFont = (unsigned char *)Nokia6610_fnt8x8; // получаем указатель на таблицу шрифтов, их может быть несколько- см. PDF nCols = pgm_read_byte(pFont); nRows = pgm_read_byte(pFont + 1); nBytes = pgm_read_byte(pFont + 2); pChar = pFont + (nBytes * (c - 0x1F)); for (i = 0; i<nCols; i++) { PixelRow = pgm_read_byte(pChar++); Mask = 0x80; for (j = 0; j < nRows; j += 1) { if ((PixelRow & Mask) == 0) Word0 = bcolor; else Word0 = fcolor; nlcdPixel( x+i,y-j, Word0); Mask = Mask >> 1; } } nlcd_SendByte_CMD(LCD_NOP); // Задержка Вывод строки символов void nlcd_Text(char *ptext, unsigned char x, unsigned char y,unsigned long fcolor, unsigned long bcolor) { while (*ptext != 0x00) // цикл- пока символ не равен нолю { nlcd_Char(*ptext++, x, y,fcolor,bcolor); // LCDPutChar(*pString++, x, y, Size, fColor, bColor); x=x+8; if (y > 319) break; } }
×
×
  • Create New...