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

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

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...

  • Сообщения

    • Вопрос на выходе два в паралель ирф540 ,один показывает ток покоя 4ма второй 13ма .значит ли это что и рассеиваемая мощность будет между ними делиться в таких же пропорциях ?
    • Мне что-то подсказывает, что туда даже советский ПЭВ-10 влезет, или штуки четыре по 5 Вт 20 Ом квадратных.
    • шлейф отклеился, представления не имею, как ремонтировать
    • У них  номенклатура  даже простых транзисторов продумана так, чтобы продавать  один и тот же кристалл под разными названиями. Например, если в продаже есть  транзистор 2SC1815, то обязательно в этом же магазине будет и 2SC3198. Если купите, допустим, MPSA18, 2N5088, и 2N5089, то это окажется перемаркированный S9014C с усилением  никогда не дотягивающим даже  до 600, не говоря уже о 1800. Но поскольку уровень, а также характер шума люди  оценить и ни с чем сравнить не могут, то оставаясь довольны упаковкой,  числом  транзисторов  на пару штук превышающим обещанное количество,  пополняют бригаду лохов, оставляющих положительные отзывы типа "пока не проверял, но продавца рекомендую",  или "поставил, работает!" .  И это в любом магазине. А в этом, который в открытую называется FANTASY  ELECTRONICS (магазином фантазийных  компонентов)...  так сам  китайский бог велел.
    • @Анатолий.В не смеши народ. Это в каком БП вы нагрев до 250 градусов наблюдали?
    • У проволочных резисторов в керамическом корпусе с 50-70 оC только начинает снижаться предел мощности. Максимальная температура у них обычно от 250 оС и выше.
  • Покупай!

×
×
  • Create New...