Форум Херсона. Форум Херсонской молодежи, флейм, фотографии Херсона, политика в Херсоне, сетевой форум, сети Херсона


Приветствуем на Форум Херсона. Форум Херсонской молодежи..

На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру!

Если возникнут проблемы с регистрацией напишите нам.

Галерея форума Блоги пользователей Список банов
Вернуться   Форум Херсона. Форум Херсонской молодежи. > >
Регистрация СправкаСтатистика Пользователи Календарь Сообщения за день

Программирование Все вопросы по написанию программ

Ответ
 
Опции темы
Старый 04.03.2016, 18:41   #31 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Заказал такой дисплей на Max7219. Под него h- библиотека идёт или какой то код пишеться?
ДмитрийТ вне форума  
Ответить с цитированием
Старый 05.03.2016, 11:54   #32 (Ссылка на пост)
Свой В Доску
Пол:
 
Активность Longevity
0/20 12/20
Today Сообщения
0/5 ssssss715
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея: 0
Вес репутации: 14 Lukas драгоценность среди камнейLukas драгоценность среди камней
Я так понимаю - если Вы на Ардуинке пишете - можно найти библиотеку... Но зачем? Там просто подключить к интерфейсу SPI и по даташиту посмотреть какие команды подавать... Опустили ногу /CS в ноль, передали 16 бит(адрес+команда), подняли ногу... Если использовать 2 экрана последовательно - то передаете 32 бита, сначала для дальнего 16, потом для ближнего. Ну в общем в даташите все четко описано, и никаких библиотек не нужно.
Не забудьте только, что по умолчанию дисплей выключен. То есть надо при включении подать команду 0x0C01. только тогда он загорится.
Lukas вне форума  
Ответить с цитированием
Старый 05.03.2016, 15:10   #33 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Lukas Посмотреть сообщение
Я так понимаю - если Вы на Ардуинке пишете - можно найти библиотеку... Но зачем? Там просто подключить к интерфейсу SPI и по даташиту посмотреть какие команды подавать... Опустили ногу /CS в ноль, передали 16 бит(адрес+команда), подняли ногу... Если использовать 2 экрана последовательно - то передаете 32 бита, сначала для дальнего 16, потом для ближнего. Ну в общем в даташите все четко описано, и никаких библиотек не нужно.
Не забудьте только, что по умолчанию дисплей выключен. То есть надо при включении подать команду 0x0C01. только тогда он загорится.
Я для Atmegи 168 делаю. Нужны ли прерывания для этого индикатора? Это пример нормальный http://electronvntu.blogspot.com/201...ision-avr.html ?

Последний раз редактировалось ДмитрийТ, 05.03.2016 в 16:04.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 05.03.2016, 18:46   #34 (Ссылка на пост)
Свой В Доску
Пол:
 
Активность Longevity
0/20 12/20
Today Сообщения
0/5 ssssss715
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея: 0
Вес репутации: 14 Lukas драгоценность среди камнейLukas драгоценность среди камней
Да вполне рабочий примерчик, использует аппаратный SPI.
Какие могут быть прерывания, если экран работает как slave, при этом у него подключено 3 входа. У него один единственный выход, и то он подключен к следующему экрану на вход, а от следующего просто висит в воздухе.
Можно поизвращатся с прерыванием окончания передачи данных, чтобы не передавать следующий байт, пока предыдущий не отправился, но это там реализовано одной строкой без прерываний while (!(SPSR & (1 << SPIF)));
Советую начинать с минимальной интенсивностью свечения, а то китайцы иногда мудрят(не тот резистор ставят) и у меня при минимальной интенсивности экраны горели довольно ярко, а при максимальной - было ощущение, что вот-вот сгорят
Lukas вне форума  
Ответить с цитированием
Старый 12.03.2016, 08:29   #35 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Что то в протеусе не запускается.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 12.03.2016, 15:36   #36 (Ссылка на пост)
Свой В Доску
Пол:
 
