Среда, 31.12.2025, 07:12
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Главная | Вывод изображения на телевизор в CodeVisionAVR - Страница 4 - Форум | Мой профиль | Регистрация | Выход | Вход
Обитель RC-инженера
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: ВитГо  
Вывод изображения на телевизор в CodeVisionAVR
SergiДата: Вторник, 27.11.2012, 23:12 | Сообщение # 46
Подполковник
Группа: Проверенные
Сообщений: 540
Репутация: 55
Статус: Offline
Я с нуля рисовал шрифт для термометра 12х16. Только цифры,точку и пробел. Вечерок убил biggrin .
 
pupkinДата: Среда, 28.11.2012, 12:59 | Сообщение # 47
Сержант
Группа: Проверенные
Сообщений: 36
Репутация: 0
Статус: Offline
Вот LCD Vision бесплатный http://hpinfotech.ro/html/lcdvision_download.htm в нем можно нарисовать?
В горизонтальном положении? тип так:

Добавлено (28.11.2012, 12:59)
---------------------------------------------
Я сделал вывод 64 пустых строк потом изображение и потом 64 пустых...
http://pastebin.ru/dBlBhAod

Прикрепления: 0875853.png (102.6 Kb)
 
ВитГоДата: Среда, 28.11.2012, 18:32 | Сообщение # 48
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
Глянул я программу, похоже то что нужно !!

символ наклонять не нужно ! она сама правильно кодирует их (горизонтальными линиями)
так что в ней и нужно рисовать все символы


Виталий (аka ВитГо)
 
pupkinДата: Среда, 28.11.2012, 19:22 | Сообщение # 49
Сержант
Группа: Проверенные
Сообщений: 36
Репутация: 0
Статус: Offline
пару символов мне достаточно будет... 1 23456789 пускай... что дальше с кодом сгенерированым делать мне?
 
ВитГоДата: Четверг, 29.11.2012, 05:44 | Сообщение # 50
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
теперь самое интересное: почитай про SPI

нам нужен будет SPI работающий на частоте 4 мгц


Виталий (аka ВитГо)
 
pupkinДата: Четверг, 29.11.2012, 17:00 | Сообщение # 51
Сержант
Группа: Проверенные
Сообщений: 36
Репутация: 0
Статус: Offline
Code
// SPI functions
#include <spi.h>

Code
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 4000,000 kHz
// SPI Clock Phase: Cycle Start
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=0x50;
SPSR=0x00;


http://pastebin.ru/U2pg5X9P
 
ВитГоДата: Четверг, 29.11.2012, 20:05 | Сообщение # 52
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
ок,

теперь перецепи вывод уровня белого на сигнал MOSI (это как раз выход SPI)

и попробуй вывести что нить после 12-15 мкс от синхроимпульса в 4 мкс в строках изображения (те которые не пустые)


Виталий (аka ВитГо)
 
pupkinДата: Пятница, 30.11.2012, 08:30 | Сообщение # 53
Сержант
Группа: Проверенные
Сообщений: 36
Репутация: 0
Статус: Offline
не очень понял как... вот код http://pastebin.ru/YsSjLVPd
просто черный экран.... если изменить на portc = 2 то будет белый квадрат... значит spi настроен по идее....
 
ВитГоДата: Пятница, 30.11.2012, 16:04 | Сообщение # 54
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
чтото я не увидел работы с SPI..

вывод строк изображения это какой номер case?


Виталий (аka ВитГо)
 
pupkinДата: Пятница, 30.11.2012, 19:46 | Сообщение # 55
Сержант
Группа: Проверенные
Сообщений: 36
Репутация: 0
Статус: Offline
кейс 3: }else if(str > 64 && str <= 224) {
как работать то с ним? прерывание сделать или чего?.. и не нужно меня посылать за инфой по spi

Добавлено (30.11.2012, 19:46)
---------------------------------------------
я наркоман.. там есть ф-ции spi(); и тп) ладно позже заделаю

 
ВитГоДата: Суббота, 01.12.2012, 02:48 | Сообщение # 56
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
Code

if(str > 64 && str <= 224)  {                     
            ZERO;                     
  #asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");
   #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");
   #asm("nop");#asm("nop");
   
      #asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");
   #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");
   #asm("nop");#asm("nop");   
   
   #asm("nop"); #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");
   #asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");#asm("nop");
                    #asm("nop");                  #asm("nop");               #asm("nop");
             BLACK;
            delay_us(20);     
//----------------------------------------------------------
// вот здесь нужно делать отправку байт изображения при помощи SPI

             WHITE;              // соответственно это будет не нужно
             delay_us(30);     // соответственно это будет не нужно
             BLACK;              // соответственно это будет не нужно
              delay_us(8);      // соответственно это будет не нужно
//---------------------------------------------------------
          }


что-то я запамятовал: на какой функциональный вывод сейчас подключена генерация уровня WHITE? должна на MOSI
после этого в регистр данных SPDR кидаем байт и и ждем пока не отправиться, потом кидаем следующий....

пример кода на отправку можно взять со страницы 139 даташита по меге 16
для начала попробуй в цикле отправить штук 10 одинаковых байт, например 0х01- и добиться появления на экране вертикальных полосок в 1 пиксель каждые 8 пикселей по ширине


Виталий (аka ВитГо)
 
ВитГоДата: Суббота, 01.12.2012, 02:51 | Сообщение # 57
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
судя по тому что ты выводишь управление сигналом в PORTC - у тебя генерация сигнала WHITE сделана не через SPI !!!

переподключай генерацию уровня 1в. с ноги порта С на порт B пин 5


Виталий (аka ВитГо)
 
pupkinДата: Суббота, 01.12.2012, 14:54 | Сообщение # 58
Сержант
Группа: Проверенные
Сообщений: 36
Репутация: 0
Статус: Offline
Полоска есть... только не белая, а на фиолетовую смахивает .. тонкая...
насчет цикла что -то не получилось.. именно подогнать задержки...
while(i < 10){ spi(0x01); i++;}

http://pastebin.ru/cvbTj9d1
 
ВитГоДата: Суббота, 01.12.2012, 16:53 | Сообщение # 59
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
а выдержка перед отправкой второго байта точно есть в вызове spi() ?
в spdr нельзя сувать новые данные если старые не отправились !!

по цвету - смотрите уровень сигнала


Виталий (аka ВитГо)
 
ВитГоДата: Суббота, 01.12.2012, 16:55 | Сообщение # 60
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
схему которая сейчас собрана огласите !

я не вижу у вас подключения к выводу MOSI !!!!


Виталий (аka ВитГо)
 
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:


Copyright MyCorp © 2025
Сделать бесплатный сайт с uCoz