TM1638 Library
Library for handling TM1638 LED display driver.
Library Features
- Support for both Common Anode and Common Cathode Seven-segment displays
- Support for dimming display
- Support for scan Keypad
Hardware Support
It is easy to port this library to any platform. But now it is ready for use in:
- AVR (ATmega32)
- STM32 (HAL)
- ESP32 (esp-idf)
How To Use
- 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).
- Initialize platform-dependent part of handler.
- Call
TM1638_Init()
.
- Call
TM1638_ConfigDisplay()
to config display.
- 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<