MolotovTheBest 0 25 октября, 2017 Опубликовано 25 октября, 2017 · Жалоба Здорово, парни!:) А что-то вот у меня совсем не работает SPI с этим дисплеем Nokia 5110. Микроконтроллер: ATMega328P. Не хочу здесь сразу описывать все параметры, а то я запутался уже. Если что нужно будет по параметрам - пожалуйста, спрашивайте. Прикрепляю файлы проекта. Схкма в Proteus 8.6, программа на С++ в среде Code Vision AVR v2.05.00 Evaluation. Nokia5110.zip Помогите, пожалуйста, кто чем может. Программа виснет в строке: while(!Processed); //Wait for transmission complete. и не возникает прерывания по SPI(прерывание там по завершению передачи). Proteus в своей работе говорит что произошла коллизия данных при записи в регистр SPDR в строке: SPDR = Data; //Start transmission - предыдущая строка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MolotovTheBest 0 25 октября, 2017 Опубликовано 25 октября, 2017 (изменено) · Жалоба Я решил задачу!:) Оказалось, что я забыл проинициировать начальное значение SS = 1. Вместо строки PORTB = 1; //здесь только привязывается к 1 сигнал RESET дисплея, т.к. он инверсный нужно написать строку PORTB = 5; //подтянем к 1 RESET и SS:) Если что, то все это дело идет от этой темы: https://electronix.ru/forum/index.php?showtopic=143918. Изменено 25 октября, 2017 пользователем Molotov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться