Перейти к содержанию

teapot

Members
  • Постов

    23
  • Зарегистрирован

  • Посещение

Электроника

  • Стаж в электронике
    3-5 лет

Достижения teapot

Новичок

Новичок (1/14)

  • Преданный
  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

2

Репутация

  1. Доброго времени суток. Учусь работать с STM32F0 +ST7789. Провожу инициализацию дисплея. Но есть непонятная вещь. При подаче питания, МК исполняет свою программу как надо, но дисплей пустой. Подключаюсь к МК через ST-Link Utility, после подключения нажимаю кнопку разъединить. И дисплей показывает то, что прописано программой. Я так понимаю, дисплей начинает работать только после сброса мк утилитой при разъединении. Как можно это обойти, что б экран работал сразу после подачи питания на плату? П.с. физический сброс выводом nrst на gnd погоды не меняет.
  2. teapot

    MicroC (Pro)

    Дело не в доверии, а в том, что с LCD по SPI разбираюсь впервые. В наличии есть только ST7789, но в протеусе его нет. Зато есть ST7735. Протеус хоть и глючный, но можно посмотреть то, что в железе не получиться, так как осциллографа нет. Вот и играюсь, чтоб немного опыта поднабрать и проще было с другим экранчиком. Все ж лучше чем ничего. Да и, к тому же, на протеусе ST7735 запускали и в сети есть примеры работ.
  3. teapot

    MicroC (Pro)

    Инвертировал CLK. Ничего не поменялось. Добавил: Изменил SSP1CON1.CKP = 1; на SSP1CON1.CKP = 0; - данные пошли как надо: получаю на дебагере то, что отправляю. Но ошибки остались от LCD. Я так понимаю здесь уже будет проблема не в SPI, а в самом коде инициализации дисплея?
  4. teapot

    MicroC (Pro)

    Да тут и кода то почти нет=) Инициализация SPI и функции отправки: и в отдельном файле пытаюсь инициализировать ST7735: Ну и main:
  5. teapot

    MicroC (Pro)

    Еще раз обращаюсь к знающим людям. Настроенным SPI (выше) отправляю 1, с контролера выходит 2 (смотрю дебагером spi в proteuse), отправляю 2 получаю 4. отправляю 3 - получаю 6. Если смотреть на это дело в двоичном коде, происходит сдвиг битов. Кроме того, к контроллеру в протеусе подключен LCD на ST7755 и он выкидывает в лог ошибку: [LCD] CS released, data transfer breaks on bit (rx 8, tx 8) [LCD1] В чем может быть проблема?
  6. teapot

    MicroC (Pro)

    Пробовал уже по разному. Недели полторы бъюсь, а воз и ныне там. У енгельском я неразумны, датасшит читаю с переводчиком. Может чего недоходит. Вот пример, без библиотек, который тоже никак не проходит: Добавлено: Закомментировал " while(!SSPCON1.WCOL) ; " и пошли данные. Что то я с флагом накосячил. Пойду датасшит докуривать. Еще ДОБАВИЛ: Действительно накосячил с флагом. Код ниже подправил. Работает. Дебагер SPI протеуса ловит отправляемые данные. Сейчас буду подгонять сигналы, для начала, под ST7735.
  7. teapot

    MicroC (Pro)

    Доброго времени суток! Пытаюсь инициализировать аппаратный SPI в PIC16F1619 по средствам библиотек Mikroc pro for pic. Согласно датасшиту на МК, за линиями SDI, SCK, SS зарезервированы выводы RB4, RB6, RC6. SDO необходимо назначить. Назначаю с помощью Peripheral_Pin_Select: Unlock_IOLOCK(); PPS_Mapping(10, _OUTPUT, _SDO); //На выход SPI Lock_IOLOCK(); Далее пытаюсь инициализировать SPI со стандартными настройками из библиотеки SPI_Remappable: SPI1_Init(); // Initialize SPI module Пытаюсь, что-нибудь отправить, на всех задействованных выводах ничего не происходит. void main() { Unlock_IOLOCK(); PPS_Mapping(10, _OUTPUT, _SDO); //Íà âûõîä SPI Lock_IOLOCK(); SPI1_Init(); // Initialize SPI module while(1){ SPI1_Write(0x73); Delay_ms(500); } } Прошу помощи в инициализации SPI. П.С. Симулирую все это дело в протеусе. Учусь работать с SPI (пока с помощью библиотек)для последующего запуска LCD на SS7735/SS7789.
×
×
  • Создать...