Перейти к содержимому

    •  
    Фотография

    Отредактировать прошивку (исходник) atmega16


    • Авторизуйтесь для ответа в теме
    Сообщений в теме: 10

    #1 Дядя Рома

    Отправлено 06 декабря 2020 - 16:50

    Дядя Рома
    • Members
    • 1 056 сообщений
    • Калуга

    • Opel Frontera A 1995г.р., X22XE МКПП 5; ВАЗ 2103 1974г.р., полторашка, МКПП 5

    Кто разбирается в программировании микроконтроллеров? 

    Спаял Lan Tester из нижеприведенной статьи, а дисплея 1604 не оказалось, только 2004.

    Нужно поправить исходник прошивки для работы с дисплеем 20символов 4строки. 

    Вот статья

     https://habr.com/ru/post/190632/ 

    Ссылка на исходник

     https://docs.google....F4Y0lOR1U/edit 



    #2 armer

    Отправлено 06 декабря 2020 - 21:09

    armer
    • Members
    • 2 126 сообщений
    • Новосибирск

    • Isuzu Vehicross 3.5L, 6VE1/AW30-40LS/TOD

    Ссылки-то битые...


    Сразу скажу, что у подобных индикаторов нет единого стандарта. Адресация строк может быть разной. Какая организация именно в вашем дисплее - возможно, ответ на этот вопрос даст даташит от его производителя. А еще бывают, что в одном индикатора на 4 строки, как бы, два независимых двухстрочных индикатора, т.е. адреса половины строк могут совпадать, но отдельным сигналом на отдельный вывод выбирается, какой из двух кристаллов и какая половина дисплея будут активными.



    #3 Дядя Рома

    Отправлено 06 декабря 2020 - 21:31

    Дядя Рома
    • Members
    • 1 056 сообщений
    • Калуга

    • Opel Frontera A 1995г.р., X22XE МКПП 5; ВАЗ 2103 1974г.р., полторашка, МКПП 5

    Ссылки вставлял рабочие, почему не работают не знаю.

    Попробую так...

    статья

    исходник

    Индикатор у меня похожий как здесь. Понимаю формулировка "похожий" неуместна, но судя по статье "Там буквально пару числовых значений подправить." :dntknw:



    #4 armer

    Отправлено 06 декабря 2020 - 21:36

    armer
    • Members
    • 2 126 сообщений
    • Новосибирск

    • Isuzu Vehicross 3.5L, 6VE1/AW30-40LS/TOD

    Традиционно, такие дисплеи собираются на чипе HD44780 и его аналогах. Я, конечно, на си не программирую, но, полагаю, в вашем случае нужно будет лишь подправить адресацию строк. Там в архиве, в файле hd44780.h, есть такие строчки:

     
    #define LCD_ROW1_OFFSET         0x00
    #define LCD_ROW2_OFFSET         0x40
    #define LCD_ROW3_OFFSET         0x10

    #define LCD_ROW4_OFFSET         0x50

     

    Это адреса начала четырех строк. Длина строки в данном случае не прописывается, важно знать, с каких ячеек памяти начинается каждая строка в вашем дисплее. Пробуйте методом тыка... Ничего при этом не сломается :) Тут вот обсуждается пара вариантов, попробуйте их: 0x80, 0xC0, 0x94, 0xD4 или 0x00, 0x40, 0x14, 0x54. Я за второй вариант :)

    Что за дисплей-то? Бирка есть на нем какая-нибудь?


    Сообщение отредактировал armer: 06 декабря 2020 - 21:37


    #5 Дядя Рома

    Отправлено 06 декабря 2020 - 21:57

    Дядя Рома
    • Members
    • 1 056 сообщений
    • Калуга

    • Opel Frontera A 1995г.р., X22XE МКПП 5; ВАЗ 2103 1974г.р., полторашка, МКПП 5

    Бирки нет, маркировка только 2004А



    #6 armer

    Отправлено 06 декабря 2020 - 22:11

    armer
    • Members
    • 2 126 сообщений
    • Новосибирск

    • Isuzu Vehicross 3.5L, 6VE1/AW30-40LS/TOD

    Вообще устройство собрано? Что-нибудь показывает?


    Или компилировать си-шные файлы тоже нечем? Какой файл шить собираетесь? .hex есть?



    #7 Дядя Рома

    Отправлено 06 декабря 2020 - 22:27

    Дядя Рома
    • Members
    • 1 056 сообщений
    • Калуга

    • Opel Frontera A 1995г.р., X22XE МКПП 5; ВАЗ 2103 1974г.р., полторашка, МКПП 5

    Да, собрано и прошито. Подключал к winstar 1602 показывал 2 верхние строки, работал.. На 2004 квадраты в двух строках  Компилирую в avr studio. hex создается в процессе компиляции



    #8 armer

    Отправлено 07 декабря 2020 - 05:58

    armer
    • Members
    • 2 126 сообщений
    • Новосибирск

    • Isuzu Vehicross 3.5L, 6VE1/AW30-40LS/TOD

    В каких строках квадраты? Фото есть?


    И фото дисплея можно ) С двух сторон.



    #9 Дядя Рома

    Отправлено 07 декабря 2020 - 16:37

    Дядя Рома
    • Members
    • 1 056 сообщений
    • Калуга

    • Opel Frontera A 1995г.р., X22XE МКПП 5; ВАЗ 2103 1974г.р., полторашка, МКПП 5


     

     
    #define LCD_ROW1_OFFSET         0x00
    #define LCD_ROW2_OFFSET         0x40
    #define LCD_ROW3_OFFSET         0x14

    #define LCD_ROW4_OFFSET         0x54

     

     

    Запустился  :yes:  Огромное Вам спасибо!!!

     

    Было...

    IMG-20201206-233732.jpg IMG-20201206-233807.jpg

     

    Стало

    IMG-20201207-171835.jpg IMG-20201207-171904.jpg



    #10 armer

    Отправлено 07 декабря 2020 - 16:56

    armer
    • Members
    • 2 126 сообщений
    • Новосибирск

    • Isuzu Vehicross 3.5L, 6VE1/AW30-40LS/TOD

    Честно говоря, мне не понятно, почему был такой результат до смены адресов ) Я ожидал, что просто пара строк должны были уехать. Но, кто там разберет, как у производителя память используется... Хорошо, что все хорошо! )



    #11 Дядя Рома

    Отправлено 07 декабря 2020 - 17:01

    Дядя Рома
    • Members
    • 1 056 сообщений
    • Калуга

    • Opel Frontera A 1995г.р., X22XE МКПП 5; ВАЗ 2103 1974г.р., полторашка, МКПП 5

    Ну я и не исключаю своего косяка, может чего не так делал :dntknw:  :Cherna-facepalm:

     

    И правда. Сейчас скомпилировал с изначальными значениями, текст есть но со сдвигом... чегото я тогда недопаял...когда индикаторы менял видимо


    Сообщение отредактировал Дядя Рома: 07 декабря 2020 - 17:09