Активность Longevity
0/20 12/20
Today Сообщения
0/5 ssssss715
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея: 0
Вес репутации: 14 Lukas драгоценность среди камнейLukas драгоценность среди камней
Я в протеусе свою задачу не проверял. сразу на железе.
Lukas вне форума  
Ответить с цитированием
Старый 20.03.2016, 20:55   #37 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Да, в протеусе не пашет вообще, в железе работает. Вот только как температуру вывести с десятыми?
Пробую вот так, и полный бред выводит. А без десятичных вроде нормально.
PHP код:
for(j=0;j<devices;)
{
temperature=ds18b20_temperature(&ds18b20_rom_codes[j][0]);
temps = (unsigned inttemperature;//Присвоим переменной temp значение переменной temperature с явным указанием типа данных
if (temperature<0)temps = ( ~temps ) + 0x0001// если число отрицательное перевести его в норм.вид 
    
celie = (temps >> 4);               // целая часть числа
    
drob_tmp temps 0x0F;          // дробная часть числа с точностью 1/16 градуса         
     
drob  = (unsigned int) ((drob_tmp 10) / 16); // преобразование дробной части в формате "1/16 градуса" в десятичный формат с точностью 0,1 градуса  
if (temperature<0) {//Если темп. плюсовая или 0
buf5=10;
}
buf0=13;
buf1=0;
buf2=drob;
buf3=celie%10^80;
buf4=celie/10;
j++;           
}
delay_ms(800);


Последний раз редактировалось ДмитрийТ, 20.03.2016 в 21:01.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 20.03.2016, 23:00   #38 (Ссылка на пост)
Свой В Доску
Пол:
 
Активность Longevity
0/20 12/20
Today Сообщения
0/5 ssssss715
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея: 0
Вес репутации: 14 Lukas драгоценность среди камнейLukas драгоценность среди камней
Доказывает, что протеус не всемогущий)))
А по теме - пока не вижу ошибок - завтра постараюсь дать совет.

Почесав затылок, юзер дописал через 1 минуту
Дело в том, что у меня функция преобразования выглядела совсем иначе. Завтра сравню.

Почесав затылок, юзер дописал через 8 минут
Цитата:
Сообщение от ДмитрийТ Посмотреть сообщение
if*(temperature<0)
По коду вроде норм, а в комменте совсем противоречиво... Пока это не является ошибкой, но не советую комментировать так, как у Вас.

Почесав затылок, юзер дописал через 8 минут
Цитата:
Сообщение от ДмитрийТ Посмотреть сообщение
Вот только как температуру вывести с десятыми?
С позволения автора может перенести тему в радиоаматорство?
Lukas вне форума  
Ответить с цитированием
Старый 21.03.2016, 06:55   #39 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Цитата:
Сообщение от Lukas Посмотреть сообщение
Доказывает, что протеус не всемогущий)))
А по теме - пока не вижу ошибок - завтра постараюсь дать совет.

Почесав затылок, юзер дописал через 1 минуту
Дело в том, что у меня функция преобразования выглядела совсем иначе. Завтра сравню.

Почесав затылок, юзер дописал через 8 минут

По коду вроде норм, а в комменте совсем противоречиво... Пока это не является ошибкой, но не советую комментировать так, как у Вас.

Почесав затылок, юзер дописал через 8 минут

С позволения автора может перенести тему в радиоаматорство?
Этот вариант кода взял с этого видео

Можно тему и в радиоаматорство, только тем кто занимается радиочастотами и аналоговой техникой навряд ли это будет интересно.

Последний раз редактировалось ДмитрийТ, 21.03.2016 в 07:07.
ДмитрийТ вне форума  
Ответить с цитированием
Старый 21.03.2016, 15:50   #40 (Ссылка на пост)
Свой В Доску
Пол:
 
Активность Longevity
0/20 12/20
Today Сообщения
0/5 ssssss715
Благодарил(а): 183
Благодарили 265 раз в 146 постах
Галерея: 0
Вес репутации: 14 Lukas драгоценность среди камнейLukas драгоценность среди камней
попробуй написать drob_tmp = temps & 0x000F;
Lukas вне форума  
Ответить с цитированием
Старый 21.03.2016, 17:47   #41 (Ссылка на пост)
Задержался
 
Аватар для ДмитрийТ
Пол:
 
Активность Longevity
0/20 9/20
Today Сообщения
0/5 sssssss71
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея: 0
Вес репутации: 10 ДмитрийТ идет по правильному пути
Оно изначально так и было. Тут надо понять как раскидать полученные данные по разрядам.
ДмитрийТ вне форума  
Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 

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

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


Время на сервере: 11:06.

Регистрация Справка Пользователи Календарь Сообщения за день

vBulletin 3, Copyright © 2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co