91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-31
  • 語言: 其他
  • 標簽: TM1628??

資源簡介

tm1628接鍵盤和時鐘led的驅動代碼,僅給大家做個參考,硬件接法不同,驅動需要稍作修改

資源截圖

代碼片段和文件信息

#include?
#include?
#include?“driver/i2c.h“
#include?“driver/gpio.h“
#include?“esp_system.h“
#include?“log.h“
#include?“tm1628.h“
#include?“keyevent.h“
#include?“boardconfig.h“
#include?“restore.h“

#define?LOG_TAG ????“tm1628“

#define?TM1628_STB????32
#define?TM1628_CLK????33
#define?TM1628_DIO????27
#define?TM1628_KEY_REG_MAX (5)
#define?TM1628_DEFAULT_BRIGHTNESS (0x8F)
#define?TM1628_PINS??((uint64_t)(((uint64_t)1)<
#define?COL_NUM (2)
#define?ROW_NUM (5)
#define?KS1_K1_BIT(val) (0x01?&?val)
#define?KS1_K2_BIT(val) (0x02?&?val)
#define?KS2_K1_BIT(val) (0x08?&?val)
#define?KS2_K2_BIT(val) (0x10?&?val)
#define?KS3_K1_BIT(val) KS1_K1_BIT(val)
#define?KS3_K2_BIT(val) KS1_K2_BIT(val)
#define?KS4_K1_BIT(val) KS2_K1_BIT(val)
#define?KS4_K2_BIT(val) KS2_K2_BIT(val)
#define?KS5_K1_BIT(val) KS1_K1_BIT(val)
#define?KS5_K2_BIT(val) KS1_K2_BIT(val)

typedef?enum{
????TM1628_GRID_1?=?0
????TM1628_GRID_2?=?1
????TM1628_GRID_3?=?2
????TM1628_GRID_4?=?3
????TM1628_GRID_5?=?4
????TM1628_GRID_6?=?5
????TM1628_GRID_7?=?6
????TM1628_GRID_MAX?=?7
}tm1628_grid_t;

typedef?struct{
????uint8_t?seg1?:?1;?
????uint8_t?seg2?:?1;
????uint8_t?seg3?:?1;
????uint8_t?seg4?:?1;
????uint8_t?seg5?:?1;
????uint8_t?seg6?:?1;
????uint8_t?seg7?:?1;
????uint8_t?seg8?:?1;
}tm1628_seg_low_t;

typedef?struct{
????uint8_t?seg9?:?1;?
????uint8_t?seg10?:?1;
????uint8_t?segx?:?1;
????uint8_t?seg12?:?1;
????uint8_t?seg13?:?1;
????uint8_t?seg14?:?1;
????uint8_t?segy?:?1;
????uint8_t?segz?:?1;
}tm1628_seg_high_t;

typedef?struct{
????tm1628_seg_low_t?seg_low;
????tm1628_seg_high_t?seg_high;
}tm1628_seg_t;

const?uint8_t?leddata[]={?
0x3F??//“0“
0x18??//“1“
0x6D??//“2“
0x7C??//“3“
0x5A??//“4“
0x76??//“5“
0x77??//“6“
0x1C??//“7“
0x7F??//“8“
0x7E??//“9“
};

static?const?uint32_t??key_code_array[COL_NUM][ROW_NUM]?=?{
{KEY_CODE_VOICE_RECOGNIZE?KEY_CODE_PLAY_NEXT?KEY_CODE_PLAY_PREV?KEY_CODE_VOL_DOWN?KEY_CODE_ENGLISH}//K1
{KEY_CODE_BRIGHTNESS?KEY_CODE_ALARM?KEY_CODE_WECHAT?KEY_CODE_HABIT?KEY_CODE_VOL_UP}//K2
};
static?keypress_t?key_state[COL_NUM][ROW_NUM]?=?{
{KEY_ACTION_RELEASE?KEY_ACTION_RELEASE?KEY_ACTION_RELEASE?KEY_ACTION_RELEASE?KEY_ACTION_RELEASE}//K1
{KEY_ACTION_RELEASE?KEY_ACTION_RELEASE?KEY_ACTION_RELEASE?KEY_ACTION_RELEASE?KEY_ACTION_RELEASE}//K2
};
static?tm1628_seg_t?tm1628_display_reg[TM1628_GRID_MAX];//GRID?1-7?SEG?1?-?14
static?uint8_t?tm1628_key_reg[TM1628_KEY_REG_MAX]?=?{0};

static?inline?void?tm1628_dio_input(void)
{
????gpio_set_direction(TM1628_DIO?GPIO_MODE_INPUT);
}

static?inline?void?tm1628_dio_output(void)
{
????gpio_set_direction(TM1628_DIO?GPIO_MODE_OUTPUT);
}

static?int?tm1628_send_command(uint8_t?cmd)
{
????uint8_t?i;

????tm1628_dio_output();
????gpio_set_level(TM1628_STB?0);
????for(i=0;?i<8;?i++)
????{
????????gpio_set_level(TM1628_CLK?0);
????????ets_delay_us(1);
????????if(cmd&0x01)
?????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????11177??2018-02-06?11:01??tm1628.c
?????文件?????????138??2018-02-06?11:01??tm1628.h

評論

共有 條評論