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

PCD8544 CVAVR помогите разобраться с библиотекой


gogaze

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

Пытался найти в библиотеках PCD8544 CVAVR написание функции вывода на дисплей Float и других цифровых данных. Нашел только как выводить текст и графику в файле graphics.h. Может у кого-то есть типа памятки Кобзаря для Atmel Studio?

Конечно, хотелось бы самому научится искать прототипы функций в библиотеках.

Как-то коряво все написал, но я думаю - смысл понятен.

readme.txt

Мир не без добрых людей!

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

Огромнейшее человеческое спасибо! Только я не понял- это библиотеки Кобзаря для атмел студии переделанные под CVAVR???

Мир не без добрых людей!

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

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

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

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

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

21 час назад, Sergey-Ufa сказал:

Я пользуюсь вот этим

Похоже рано обрадовался! При компиляции куча варнингов

Версия CVAVR 3.12 Может поставить постарше (чтобы русский поддерживался) --Порекомендуйте пожалуйста!

Кстати, Ваши исходники у меня тоже не компилируются - 6 ошибок и 12 варнингов (тоже наверно из-за версии CVAVR)

Или Вы исходники кинули чохом, вместе  с библиотеками?

Варнинги.txt

Изменено пользователем gogaze

Мир не без добрых людей!

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

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

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

Я пользуюсь версией 1.25.8 Professional  По ошибке я вам кинул явно избыточную информацию. Там готовый проект, использующий LCD Nokia5510. Можете посмотреть, как там организована работа с ним. Все,что вам нужно для работы с дисплеем размещено здесь

Nokia3310.zip

Эти 2 файла нужно разместить в папке вашего проекта и подключить к проекту файл n5110.c  Далее в своем проекте вы можете пользоваться всеми функциями для работы с нокиевским дисплеем. Как с ними работать понятно из комментариев в тексте файлов. Для вывода на дисплей чисел int и float  я преобразую их в строку стандартными функциями языка С  itoa и ftoa, а затем вывожу строку на дисплей функцией Lcd_print

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

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

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

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

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

54 минуты назад, Sergey-Ufa сказал:

Для вывода на дисплей чисел int и float  я преобразую их в строку стандартными функциями языка С  itoa и ftoa, а затем вывожу строку на дисплей функцией Lcd_print

Вот тут я торможу насмерть! Я считал, что если эта функция есть в библиотеке, то она выполняется автоматом. Я понимаю, что я хам вглухую, но если есть возможность, то покажите, как вывести, например, данные с вывода АЦП. 

Lcd_prints (0,0,FONT_1X,(unsigned char*)PSTR("  Б Л О К"));  //Это в Атмел Студио

Lcd_printf (0,1,FONT_2X,(readADC(0)*20.00/1023),1); //Это в Атмел Студио

Да, естественно в CVAVR!!!

1 час назад, Sergey-Ufa сказал:

Я пользуюсь версией 1.25.8 Professional  По ошибке я вам кинул явно избыточную информацию.

Я всегда говорил: "Мир не без добрых людей!"

Изменено пользователем gogaze
Изменение информации

Мир не без добрых людей!

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

В тех исходниках, которые я вам дал, float выводится абсолютно так же, как и в Студии

11 минуту назад, gogaze сказал:

Lcd_printf (0,1,FONT_2X,(readADC(0)*20.00/1023),1); //Это в Атмел Студио

Число readADC(0)*20.00/1023 выводится шрифтом двойного размера с позиции 0 во вторую строку дисплея.

В моем примере я вывожу чуть по другому, но это не принципиально

//вывод на дисплей строки текущей темпреатуры       (2 строки)         
       memset(buff, 0x20, 5);
       Lcd_print(3, 2, FONT_2X,(unsigned char *)buff);
       ftoa(Tc, 1, buff);
       Lcd_print(3, 2, FONT_2X,(unsigned char *)buff);
//вывод на дисплей строки с текущим значением мощности  (1 строка)        
       memset(buff, 0x20, 4);
       Lcd_print(10, 4, FONT_1X,(unsigned char *)buff);
       itoa(PWR, buff);
       Lcd_print(10, 4, FONT_1X,(unsigned char *)buff);                          
       Lcd_update();

 

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

