Например TDA7294

Форум РадиоКот • Просмотр темы - Проблемы с каскадом на MAX7219 + STM32F103C8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб мар 30, 2024 03:12:31

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Проблемы с каскадом на MAX7219 + STM32F103C8
СообщениеДобавлено: Вс июн 07, 2020 20:16:23 
Родился

Зарегистрирован: Пт фев 07, 2014 23:53:17
Сообщений: 13
Рейтинг сообщения: 0
Добрый день уважаемые! Прошу помощи в запуске каскада. Одна микросхема работает нормально, при подключении второй информация на индикаторах дублируется или две цифры накладываются друг на друга (одна ярче вторая тусклее).
инициализация SPI

инициализация GPIO

инициализация MAX7219

отправка данных


Добавлено after 1 hour 7 minutes 15 seconds:
соединены так
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проблемы с каскадом на MAX7219 + STM32F103C8
СообщениеДобавлено: Пн июн 08, 2020 06:46:00 
Встал на лапы

Карма: 3
Рейтинг сообщений: 6
Зарегистрирован: Пн окт 01, 2018 09:19:51
Сообщений: 125
Рейтинг сообщения: 0
Прерывание
Код:
void SPI2_IRQHandler( void ) {
  if ( SPI2->SR & SPI_SR_RXNE ) {
    SPI_RBuffer[SPI_RPos++] = SPI2->DR;
      if ( ++SPI_RPos == SPI_RCount )
        SPI_RPos = 0;

    if ( SPI_SCount ) {
      if ( ( SPI_SCount & 0x7 ) == 0 ) {
        GPIOB->ODR |=  GPIO_ODR_ODR12;
        GPIOB->ODR &= ~GPIO_ODR_ODR12;
      }
      SPI2->DR = SPI_SBuffer[SPI_SPos++];
      SPI_SCount--;
    } else {
      GPIOB->ODR |=  GPIO_ODR_ODR12;
      SPI2->CR2  &= ~SPI_CR2_RXNEIE;
    }
  }
}


формирование посылки
Код:
uint32_t temp;

  while ( SPI_SCount ) {}
  SPI2->CR2  &= ~SPI_CR2_RXNEIE;
  GPIOB->ODR &= ~GPIO_ODR_ODR12;
  for ( temp = 0; temp < 8; temp++ ) {
    SPI_SBuffer[temp * 8 + 0] = temp + 1;
    SPI_SBuffer[temp * 8 + 1] = DATA[ temp + 24 ];
    SPI_SBuffer[temp * 8 + 2] = temp + 1;
    SPI_SBuffer[temp * 8 + 3] = DATA[ temp + 16 ];
    SPI_SBuffer[temp * 8 + 4] = temp + 1;
    SPI_SBuffer[temp * 8 + 5] = DATA[ temp + 8 ];
    SPI_SBuffer[temp * 8 + 6] = temp + 1;
    SPI_SBuffer[temp * 8 + 7] = DATA[ temp + 0 ];
  }
  SPI_SPos    = 1;
  SPI_SCount  = 63;
  SPI2->DR    = SPI_SBuffer[0];
  SPI2->CR2  |= SPI_CR2_RXNEIE;


GPIO_ODR_ODR12 - строб

4 последовательно включенных макса


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Проблемы с каскадом на MAX7219 + STM32F103C8
СообщениеДобавлено: Пн июн 08, 2020 15:51:30 
Родился

Зарегистрирован: Пт фев 07, 2014 23:53:17
Сообщений: 13
Рейтинг сообщения: 0
imsushka, Спасибо.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y