Jump to content
messia1985

Драйвер семисегментного индикатора STLED316, помогите с протоколом

Recommended Posts

Всем доброго дня.

Суть проблемы:

Имеется драйвер STLED316, третий день пытаюсь его победить.

Ни в какую.

Ниже выкладываю листинг функции конфигурирования, если есть кто работал с этим драйвером прошу помочь.

char data[8];
#define clk_set() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET)
#define clk_reset() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_RESET)
#define disp_write() clk_set(); HAL_Delay(10); clk_reset()

#define stb_high() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET)
#define stb_low() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET)

#define led_set() HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET)
#define led_reset() HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET)


#define WRITE_COMMAND 0x00 
#define READ_COMMAND  0x40 
#define FIXD_ADDRESS 0x20 
#define INCREMENT_ADDRESS 0x00

#define CHIP_CONFIG_PAGE (0x02 << 3) 
#define CHIP_CONFIG_ADDRESS 0x00 
#define CHIP_CONFIGURATION 0xFD                //6 digits,8segments,constand brightness all 

#define DIGIT_BRIGHTNESS_PAGE (0x02 << 3) 
#define DIGIT_BRIGHTNESS_ADDRESS 0x10        //0X1-0X3 
#define DIGIT_BRIGHTNESS 0x77 

#define LED_BRIGHTNESS_PAGE (0x03 << 3) 
#define LED_BRIGHTNESS_ADDRESS 0x1            //0X1-0X3 

#define SEGMENT_DATA_PAGE (0x00 << 3) 
#define SEGMENT1_DATA_ADDRESS 0x00            //0X0-0X5 
#define SEGMENT2_DATA_ADDRESS 0x01 
#define SEGMENT3_DATA_ADDRESS 0x02 
#define SEGMENT4_DATA_ADDRESS 0x03 
#define SEGMENT5_DATA_ADDRESS 0x04 
#define SEGMENT6_DATA_ADDRESS 0x05 

void startCommand() {
  stb_low();
    HAL_Delay(1);
}

void endCommand() {

  stb_high();
    HAL_Delay(1);
}


void disp_init()
{    
    data[0]=0x0E;
  startCommand();
    sendcommand(1); // Switch OFF
  endCommand();
  
  // Set 4 digits mode
    startCommand();    
  data[0]=CHIP_CONFIG_PAGE + CHIP_CONFIG_ADDRESS + INCREMENT_ADDRESS + WRITE_COMMAND;  
    data[1]=0xE4;
  data[2]=0x77;
  data[3]=0x77;
  data[4]=0x77;
    sendcommand(5);
  endCommand();
    
      
  startCommand();    
  data[0]=LED_BRIGHTNESS_PAGE + LED_BRIGHTNESS_ADDRESS + INCREMENT_ADDRESS + WRITE_COMMAND;
  data[1]=0x77;
  data[2]=0x77;
  data[3]=0x77;
  data[4]=0x77;
    sendcommand(5);
    endCommand();

  data[0]=0x0D;
  startCommand();    
  sendcommand(1);
  endCommand(); // Switch ON
}

Share this post


Link to post
Share on other sites

Не знаю читали вы священное писание под названием "Поиск В Интернете".

Ну вот например Таймер на tiny13 и STLED316.

Есть исходники.

Мельком смотрел даташит, весьма похож на ТМ1628 и подобные.

Попробовал, не сразу, но получилось засветить дисплеи и осмыслено выводил  необходимую информацию.

Первым делом нужно правильно произвести начальную инициализацию драйвера.

Еще раз посмотрел  дш,  по сравнению  с аналогом свыше башку сломаешь.

Share this post


Link to post
Share on other sites

Естественно, смотрел. Перерыл весь интернет. Пример видел, но разобраться не смог....

Даташит перечитывал уже раз 300, но понять абсолютно не могу.....

Поэтому и обратился за помощью. Если у вас получилось то не могли бы сбросить хотя бы алгоритм, как получилось засветить конкретный разряд, как проводится начальная конфигурация.

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

Написал как я понял начальный конфиг. Зажегся символ У с точкой в первом разряде. Отправляю команду на выключение, не выключается.

Смотрю осцилллографом что отправляю, посылка соответствует команде.

Вот и ломаю голову, думаю уже плюнуть и сделать на сдвиговых регистрах.

Share this post


Link to post
Share on other sites

Конденсаторы Panasonic. Часть 4. Полимеры – номенклатура

В заключительной, четвертой статье из цикла «Конденсаторы Panasonic» рассматриваются основные достоинства и особенности использования конденсаторов этого японского производителя на основе полимерной технологии. Главной конструктивной особенностью таких конденсаторов является полимерный материал, используемый в качестве проводящего слоя. Полимер обеспечивает конденсаторам высокую электрическую проводимость и пониженное эквивалентное сопротивление (ESR). Номинальная емкость и ESR отличается в данном случае высокой стабильностью во всем рабочем диапазоне температур. А повышенная емкость при низком ESR идеальна для решения задач шумоподавления и ограничения токовых паразитных импульсов в широком частотном диапазоне.

Читать статью

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • В питание вставь электронный дроссель, смотри схему Италиянца Андрея Чуффоли. Без электронного дросселя подавить фон на все сто, невозможно... Дроссель же, творит чудо. Конечно же, если фон от неверного монтажа то в первую очередь нго надо поправить и включить дроссель.
    • Вот рабочая ссылка на книгу Современные цифровые мультиметры Садченков Д.А. http://padabum.com/d.php?id=15203 Аналогичная ситуация. Только у меня вдобавок к заниженным показаниям напряжения  и тока ещё и сопротивление завышает. Пока причину не нашёл - будем искать.
    • Сгорел мой незаменимый помощник M830BZ - лет 15 наверное служил верой и правдой! На плате стоят полосатые резисторы и ещё дисплей на защёлках. Хотел скачать схему по Вашей ссылки, но не тут то было. Прошу помощи, сделайте доброе дело! Если есть у кого схемка на моего зверька, просьба выложить тут на форуме. Может ещё кому сгодиться.  За ранее благодарю отзывчивых и добрых людей! Возле предохранителя это контакты для перемычки J5. Но к сожалению у меня почти вся плата пустая и номиналы R32 и Q3 подсказать не могу. Может у Borodach есть мультиметр такой ревизии? Эта ссылка тоже не открывается. Хелпыы!!!
    • И я о том-же. А в конструкции по ссылке в первом посте, полюса получились одноименные.
    • путем чтения и анализа исходного кода. Ваш кэп
    • от номинала резистора зависит ток зарядки затвора и скорость открывания транзистора. И далеко не всегда оптимальный режим самый скоростной. От этого времени зависит уровень шумов на выходе ИБП и время стабилизации переходных процессов на паразитных емкостях/индуктивностях. Так что тут надо не просто - какой ставить, а отнестись посерьезнее
    • А что ты умеешь, каковы знания, опыт? Что-то раньше собирал и с каким результатом? Кто дал задание и какая тематика предмета (кружка)?
  • Покупай!

×
×
  • Create New...