MahdaSystem / TM1638

TM1638 driver for AVR (ATmega32), STM32 (HAL) and ESP32 (esp-idf)
MIT License
17 stars 11 forks source link
atmega32 avr esp-idf esp32 esp32-idf seven-segment seven-segment-decoder seven-segment-display seven-segments-display sevensegment-library stm32 stm32-hal tm1638 tm1638display

TM1638 Library

Library for handling TM1638 LED display driver.

Library Features

Hardware Support

It is easy to port this library to any platform. But now it is ready for use in:

How To Use

  1. Add TM1638.h, TM1638_config.h and TM1638.c files to your project. It is optional to use TM1638_platform.h and TM1638_platform.c files (open and config TM1638_platform.h file).
  2. Initialize platform-dependent part of handler.
  3. Call TM1638_Init().
  4. Call TM1638_ConfigDisplay() to config display.
  5. Call other functions and enjoy.

Example

Using TM1638_platform files ```c #include #include "TM1638.h" #include "TM1638_platform.h" int main(void) { TM1638_Handler_t Handler; TM1638_Platform_Init(&Handler); TM1638_Init(&Handler, TM1638DisplayTypeComCathode); TM1638_ConfigDisplay(&Handler, 7, TM1638DisplayStateON); while (1) { // Display the number 8 and Decimal Point in the SEG1 TM1638_SetSingleDigit_HEX(&Handler, 8 | TM1638DecimalPoint, 0); } TM1638_DeInit(&Handler); return 0; } ```
Without using TM1638_platform files (AVR) ```c #include #include #define F_CPU 8000000 #include #include "TM1638.h" #define TM1638_DIO_DDR DDRA #define TM1638_DIO_PORT PORTA #define TM1638_DIO_PIN PINA #define TM1638_DIO_NUM 0 #define TM1638_CLK_DDR DDRA #define TM1638_CLK_PORT PORTA #define TM1638_CLK_NUM 1 #define TM1638_STB_DDR DDRA #define TM1638_STB_PORT PORTA #define TM1638_STB_NUM 2 static void TM1638_PlatformInit(void) { TM1638_CLK_DDR |= (1<