1 час назад, Sergey-Ufa сказал:

Число readADC(0)*20.00/1023 выводится шрифтом двойного размера с позиции 0 во вторую строку дисплея

Это как раз мне понятно

1 час назад, Sergey-Ufa сказал:

memset(buff, 0x20, 5);

 

1 час назад, Sergey-Ufa сказал:

ftoa(Tc, 1, buff);

 

1 час назад, Sergey-Ufa сказал:

memset(buff, 0x20, 4);

 

1 час назад, Sergey-Ufa сказал:

itoa(PWR, buff);

Все выше написанное надо самому как-то определять?

Установил CVAVR 1.25.8 Professional  на ноутбук, Создал проект визардом (настроил только АЦП), дисплей визардом не настраивал, подключил n5110.c, при компиляции ошибка "undefiend symbol 'SPDIF' со ссылкой на строку файла n5110.c while (SPDIF.SPIF!=1);

  Вообще-то я хотел научиться использовать "штатные" библиотеки CVAVR, как в них пишутся функции типа 

Lcd_prints (0,0,FONT_1X,(unsigned char*)PSTR("  Б Л О К"));   обычный текст (Это я нашел)

и Lcd_printf (0,1,FONT_2X,(readADC(0)*20.00/1023),1);   (А вот это не смог найти в ШТАТНЫХ библиотеках)

3310ADC.c

Да, и float в проекте подключать надо?

Изменено пользователем gogaze

Мир не без добрых людей!

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

17 часов назад, gogaze сказал:

while (SPDIF.SPIF!=1)

Где вы это нашли? В файле n5110.c, который я вам выложил,  в определении функции LcdSend написано

while (SPSR.SPIF!=1)  Посмотрите хорошенько.

memset и itoa, ftoa это стандартные библиотечные функции языка Си. Находятся в встроенных библиотеках CVAVR и описаны в его хелпе. Подключаются  соответственно #include <string.h> и #include <stdlib.h> В моем примере они подключены в файле n5110.h

CVAVR 1.25.8 не имеет в библиотеках функций, работающих с PCD8544. Эти функции могут быть только в подключаемых файлах, например в тех, которые я вам дал.

float это тип данных языка Си.

