Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 23.03.2024, 15:57  
Devil Byte
Временная регистрация
 
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Devil Byte на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от eddy Посмотреть сообщение
// ну и не пройду мимо и еще раз пристыжу: позорище-то какое! Ни документацию ТС не в состоянии почитать, ни код написать… Еще и, наверняка, под абдурину не как положено код пишет, а в абдурино-IDE с убогими абдуринобиблиотеками.
У меня не ардуино, а просто отладочная плата на атмега 128 от waveshare.
Реклама:
Devil Byte вне форума  
Непрочитано 23.03.2024, 15:58  
Devil Byte
Временная регистрация
 
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Devil Byte на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от ForcePoint Посмотреть сообщение
А конкретнее? Что не так?
Он просто не инициализировался. В общем ответил китаец, и там контроллер 9488. под авр пока не нашел библиотек
Devil Byte вне форума  
Непрочитано 23.03.2024, 16:41  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Дак от AVR там требуется только работа с SPI и ногами. Остальное - аппаратнонезависимое. Находите где-нить функции отправки по SPI и дергание ногой DC, ну и дальше используя эти функции, посылаете указанные в библиотеке дисплея байты.

Лично я бы, на вашем месте, не выходил за пределы примитивного дисплея-двустрочника 1602, ибо что-то более сложное уже было бы мучительно больно. Или же возьмите именно Ардуину и ArduinoIDE и на ней будете просто состыковывать готовые скетчи. Так делают все ардуинщики, которым не по силам разобраться в документации и написать своё. А так у вас хоть будет больше возможностей перебирать готовые скетчи, они уже все написаны.

Помимо запуска дисплея там есть огромнейший пласт работы вообще с графикой. Текст на таких дисплеях - это тоже графика, растровая.
А тут еще цветной дисплей большого размера и довольно слабый для него микроконтроллер, так тут вообще засада. Ардуинщики то уже понаписали для этого скетчей, понатыкали.
NewWriter вне форума  
Непрочитано 23.03.2024, 17:07  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от Devil Byte Посмотреть сообщение
не нашел библиотек
Да не нужны там никакие "библиотеки": просто отправить инициализирующую последовательность, а потом гонять пиксели. Ничего сложного.
Кстати, напомню: даже для дисплея 128×128 точек нужно минимум 16*16+32*128=4352 байта на экранный буфер + хотя бы байт 256 для временного буфера в формате экрана (чтобы пересылать).
И да, разве у аврки есть DMA? А без DMA посылать по SPI такой огромный поток данных - только с использованием прерывания. Есть у аврки прерывание на TXE? Если нет, то вообще глухо - придется в конечном автомате на каждой итерации суперлупа пересылать не больше 8-16 байт данных, чтобы и другим автоматам дать возможность без особых блокировок работать.
__________________
Союз Советских Социалистических Округов Северной Америки

Последний раз редактировалось eddy; 23.03.2024 в 17:11.
eddy вне форума  
Непрочитано 23.03.2024, 18:06  
Devil Byte
Временная регистрация
 
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Devil Byte на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от NewWriter Посмотреть сообщение
Дак от AVR там требуется только работа с SPI и ногами.
Нажмите, чтобы открыть спойлер
PHP код:
#define F_CPU 8000000UL
#include ‹avr/io.h›
#include ‹util/delay.h›



#define SPI_DDR  DDRB
#define SPI_PORT PORTB
#define CS       PB0
#define RESET    PB1
#define DC       PB2
#define MOSI     PB3
#define SCK      PB5

// Инициализация SPI интерфейса
void SPI_init() 
{
    
// Установим MOSI, SCK, CS и DC как выходные пины
    
SPI_DDR |= (‹‹ MOSI) | (‹‹ SCK) | (‹‹ CS) | (‹‹ DC);
    
    
// Включим SPI, установим мастер-режим и установим частоту SCK
    
SPCR = (‹‹ SPE) | (‹‹ MSTR) | (‹‹ SPR0);
}

