Commit 1083e73f authored by 李冠华's avatar 李冠华

feat:添加BU98B10_User文件

parent bd0ff563
......@@ -548,6 +548,16 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Buzzer\Buzzer.h</FilePath>
</File>
<File>
<FileName>BU98B10_User.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\BU98B10_User\BU98B10_User.c</FilePath>
</File>
<File>
<FileName>BU98B10_User.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\BU98B10_User\BU98B10_User.h</FilePath>
</File>
</Files>
</Group>
<Group>
......
......@@ -18,5 +18,6 @@
#include "BackLight\BackLight_User.h"
#include "Driving_Information\Fault_Code.h"
#include "Buzzer\Buzzer.h"
#include "BU98B10_User\BU98B10_User.h"
#endif
#include "BU98B10_User.h"
/*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 A b C d E F U P L - null*/
const uint8_t BU98B10MASK[BU98B10DIS_MAX_7] = { 0x3Fu, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6Du, 0x7Du, 0x07u, 0x7Fu, 0x6Fu, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71 ,0x3E, 0x73, 0x38, 0x76,0x40, 0x00};
/*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 null */
const uint32_t BU98B10MASK_27[BU98B10DIS27_MAX_27] = { 0x3FFFFFu, 0xFF8u, 0x387F8FFu, 0x384FFFFu, 0x3B40FF9u, 0x3B4FE8Fu, 0x3BFFE8Fu, 0x540201Fu, 0x3BFFFFFu, 0x3B4FFFFu, 0x00000000u};
/*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 null */
const uint32_t BU98B10MASK_25[BU98B10DIS25_MAX_25] = { 0xFFFFFu, 0x7F8u, 0xE3FCFFu, 0xE27FFFu, 0xEE07F9u, 0xEE7F8Fu, 0xEFFF8Fu, 0x150101Fu, 0xEFFFFFu, 0xEE7FFFu, 0x00000000u};
/*数字显示数组*/ /*P, R N H L null */
const uint32_t BU98B10MASK_23[BU98B10DIS23_MAX_23] = { 0x3BE03Fu, 0x7BED3Fu,0x57EFFBu, 0x3BE7F9u, 0x3FE01u,0x00000000u};
/*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 */
const uint16_t BU98B10MASK_16[BU98B10DIS16_MAX_16] = { 0x00FFu, 0x040Cu, 0x8877u, 0x083Fu, 0x888Cu, 0x88BBu, 0x88FBu, 0x000Fu, 0x88FFu, 0x88BFu, \
/* A B C D E F G H I J K L M N O P */
0x88CFu, 0x2A3Fu, 0x00F3u, 0x223Fu, 0x80F3u, 0x80C3u ,0x08FBu, 0x88CCu, 0x2233u, 0x007Cu, 0x94C0u, 0x00F0u,0x05CCu,0x11CCu,0x00FFu,0x88C7u,\
/* Q R S T U V W X Y Z 乘x + - 除/ [ ] */
0x10FFu, 0x98C7u, 0x88BBu, 0x2203u, 0x00FCu, 0x44C0u, 0x50CCu, 0x5500u, 0x88BCu, 0x4433u, 0x5500u, 0xAA00u, 0x8800u, 0x4400u, 0x00E1u,0x2221u,\
/* ( ) = 度° null */
0x1400u, 0x4100u, 0x8830u, 0x0A06u, 0x0000u,};
uint8_t BU98B10_Set_Numble(const BU98B10_USER_st_t* pBU98B10User, uint8_t enBU98B10Value, BU98B10_Number_SEG_en_t enBU98B10SEGNum, uint8_t Enable)
{
uint8_t i = 0;
uint8_t u8Index = 0;
uint8_t BU98B10NUMBERMAX = 0;
if (pBU98B10User == (void*)0)
{
return 2;
}
if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_7)
{
BU98B10NUMBERMAX = 7;
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_27)
{
BU98B10NUMBERMAX = 27;
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_25)
{
BU98B10NUMBERMAX = 25;
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_23)
{
BU98B10NUMBERMAX = 23;
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_16)
{
BU98B10NUMBERMAX = 16;
}
else
{
return 2;
}
for (i = 0; i < BU98B10NUMBERMAX; i++)
{
if ((pBU98B10User[i].u8BU98B10_Seg <= BU98B10SEGMAX) && (pBU98B10User[i].enBU98B10Channel <= BU98B10_CHANNEL_1))
{
if (pBU98B10User[i].u8BU98B10_Seg != 0)
{
u8Index = pBU98B10User[i].u8BU98B10_Seg - 1;
}
else
{
u8Index = 0;
}
if (pBU98B10User[i].enBU98B10Channel == BU98B10_CHANNEL_0)
{
if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_7)
{
if (Enable)
{
if ((BU98B10MASK[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_27)
{
if (Enable)
{
if ((BU98B10MASK_27[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_25)
{
if (Enable)
{
if ((BU98B10MASK_25[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_23)
{
if (Enable)
{
if ((BU98B10MASK_23[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_16)
{
if (Enable)
{
if ((BU98B10MASK_16[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
return 2;
}
}
else
{
#if USE_BU98R10_CHIP_1
if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_7)
{
if (Enable)
{
if ((BU98B10MASK[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_27)
{
if (Enable)
{
if ((BU98B10MASK_27[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_25)
{
if (Enable)
{
if ((BU98B10MASK_25[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_23)
{
if (Enable)
{
if ((BU98B10MASK_23[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else if(enBU98B10SEGNum == BU98B10_NUMBER_SEG_16)
{
if (Enable)
{
if ((BU98B10MASK_16[enBU98B10Value] & (1 << i)) != 0)
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_ON << ((u8Index % 2) * 4));
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (BU98B10_OFF << ((u8Index % 2) * 4));
}
}
else
{
return 2;
}
#endif
}
}
else
{
return 3;
}
}
return 0;
}
uint8_t BU98B10_Set_Seg_Level(BU98B10_Channel_en_t enBU98B10Channel, uint8_t u8Seg, BU98B10_Color_en_t enColor)
{
uint8_t u8Index = 0;
#if USE_BU98R10_CHIP_1
if (enBU98B10Channel > BU98B10_CHANNEL_MAX)
{
return 1;
}
#else
if (enBU98B10Channel > BU98B10_CHANNEL_0)
{
return 1;
}
#endif
if (u8Seg > BU98B10SEGMAX)
{
return 2;
}
if (enColor > BU98B10_ON)
{
return 3;
}
if (u8Seg != 0)
{
u8Index = u8Seg - 1;
}
else
{
u8Index = 0;
}
if (enBU98B10Channel == BU98B10_CHANNEL_0)
{
BU98R10Chip0DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip0DDRAM.Byte[u8Index / 2] |= (enColor << ((u8Index % 2) * 4));
}
else
{
#if USE_BU98R10_CHIP_1
BU98R10Chip1DDRAM.Byte[u8Index / 2] &= ~(0xF << ((u8Index % 2) * 4));
BU98R10Chip1DDRAM.Byte[u8Index / 2] |= (enColor << ((u8Index % 2) * 4));
#endif
}
return 0;
}
/**
* @brief 设置段码全开 默认等级 7
* @param enBU98B10Channel 选择第几片段码
*/
uint8_t BU98B10_ALL_OPEN(BU98B10_Channel_en_t enBU98B10Channel)
{
uint8_t i = 0;
#if USE_BU98R10_CHIP_1
if (enBU98B10Channel > BU98B10_CHANNEL_MAX)
{
return 1;
}
#else
if (enBU98B10Channel > BU98B10_CHANNEL_0)
{
return 1;
}
#endif
for (i = 0; i < BU98B10SEGMAX / 2; i++)
{
if (enBU98B10Channel == BU98B10_CHANNEL_0)
{
BU98R10Chip0DDRAM.Byte[i] = 0x77;
}
else
{
#if USE_BU98R10_CHIP_1
BU98R10Chip1DDRAM.Byte[i] = 0x77;
#endif
}
}
return 0;
}
/**
* @brief 设置段码全关 默认等级 7
* @param enBU98B10Channel 选择第几片段码
*/
uint8_t BU98B10_ALL_CLOSE(BU98B10_Channel_en_t enBU98B10Channel)
{
uint8_t i = 0;
#if USE_BU98R10_CHIP_1
if (enBU98B10Channel > BU98B10_CHANNEL_MAX)
{
return 1;
}
#else
if (enBU98B10Channel > BU98B10_CHANNEL_0)
{
return 1;
}
#endif
for (i = 0; i < BU98B10SEGMAX / 2; i++)
{
if (enBU98B10Channel == BU98B10_CHANNEL_0)
{
BU98R10Chip0DDRAM.Byte[i] = 0;
}
else
{
#if USE_BU98R10_CHIP_1
BU98R10Chip1DDRAM.Byte[i] = 0;
#endif
}
}
return 0;
}
/* example */
// #define ODO_SEG_ONE(channel, segment) {channel, segment}
// const BU98B10_USER_st_t ODONUMLIST[BU98B10NUMBERMAX] = {
// ODO_SEG_ONE(BU98B10_CHANNEL_0, 149), /* A */
// ODO_SEG_ONE(BU98B10_CHANNEL_0, 148), /* B */
// ODO_SEG_ONE(BU98B10_CHANNEL_0, 146), /* C */
// ODO_SEG_ONE(BU98B10_CHANNEL_0, 145), /* D */
// ODO_SEG_ONE(BU98B10_CHANNEL_0, 76), /* E */
// ODO_SEG_ONE(BU98B10_CHANNEL_0, 75), /* F */
// ODO_SEG_ONE(BU98B10_CHANNEL_0, 147) /* G */
// };
// #define VSPEED_SEG_MAX 10
// #define VSPEED_SEG(channel, segment) {channel, segment}
// const BU98B10_USER_st_t VSPEEDSEGLIST[VSPEED_SEG_MAX] = {
// VSPEED_SEG(BU98B10_CHANNEL_0, 96),
// VSPEED_SEG(BU98B10_CHANNEL_0, 97),
// VSPEED_SEG(BU98B10_CHANNEL_0, 98),
// VSPEED_SEG(BU98B10_CHANNEL_0, 99),
// VSPEED_SEG(BU98B10_CHANNEL_0, 100),
// VSPEED_SEG(BU98B10_CHANNEL_0, 101),
// VSPEED_SEG(BU98B10_CHANNEL_0, 102),
// VSPEED_SEG(BU98B10_CHANNEL_0, 103),
// VSPEED_SEG(BU98B10_CHANNEL_0, 105),
// VSPEED_SEG(BU98B10_CHANNEL_0, 106),
// };
// uint8_t u8vspeedseg = 10;
// void example(void)
// {
// uint8_t i = 0;
// BU98B10_Set_Numble(&ODONUMLIST[0], BU98B10DIS_NUMBLE_8, BU98B10_OFF);
// for (i = 0; i < VSPEED_SEG_MAX; i++)
// {
// if (i < u8vspeedseg)
// {
// BU98B10_Set_Seg_Level(VSPEEDSEGLIST[i].enBU98B10Channel, VSPEEDSEGLIST[i].u8BU98B10_Seg, BU98B10_ON);
// }
// else
// {
// BU98B10_Set_Seg_Level(VSPEEDSEGLIST[i].enBU98B10Channel, VSPEEDSEGLIST[i].u8BU98B10_Seg, BU98B10_GRAY_LEVEL1);
// }
// }
// }
#ifndef _BU98B10_USER_H_
#define _BU98B10_USER_H_
#include "Components.h"
#define BU98B10SEGMAX 180 /* 段码段码最大值 */
// #define BU98B10NUMBERMAX 7 /* 数字段数最大值 */
typedef enum
{
BU98B10_NUMBER_SEG_7 = 0,
BU98B10_NUMBER_SEG_27,
BU98B10_NUMBER_SEG_25,
BU98B10_NUMBER_SEG_23,
BU98B10_NUMBER_SEG_16,
BU98B10_NUMBER_SEG_MAX,
} BU98B10_Number_SEG_en_t; /* 段码段 */
typedef enum
{
BU98B10_CHANNEL_0 = 0,
BU98B10_CHANNEL_1,
BU98B10_CHANNEL_MAX,
} BU98B10_Channel_en_t; /* 段码通道 */
typedef enum
{
BU98B10_OFF = 0,
BU98B10_GRAY_LEVEL1,
BU98B10_GRAY_LEVEL2,
BU98B10_GRAY_LEVEL3,
BU98B10_GRAY_LEVEL4,
BU98B10_GRAY_LEVEL5,
BU98B10_GRAY_LEVEL6,
BU98B10_ON,
} BU98B10_Color_en_t; /* 段码点亮等级 */
typedef enum
{
BU98B10_Disable = 0,
BU98B10_Enable,
} BU98B10_Enable_en_t; /* 段码点亮等级 */
typedef enum
{
BU98B10DIS_NUMBLE_0 = 0,
BU98B10DIS_NUMBLE_1,
BU98B10DIS_NUMBLE_2,
BU98B10DIS_NUMBLE_3,
BU98B10DIS_NUMBLE_4,
BU98B10DIS_NUMBLE_5,
BU98B10DIS_NUMBLE_6,
BU98B10DIS_NUMBLE_7,
BU98B10DIS_NUMBLE_8,
BU98B10DIS_NUMBLE_9,
BU98B10DIS_ALPHABET_A,
BU98B10DIS_ALPHABET_B,
BU98B10DIS_ALPHABET_C,
BU98B10DIS_ALPHABET_D,
BU98B10DIS_ALPHABET_E,
BU98B10DIS_ALPHABET_F,
BU98B10DIS_ALPHABET_U,
BU98B10DIS_ALPHABET_P,
BU98B10DIS_ALPHABET_L,
BU98B10DIS_ALPHABET_H,
BU98B10DIS_NUMBLE_LINE,
BU98B10DIS_NUMBLE_NULL,
BU98B10DIS_MAX_7,
} BU98B10_Numble7_Mask_en_t; /* 段码掩码(7段适用) */
typedef enum
{
BU98B10DIS16_NUMBLE_0 = 0,
BU98B10DIS16_NUMBLE_1,
BU98B10DIS16_NUMBLE_2,
BU98B10DIS16_NUMBLE_3,
BU98B10DIS16_NUMBLE_4,
BU98B10DIS16_NUMBLE_5,
BU98B10DIS16_NUMBLE_6,
BU98B10DIS16_NUMBLE_7,
BU98B10DIS16_NUMBLE_8,
BU98B10DIS16_NUMBLE_9,
BU98B10DIS16_ALPHABET_A,
BU98B10DIS16_ALPHABET_B,
BU98B10DIS16_ALPHABET_C,
BU98B10DIS16_ALPHABET_D,
BU98B10DIS16_ALPHABET_E,
BU98B10DIS16_ALPHABET_F,
BU98B10DIS16_ALPHABET_G,
BU98B10DIS16_ALPHABET_H,
BU98B10DIS16_ALPHABET_I,
BU98B10DIS16_ALPHABET_J,
BU98B10DIS16_ALPHABET_K,
BU98B10DIS16_ALPHABET_L,
BU98B10DIS16_ALPHABET_M,
BU98B10DIS16_ALPHABET_N,
BU98B10DIS16_ALPHABET_O,
BU98B10DIS16_ALPHABET_P,
BU98B10DIS16_ALPHABET_Q,
BU98B10DIS16_ALPHABET_R,
BU98B10DIS16_ALPHABET_S,
BU98B10DIS16_ALPHABET_T,
BU98B10DIS16_ALPHABET_U,
BU98B10DIS16_ALPHABET_V,
BU98B10DIS16_ALPHABET_W,
BU98B10DIS16_ALPHABET_X,
BU98B10DIS16_ALPHABET_Y,
BU98B10DIS16_ALPHABET_Z,
BU98B10DIS16_NUMBLE_mul,//乘 x
BU98B10DIS16_NUMBLE_add,//加 +
BU98B10DIS16_NUMBLE_sub,//减 -
BU98B10DIS16_NUMBLE_exc,//除 /
BU98B10DIS16_NUMBLE_LMPar,//左中括号 [
BU98B10DIS16_NUMBLE_RMPar,//右中括号 ]
BU98B10DIS16_NUMBLE_LSPar,//左小括号 (
BU98B10DIS16_NUMBLE_RSPar,//右小括号 )
BU98B10DIS16_NUMBLE_equal,//等于 =
BU98B10DIS16_NUMBLE_degrees,//度 °
BU98B10DIS16_NUMBLE_NULL,//空
BU98B10DIS16_MAX_16,
} BU98B10_Numble16_Mask_en_t; /* 段码掩码(16段适用) */
typedef enum
{
BU98B10DIS27_NUMBLE_ = 0,
BU98B10DIS27_NUMBLE_1,
BU98B10DIS27_NUMBLE_2,
BU98B10DIS27_NUMBLE_3,
BU98B10DIS27_NUMBLE_4,
BU98B10DIS27_NUMBLE_5,
BU98B10DIS27_NUMBLE_6,
BU98B10DIS27_NUMBLE_7,
BU98B10DIS27_NUMBLE_8,
BU98B10DIS27_NUMBLE_9,
BU98B10DIS27_NUMBLE_NULL,
BU98B10DIS27_MAX_27,
} BU98B10_Numble27_Mask_en_t; /* 段码掩码(27段适用) */
typedef enum
{
BU98B10DIS25_NUMBLE_0 = 0,
BU98B10DIS25_NUMBLE_1,
BU98B10DIS25_NUMBLE_2,
BU98B10DIS25_NUMBLE_3,
BU98B10DIS25_NUMBLE_4,
BU98B10DIS25_NUMBLE_5,
BU98B10DIS25_NUMBLE_6,
BU98B10DIS25_NUMBLE_7,
BU98B10DIS25_NUMBLE_8,
BU98B10DIS25_NUMBLE_9,
BU98B10DIS25_NUMBLE_NULL,
BU98B10DIS25_MAX_25,
} BU98B10_Numble25_Mask_en_t; /* 段码掩码(25段适用) */
typedef enum
{
BU98B10DIS23_NUMBLE_P = 0,
BU98B10DIS23_NUMBLE_R,
BU98B10DIS23_NUMBLE_N,
BU98B10DIS23_NUMBLE_H,
BU98B10DIS23_NUMBLE_L,
BU98B10DIS23_NUMBLE_NULL,
BU98B10DIS23_MAX_23,
} BU98B10_Numble23_Mask_en_t; /* 段码掩码(23段适用) */
typedef struct
{
BU98B10_Channel_en_t enBU98B10Channel; /* 选择第几片段码 */
uint8_t u8BU98B10_Seg; /* 需显示的SEG值 */
} BU98B10_USER_st_t;
/**
* @brief 设置段码显示数字或字母显示
* @param pBU98B10User 传入BU98B10_USER_st_t指针
* @param enBU98B10Value 需要显示的内容 数字或者字母详见BU98B10_Numble7_Mask_en_t BU98B10_Numble27_Mask_en_t BU98B10_Numble25_Mask_en_t BU98B10_Numble23_Mask_en_t
* @param enBU98B10SEGNum 需要显示的段码段数 详见 BU98B10_Number_SEG_en_t 以及示例图 若没有可以联系作者补上掩码
* @param Enable 是否点亮
* @return 0:正确 1 传入关闭等级错误 2 传入空指针 3 传入SEG错误或设置段码通道错误 或传入enBU98B10Value错误
*/
uint8_t BU98B10_Set_Numble(const BU98B10_USER_st_t* pBU98B10User, uint8_t enBU98B10Value, BU98B10_Number_SEG_en_t enBU98B10SEGNum, uint8_t Enable);
/**
* @brief 设置段码SEG等级
* @param enBU98B10Channel 传入要设置的段码通道
* @param u8Seg 传入要设置的段码
* @param enColor 传入要设置的等级
* @return 0:设置成功,1:传入的通道错误,2:传入的段码错误,3:传入的等级错误
*/
extern uint8_t BU98B10_Set_Seg_Level(BU98B10_Channel_en_t enBU98B10Channel, uint8_t u8Seg, BU98B10_Color_en_t enColor);
/**
* @brief 设置段码全开 默认等级 7
* @param enBU98B10Channel 选择第几片段码
*/
extern uint8_t BU98B10_ALL_OPEN(BU98B10_Channel_en_t enBU98B10Channel);
/**
* @brief 设置段码全关 默认等级 7
* @param enBU98B10Channel 选择第几片段码
*/
extern uint8_t BU98B10_ALL_CLOSE(BU98B10_Channel_en_t enBU98B10Channel);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment