Страница 13 из 17 ПерваяПервая ... 37891011121314151617 ПоследняяПоследняя
Показано с 121 по 130 из 164

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    45
    Сообщений
    28
    Вес репутации
    122

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Цитата Сообщение от Chip Посмотреть сообщение
    нет, это команда для MAX7456
    Простите за еще один дилетантский вопрос: В даташите перечислены DMM, DMAH, VM0 и т.д. - это байты команд? В таблицах приведены значения в восьмеричной форме, за что отвечает тот или иной бит. А почему они перед кодом декларируются, с нижним подчеркиванием и добавлением слова reg? Для чего это делается?

    А вот это команды: VIDEO_MODE_PAL, CLEAR_display ? Откуда они? Или я даташит не внимательно читал (не все перевел, каюсь) или библиотека этих команд где-то в другом месте?

  2. #2
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    45
    Сообщений
    28
    Вес репутации
    122

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Цитата Сообщение от onemamba Посмотреть сообщение
    Простите за еще один дилетантский вопрос: В даташите перечислены DMM, DMAH, VM0 и т.д. - это байты команд? В таблицах приведены значения в восьмеричной форме, за что отвечает тот или иной бит. А почему они перед кодом декларируются, с нижним подчеркиванием и добавлением слова reg? Для чего это делается?

    А вот это команды: VIDEO_MODE_PAL, CLEAR_display ? Откуда они? Или я даташит не внимательно читал (не все перевел, каюсь) или библиотека этих команд где-то в другом месте?
    Отвечаю на свой дилетантский вопрос: DMM, DMAH, VM0 и т.д. - названия регистров, куда надо отправить данные для операций с ними, присвоенные им значения в начале кода - адреса в памяти, где они находятся для записи, в даташите есть адреса откуда можно считать их значения. В коде мы объявляем их, чтобы ардуинка знала, куда отправлять данные. Приставка reg в конце каждого показывает, что это регистр.

    Если не прав - поправьте меня.
    Последний раз редактировалось onemamba; 03.11.2016 в 02:08.

  3. #3
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Цитата Сообщение от onemamba Посмотреть сообщение
    Вот это больше всего не понятно, прокомментируйте, если не сложно:
    Цитата Сообщение от onemamba Посмотреть сообщение
    linepos = y*30+x; // Присвоение байту "linepos" значения выражения "y*30+x" Где берутся значения для "x" и "y"

    Они обьявляются в вызове процедуры
    void OSD_write_to_screen
    (const char s[], byte x, byte y, byte blink, byte invert)
    Последний раз редактировалось Chip; 02.11.2016 в 21:52.

  4. #4
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    45
    Сообщений
    28
    Вес репутации
    122

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Простите, я не правильно сформулировал вопрос: я не понял, какие значения им присвоены?
    объявлен байт x, но он же не пустой, или он изначально - 00000000?
    Прошу прощения, я дико тормозил, здесь используется двоичная система, а я из-за размера байта ее восьмеричной обзываю. Главное с умным видом умничать!!! Прошу прощения за офтоп...
    Но вопрос остается: какие значения присваиваются эти x и y?

  5. #5
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    x, y Вы сами прописываете, в зависимости какое положение окна на экране Вам нужно
    Соответственно blink это моргающая строка и invert инвертированная

    OSD_write_to_screen("http://compcar.ru", 2, 1, 0,1);
    OSD_write_to_screen("http://compcar.ru", 2, 2, 0,0);
    OSD_write_to_screen("Привет!!!", 11, 6, 1,1);
    OSD_write_to_screen("ПРИВЕТ!!!", 11, 7, 1,0);
    OSD_write_to_screen("http://compcar.ru", 13, 13, 0,1);
    OSD_write_to_screen("http://compcar.ru", 13, 14, 0,0);
    Последний раз редактировалось Chip; 02.11.2016 в 22:38.

  6. #6
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    45
    Сообщений
    28
    Вес репутации
    122

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Цитата Сообщение от Chip Посмотреть сообщение
    x, y Вы сами прописываете, в зависимости какое положение окна на экране Вам нужно
    Соответственно blink это моргающая строка и invert инвертированная

    OSD_write_to_screen("http://compcar.ru", 2, 1, 0,1);
    OSD_write_to_screen("http://compcar.ru", 2, 2, 0,0);
    OSD_write_to_screen("Привет!!!", 11, 6, 1,1);
    OSD_write_to_screen("ПРИВЕТ!!!", 11, 7, 1,0);
    OSD_write_to_screen("http://compcar.ru", 13, 13, 0,1);
    OSD_write_to_screen("http://compcar.ru", 13, 14, 0,0);
    Вот как! Огромное спасибо, пошел разбираться дальше! Вы мне очень помогли, постараюсь остальное сам докумекать.

  7. #7
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    45
    Сообщений
    28
    Вес репутации
    122

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Вот еще вопрос, который меня удивляет, как новичка: В вашем коде нет подключаемых библиотек, в других кодах тоже часто, но ваш код проходит проверку в компиляторе, а другие - нет, ошибка всегда одна и та же:
    'spi_transfer' was not declared in this scope

    То есть, не хочет признавать командой компилятор это выражение, в чем соль? Почему так происходит?

  8. #8
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Все зависит от библиотеки SPI
    Можно посмотреть какой синтаксис вызова команды SPI у встроенной библиотеки, он у них иногда изменяется
    Последний раз редактировалось Chip; 03.11.2016 в 18:06.

  9. #9
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    45
    Сообщений
    28
    Вес репутации
    122

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Цитата Сообщение от Chip Посмотреть сообщение
    Все зависит от библиотеки SPI
    Можно посмотреть какой синтаксис вызова команды SPI у встроенной библиотеки, он у них иногда изменяется
    Вот ваш код с первой страницы, его первая часть:

    #define VSYNC 2 // INT0
    #define DATAOUT 11//MOSI
    #define DATAIN 12//MISO
    #define SPICLOCK 13//sck
    #define MAX7456SELECT 10//ss


    #define DMM_reg 0x04
    #define DMAH_reg 0x05
    #define DMAL_reg 0x06
    #define DMDI_reg 0x07
    #define VM0_reg 0x00
    #define VM1_reg 0x01

    #define VIDEO_BUFFER_DISABLE 0x01
    #define MAX7456_RESET 0x02
    #define VERTICAL_SYNC_NEXT_VSYNC 0x04
    #define OSD_ENABLE 0x08
    #define SYNC_MODE_AUTO 0x00
    #define SYNC_MODE_INTERNAL 0x30
    #define SYNC_MODE_EXTERNAL 0x20
    #define VIDEO_MODE_PAL 0x40
    #define VIDEO_MODE_NTSC 0x00

    #define BLINK_DUTY_CYCLE_50_50 0x00
    #define BLINK_DUTY_CYCLE_33_66 0x01
    #define BLINK_DUTY_CYCLE_25_75 0x02
    #define BLINK_DUTY_CYCLE_75_25 0x03

    #define BLINK_TIME_0 0x00
    #define BLINK_TIME_1 0x04
    #define BLINK_TIME_2 0x08
    #define BLINK_TIME_3 0x0C

    #define BACKGROUND_BRIGHTNESS_0 0x00
    #define BACKGROUND_BRIGHTNESS_7 0x10
    #define BACKGROUND_BRIGHTNESS_14 0x20
    #define BACKGROUND_BRIGHTNESS_21 0x30
    #define BACKGROUND_BRIGHTNESS_28 0x40
    #define BACKGROUND_BRIGHTNESS_35 0x50
    #define BACKGROUND_BRIGHTNESS_42 0x60
    #define BACKGROUND_BRIGHTNESS_49 0x70

    #define BACKGROUND_MODE_GRAY 0x40

    #define CLEAR_display 0x04
    #define CLEAR_display_vert 0x06
    #define END_string 0xff
    #define ENABLE_display 0x08
    #define ENABLE_display_vert 0x0c
    #define MAX7456_reset 0x02
    #define DISABLE_display 0x00


    #define WHITE_level_80 0x03
    #define WHITE_level_90 0x02
    #define WHITE_level_100 0x01
    #define WHITE_level_120 0x00

    #define MAX_screen_size 390
    #define MAX_screen_rows 16

    byte spi_junk, eeprom_junk;
    int x;
    //////////////////////////////////////////////////////////////
    void setup()
    {
    Serial.begin(115200);
    Serial.flush();

    pinMode(MAX7456SELECT,OUTPUT);
    digitalWrite(MAX7456SELECT,HIGH);

    pinMode(DATAOUT, OUTPUT);
    pinMode(DATAIN, INPUT);
    pinMode(SPICLOCK,OUTPUT);
    pinMode(VSYNC, INPUT);

    SPCR = (1<<SPE)|(1<<MSTR);
    spi_junk=SPSR;
    spi_junk=SPDR;
    delay(250);

    digitalWrite(MAX7456SELECT,LOW);
    spi_transfer(VM0_reg);
    spi_transfer(MAX7456_reset);
    digitalWrite(MAX7456SELECT,HIGH);
    delay(500);

    До первого упоминания команды spi_transfer() - я может не понимаю, но тут нет упоминания о библиотеке.

  10. #10
    Пользователь
    Регистрация
    01.11.2016
    Возраст
    45
    Сообщений
    28
    Вес репутации
    122

    По умолчанию Re: Видеокарта для Arduino(CarduinoVideioCard).

    Цитата Сообщение от Chip Посмотреть сообщение
    Все зависит от библиотеки SPI
    Можно посмотреть какой синтаксис вызова команды SPI у встроенной библиотеки, он у них иногда изменяется
    Или имеется ввиду встроенной библиотеке в компилятор?

Страница 13 из 17 ПерваяПервая ... 37891011121314151617 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 4 (пользователей: 0 , гостей: 4)

Ваши права

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