// Функция для отправки байта данных через SPI
void SPI_send_byte(uint8_t data
{
    
// Запускаем передачу данных
    
SPDR data;

    
// Ждем окончания передачи
    
while (!(SPSR & (‹‹ SPIF)));
}

// Функция для отправки команды на дисплей
void ILI9488_send_command(uint8_t command
{
    
// Переводим линию DC в низкое состояние для отправки команды
    
SPI_PORT &= ~(‹‹ DC);

    
// Переводим линию CS в низкое состояние для начала передачи
    
SPI_PORT &= ~(‹‹ CS);

    
// Отправляем команду
    
SPI_send_byte(command);

    
// Переводим линию CS в высокое состояние для окончания передачи
    
SPI_PORT |= (‹‹ CS);
}

// Функция для отправки данных на дисплей
void ILI9488_send_data(uint8_t data
{
    
// Переводим линию DC в высокое состояние для отправки данных
    
SPI_PORT |= (‹‹ DC);

    
// Переводим линию CS в низкое состояние для начала передачи
    
SPI_PORT &= ~(‹‹ CS);

    
// Отправляем данные
    
SPI_send_byte(data);

    
// Переводим линию CS в высокое состояние для окончания передачи
    
SPI_PORT |= (‹‹ CS);
}

// Функция для инициализации дисплея
void ILI9488_init() 
{
    
// Сброс дисплея
    
SPI_PORT &= ~(‹‹ RESET);
    
_delay_ms(100);
    
SPI_PORT |= (‹‹ RESET);
    
_delay_ms(100);
    
    
// возможно тут вызовы функций ILI9488_send_command() и ILI9488_send_data()
    // конфигурации дисплея согласно его техническому описанию.
}

int main() 
{
    
// Инициализация SPI
    
SPI_init();

    
// Инициализация дисплея
    
ILI9488_init();

    
// код для работы с дисплеем (рисование, обновление и т.д.)

    
while (1
    {
        
// Основной цикл программы
    
}


Пока примерно так получается.
Devil Byte вне форума  
Непрочитано 23.03.2024, 19:08  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,928
Сказал спасибо: 2,991
Сказали Спасибо 3,163 раз(а) в 2,147 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от Devil Byte Посмотреть сообщение
Пока примерно так получается.
defin'ы линий индикатора не совпадают с выводами SPI ATmega128.
__________________
Экзорцист 40-го уровня.
ForcePoint на форуме  
Непрочитано 23.03.2024, 19:26  
Devil Byte
Временная регистрация
 
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Devil Byte на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от ForcePoint Посмотреть сообщение
не совпадают
Не совсем понял на каких пинах я ошибся?
Devil Byte вне форума  
Непрочитано 23.03.2024, 19:40  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,928
Сказал спасибо: 2,991
Сказали Спасибо 3,163 раз(а) в 2,147 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от Devil Byte Посмотреть сообщение
PHP код:
#define CS PB0
#define RESET PB1
#define DC PB2
#define MOSI PB3
#define SCK PB5 
У ATmega128 линии SPI расположены на других выводах. В итоге - ничего не передаётся или передаётся с ошибками. Как я теперь вижу, ошибка - уже в первом сообщении темы.
__________________
Экзорцист 40-го уровня.
ForcePoint на форуме  
Непрочитано 23.03.2024, 19:59  
Devil Byte
Временная регистрация
 
Регистрация: 07.03.2019
Сообщений: 87
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Devil Byte на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Сообщение от ForcePoint Посмотреть сообщение
У ATmega128 линии SPI расположены на других выводах. В итоге - ничего не передаётся или передаётся с ошибками. Как я теперь вижу, ошибка - уже в первом сообщении темы.
Пробовал подключать в соответствии, результат тот же. Максимум загорается подсветка
Devil Byte вне форума  
Непрочитано 23.03.2024, 20:02  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,928
Сказал спасибо: 2,991
Сказали Спасибо 3,163 раз(а) в 2,147 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Дисплей 3.5 на ILI9341 + atmega128

Теперь я не понимаю. Вы пробовали привести программу в соотвествие с документацией на микроконтроллер?
__________________
Экзорцист 40-го уровня.
ForcePoint на форуме  
 

Закладки

Метки
atmega128, lcd
Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
arduino mega 2560 и ILI9341 как симулировать? ruvdos Proteus 0 02.12.2020 02:55
Дисплей ILI9341 на STM32F429 по SPI radian ARM 4 12.11.2017 05:55
Дисплей BL12864CYPNH потух Касьян Песочница (вопросы новичков) 0 28.06.2014 00:47
Текстовый дисплей PILZ PX 150-40-RFL ratfor1 Производственное оборудование 2 21.12.2013 00:16
Разбили дисплей анемометра Sopromat2 Измерительное оборудование 11 01.02.2012 21:47


Часовой пояс GMT +4, время: 16:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot