96 lines
2.6 KiB
C
96 lines
2.6 KiB
C
#ifndef _HGLED_V0_HW_H
|
|
#define _HGLED_V0_HW_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* **** **** LED_CON **** **** */
|
|
|
|
/* Seg enable
|
|
*/
|
|
#define LL_LED_CON_SEG_EN(n) ((uint32)(((uint32)(n)&0x0FFF) << 20))
|
|
|
|
/* Com enable
|
|
*/
|
|
#define LL_LED_CON_COM_EN(n) ((uint32)(((uint32)(n)&0xFF) << 12))
|
|
|
|
/* LED interrupt pending clear
|
|
*/
|
|
#define LL_LED_CON_PENDING_CLR ((uint32)(1UL << 5))
|
|
|
|
/* LED interrupt pending
|
|
*/
|
|
#define LL_LED_CON_PENDING ((uint32)(1UL << 4))
|
|
|
|
/* LED interrupt enable
|
|
*/
|
|
#define LL_LED_CON_IE ((uint32)(1UL << 3))
|
|
|
|
/* LED load data from shadow register
|
|
*/
|
|
#define LL_LED_CON_LOAD_DATA_EN ((uint32)(1UL << 2))
|
|
|
|
/* LED scan type selcect
|
|
*/
|
|
#define LL_LED_CON_SCAN_SEL(n) ((uint32)(((uint32)(n)&0x1) << 1))
|
|
|
|
/* LEN enable
|
|
*/
|
|
#define LL_LED_CON_EN ((uint32)(1UL << 0))
|
|
|
|
|
|
/* **** **** LED_TIME **** **** */
|
|
|
|
/* LED clock prescale
|
|
*/
|
|
#define LL_LED_TIME_CLK_PSC(n) ((uint32)(((uint32)(n)&0x0FFF) << 16))
|
|
|
|
/* LED gray control
|
|
*/
|
|
#define LL_LED_TIME_GRAY(n) ((uint32)(((uint32)(n)&0xFF) << 8))
|
|
|
|
/* LED time length
|
|
*/
|
|
#define LL_LED_TIME_LEN(n) ((uint32)(((uint32)(n)&0xFF) << 0))
|
|
|
|
|
|
/* **** **** LED_DATA0 **** **** */
|
|
#define LL_LED_DATA0_COM0(n) ((uint32)(((uint32)(n)&0x0FFF) << 0))
|
|
#define LL_LED_DATA0_COM1(n) ((uint32)(((uint32)(n)&0x0FFF) << 16))
|
|
|
|
|
|
/* **** **** LED_DATA1 **** **** */
|
|
#define LL_LED_DATA1_COM2(n) ((uint32)(((uint32)(n)&0x0FFF) << 0))
|
|
#define LL_LED_DATA1_COM3(n) ((uint32)(((uint32)(n)&0x0FFF) << 16))
|
|
|
|
|
|
/* **** **** LED_DATA2 **** **** */
|
|
#define LL_LED_DATA2_COM4(n) ((uint32)(((uint32)(n)&0x0FFF) << 0))
|
|
#define LL_LED_DATA2_COM5(n) ((uint32)(((uint32)(n)&0x0FFF) << 16))
|
|
|
|
|
|
/* **** **** LED_DATA3 **** **** */
|
|
#define LL_LED_DATA3_COM6(n) ((uint32)(((uint32)(n)&0x0FFF) << 0))
|
|
#define LL_LED_DATA3_COM7(n) ((uint32)(((uint32)(n)&0x0FFF) << 16))
|
|
|
|
|
|
struct hgled_v0_hw {
|
|
__IO uint32_t CON;
|
|
__IO uint32_t TIME;
|
|
__IO uint32_t DATA0;
|
|
__IO uint32_t DATA1;
|
|
__IO uint32_t DATA2;
|
|
__IO uint32_t DATA3;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _HGLED_V0_HW_H */ |