st7920 CVAVR

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Ср дек 05, 2018 23:10:34

Сообщение CAT86 »

Привет всем :))
подскажите, как вывести температуру или время на дисплее ST7920 cvavr
Реклама
Встал на лапы
Сообщения: 96
Зарегистрирован: Ср сен 20, 2017 22:49:53

Сообщение Nijka »

Надо найти в сети пример, разобраться и сделать так же.
Реклама
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Ср дек 05, 2018 23:10:34

Сообщение CAT86 »

Взял чей то пример:

Код: Выделить всё

 
#include <mega32a.h>
#include <glcd.h>
#include <font5x7.h>

unsigned char VideoVarCache [50];
           unsigned char BOSS;


while (1)
      { 
   BOSS=10; 

sprintf(VideoVarCache, "%d", BOSS); 

}


 
и.... Не чего :dont_know:
Друг Кота
Аватара пользователя
Сообщения: 6332
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Наверно, надо дисплей предварительно проинициализировать. Не спрашивай меня как - я с CVAVR не работаю,но другие люди знают, видимо.
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 96
Зарегистрирован: Ср сен 20, 2017 22:49:53

Сообщение Nijka »

[uquote="CAT86",url="/forum/viewtopic.php?p=3539594#p3539594"]Взял чей то пример... и.... Не чего[/uquote]
Возьми другой пример, хороший. А что ты сам сделал, чтобы твой "пример" заработал?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Навскидку https://habr.com/post/213459/
А лучше всего проштудировать даташит.
Docendo discimus
Контактная информация:
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 63
Зарегистрирован: Сб мар 09, 2013 21:46:01
Откуда: Уфа

Сообщение alex-wolf »

[uquote="CAT86",url="/forum/viewtopic.php?p=3539466#p3539466"]Привет всем :))
подскажите, как вывести температуру или время на дисплее ST7920 cvavr[/uquote]


Добрый вечер!

обзор на индикатор на контроллере "ST7920"
делал обзор
https://vk.com/video-105366674_45623902 ... 953232dd87

мой вариант, без вывода графики и адресации на Русские буквы
у меня индикатор 122х32 точки.
обращение/общение через шину "SPI"
hyg122x32_09c.c
(3.57 КБ) 248 скачиваний

Код: Выделить всё


////пояснение тип переменной- размерность "unsigned char" эквивалентно/аналогично/синоним "uint8_t" без знаковой 8бит

	unsigned char lcd_buffer[];



	sprintf(lcd_buffer,"%2u:%02u:%02u",hour,minut,sec); 
	lcd_display(0,0,lcd_buffer);

	//////////////////////////день недели/// 0="";   1="Su"; 2="Mo";  3="Tu"; 4="We;  5="Th";  6= "Fr";  7="Sa"
	static unsigned char *eng_str_day[] = {"", "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"};
	
	sprintf(lcd_buffer,"%2u/%02u/20%02u %s", date, month, year, eng_str_day[day]}
	lcd_display(1,0,lcd_buffer);


--
удачи.
Последний раз редактировалось alex-wolf Ср янв 02, 2019 22:34:28, всего редактировалось 1 раз.
Контактная информация:
Встал на лапы
Сообщения: 96
Зарегистрирован: Ср сен 20, 2017 22:49:53

Сообщение Nijka »

[uquote="pyzhman",url="/forum/viewtopic.php?p=3539754#p3539754"]...проштудировать...[/uquote] Шутите! Похоже, ТС хочет, чтобы за него и в гугле поискали, и разжевали, и в ротик положили.
Этих примеров в сети как грязи! Да что там в сети, примеры даже в компьютере ТС есть, и даже не один - в папке CVAVR.
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

[uquote="Nijka",url="/forum/viewtopic.php?p=3539799#p3539799"]...в папке CVAVR.[/uquote]
Может, у него версия не та.
Docendo discimus
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 63
Зарегистрирован: Сб мар 09, 2013 21:46:01
Откуда: Уфа

Сообщение alex-wolf »

у разработчиков - "CVAVR" - ПАРАНОЙЯ, они ШИФРУЮТ свои библиотечки (особенно для работы с индикаторами)

актуальный список для 3.34! версии
ILI9325, ILI9328, ILI9340, ILI9341, RA8875, S6D1121, SSD1289, SSD1963, SSD2119 (color TFT LCD), KS0108, SED1335, S1D13700, SED1520, SED1530, SH1101A (OLED), SSD1303 (OLED), SSD1305 (OLED), SSD 1306 (OLED), SSD1309 (OLED), SSD1322 (OLED), SPLC501C, ST7565, ST7567, ST7920, ST7793, T6963C, UC1608, UC1610, UC1701, XG7100 and PCD8544 (Nokia 3310, 5510) controllers