Еще один момент. В CVAVR 1.25.8 в файлах , описывающих регистры I/O AVR-контроллеров (например mega8.h , размещенных в папке inc в директории, где установлен CVAVR) не даются определения бит этих регистров. Если вы будете пользоваться этими файлами , то выражение SPSR.SPIF даст ошибку. Можно заменить дефайны бит их числовыми значениями, например вместо SPSR.SPIF писать SPSR.7  Но можно заменить эти файлы на модифицированные, в которые добавлены определения бит, либо подключить дополнительные файлы с такими определениями (например в добавок к  #include <mega8.h> подключить еще #include <mega8_bits.h>)

Можете заменить папку inc в вашем CVAVR на мою. Там все эти файлы есть.

inc.zip

 

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

В 18.01.2018 в 14:35, Sergey-Ufa сказал:

Можете заменить папку inc в вашем CVAVR на мою. Там все эти файлы есть.

В общем, есть результат! Не все и не до конца осознал, но получилось то, что на скриншоте. В архиве проект (CVAVR 1.25.8 Professional ) и схема в Proteus 8.6.2.

test.jpg.88c9275a8079667e9dbc1e72dd3cf3e8.jpg

При желании можете посмотреть. Может еще что подскажите.

Nokia3310.rar

Изменено пользователем gogaze

Мир не без добрых людей!

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

1 час назад, Sergey-Ufa сказал:

Мои поздравления! Этот этап вы выиграли!

Спасибо! Жалко, что на версии CVAVR 3.12 с этими библиотеками даже англицкий не удалось вывести, вернее - вообще ничего. 

Осталось еще убедиться, что перевод float в строку очень повышает эффективность и научиться это делать.

Изменено пользователем gogaze

Мир не без добрых людей!

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

Нашел на просторах инета библиотеку для CVAVR 3.12  Nokia 5510/3310 с поддержкой русского языка.

Только оттуда удалены 3 функции - lcd_update lcd_print lcd_printf . Вот бы их вернуть туда!!!  Сутки промучился - тяму не хватает.

Цепляю архив, там все 

5110_CVAVR312_RUS.rar

Мир не без добрых людей!

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

Эта библиотека сильно упрощенный вариант предыдущей. Там отсутствует увеличенный шрифт, функции вывода упрощены за счет того, что позиционирование курсора производится только с помощью отдельной функции, вывод данных float и из flash в них не встроены и т.д. Думаю. что мои исходники без особых проблем можно запустить под 3.12

В 17.01.2018 в 11:42, gogaze сказал:

Ваши исходники у меня тоже не компилируются - 6 ошибок и 12 варнингов

Warnings я видел - ничего серьезного нет. А какие там Errors ?

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

8 часов назад, Sergey-Ufa сказал:

Думаю. что мои исходники без особых проблем можно запустить под 3.12

Сделал в CVAVR3.12 с Вашими библиотеками. Скомпилировался без ошибок, только варнинги, но на дисплее мусор.

Warning: C:\Users\Admin\Desktop\_tes5510t\n5110.c(254), #included from: new_tes5510t.c: suspicious pointer conversion        (n5110.c)  LcdCache[LcdCacheIdx++]=pgm_read_byte(&(FontLookup[ch])) << 1;
Warning: C:\Users\Admin\Desktop\_tes5510t\n5110.c(263), #included from: new_tes5510t.c: suspicious pointer conversion        (n5110.c)   c = pgm_read_byte(&(FontLookup[ch])) << 1;
 В версии 1.25.8 этих двух строк нет

То, что линкер предупредил о неиспользуемых функциях - это понятно
Warning: n5110.c(209): unused function 'LcdContrast' was removed by the linker
Warning: n5110.c(368): unused function 'Lcd_pixel' was removed by the linker
Warning: n5110.c(398): unused function 'Lcd_line' was removed by the linker
Warning: n5110.c(465): unused function 'Lcd_circle' was removed by the linker
Warning: n5110.c(524): unused function 'Lcd_rect_empty' was removed by the linker
Warning: n5110.c(498): unused function 'Lcd_rect' was removed by the linker

мусор312.jpg

Изменено пользователем gogaze

Мир не без добрых людей!

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

9 часов назад, Sergey-Ufa сказал:

Warnings я видел - ничего серьезного нет. А какие там Errors ?

Ошибки были, когда я Ваш проект компилировал в версии 3.12.

Error: C:\Users\Admin\Desktop\Mega8_Nokia3310\Nokia3310\n5110.c(197), #included from: Nokia.c: undefined symbol 'SPIF'       файл (n5110.c) while (SPSR.SPIF!=1);
Error: C:\Users\Admin\Desktop\Mega8_Nokia3310\Nokia3310\pid.c(65), #included from: Nokia.c: the expression must be a modifiable lvalue   файл (Nokia.c) int main(void)
Error: C:\Users\Admin\Desktop\Mega8_Nokia3310\Nokia3310\pid.c(70), #included from: Nokia.c: the expression must be a modifiable lvalue   файл (Nokia.c) TCCR0=(1<<CS01)|(1<<CS00);
Error: C:\Users\Admin\Desktop\Mega8_Nokia3310\Nokia3310\pid.c(76), #included from: Nokia.c: the expression must be a modifiable lvalue файл (pid.c)    (float)p_term = pid_st->P_Factor * error;  
Error: C:\Users\Admin\Desktop\Mega8_Nokia3310\Nokia3310\Nokia.c(144): the 'main' function must return 'void' type  файл (pid.c)    (float)i_term = pid_st->sumError/pid_st->I_Factor; 
Error: C:\Users\Admin\Desktop\Mega8_Nokia3310\Nokia3310\Nokia.c(165): undefined symbol 'CS01'    файл (pid.c)     (float)d_term = pid_st->D_Factor * (pid_st->lastProcessValue - processValue);
В версии CVAVR 1.25.8 - только варнинги.

А в общем, Бог с ним! Если приспичит что-то сделать в CVAVR с дисплеем 5110/3110 и русским языком, то можно и в версии 1.25.8 сделать с Вашей библиотекой.

Изменено пользователем gogaze

Мир не без добрых людей!

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

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

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

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

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

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

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

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

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

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

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