так что приходится изобретать свой велосипед!
Контактная информация:
Встал на лапы
Сообщения: 96
Зарегистрирован: Ср сен 20, 2017 22:49:53

Сообщение Nijka »

Что значит "шифруют"? Зачем "изобретать свой велосипед"? Чем вас не устраивают библиотеки от разработчиков?
В User Manual, который, кстати, тоже устанавливается(копируется) на комп вместе с cvavr 3 версии, функции для контроллера ST7920 на 6 листах расписаны. С примерами. В чем проблема-то?
Открыл глаза
Аватара пользователя
Сообщения: 63
Зарегистрирован: Сб мар 09, 2013 21:46:01
Откуда: Уфа

Сообщение alex-wolf »

во первых -
у меня версия 2.05 (и меня она устраивает хотя есть некоторые особенности/глюки например: не умеет работать с много-поточной/процессорной, указания на работу с портами(атмега128) F только через)
как пример:
...
if (num == 1) {PORTF |= (1<<3); DDRF = DDRF |(1<<3); }
else {PORTF &= ~(1<<3); DDRF = DDRF |(1<<3);};
...


во вторых -
попробуй открыть файл библиотечке
(путь на диске куда установлен cvavr)\lib\alcd_ks0073.lib
первое что увидишь будет строка - "CVAVRLIB "
взгляни на файлы - "sdcard.lib";"ff.lib".

в третих -
особенное/специфическое/громоздкое и жесткое привязанность к портам(не нужны некоторые "пины" или их катастрофически мало).

в четвёртых -
разве не возникало желание, разобрать и "посмотреть изнутри" как оно устроенно, а, не слепое! без понимания процесса происходящего.
Контактная информация:
Встал на лапы
Сообщения: 96
Зарегистрирован: Ср сен 20, 2017 22:49:53

Сообщение Nijka »

Сами создаете себе проблемы.
1. Обновитесь до более свежей версии CVAVR. Откроете для себя много нового. На WIN95 вы же не сидите до сих пор?
3. О чем это? Любой пин ST7920, например, можно привязать к любому пину любого порта.
2,4. Зачем лезть в готовые библиотеки?! :shock: Ими надо пользоваться! Не нравятся - пишите свои, если готовое не устраивает. Вы же не ковыряетесь в самом CVAVR? А чтобы узнать, "как оно изнутри устроено" - пишите исключительно на ассемблере. Надолго хватит? :)))

Вот что-то ТС примолк. Как успехи? Получилось?
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

[uquote="alex-wolf",url="/forum/viewtopic.php?p=3540047#p3540047"]...она устраивает...[/uquote]
Перешагни через устраивает. 2-ка будет казаться детским садом.
Docendo discimus
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Ср дек 05, 2018 23:10:34

Сообщение CAT86 »

Код: Выделить всё


#include <mega32a.h>


#include <glcd.h>
#include <font5x7.h>
#include <i2c.h>
#include <delay.h>
#include <ds3231.h>
#include <stdio.h>
#asm
   .equ __i2c_port=0x15 ;PORTC
   .equ __sda_bit=1
   .equ __scl_bit=0
#endasm

unsigned char hour, minut, sec;
unsigned char lcd_buffer[10];


void main(void)
{

GLCDINIT_t init;
init.readxmem=NULL;
init.font=font5x7; 
init.writexmem=NULL;
glcd_init(&init);
i2c_init();
rtc_init(0, 0, 0);


 #asm("sei")

while (1)
      { 
      
      rtc_get_time(&hour, &minut, &sec);
             

      sprintf(lcd_buffer,"%2d:%02d:%02d",hour, minut, sec);
      lcd_puts(lcd_buffer); //часы отображаются, но полностью заполнен дисплей часами

       //lcd_display(0,0,lcd_buffer);Error:  undefined symbol 'lcd_display'
       //lcd_puts(0,0,lcd_buffer);Error:  too many arguments in function call

}
};

Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Ср дек 05, 2018 23:10:34

Сообщение CAT86 »

скажите, как позиционировать часы по дисплею? :oops:
с простым текстом всё понятно:
glcd_settextjustify(2,1);

а вот часы в определенное место... с этим проблема. :dont_know:
Ответить

Вернуться в «AVR»