📄 seg7.c
字号:
/*
* seg7.c - seg7 api & driver
*
* Author: li ming <admin@lumit.org>
* Date: 2008-4-16
* Copyleft: http://www.lumit.org
*/
#include "seg7.h"
/* define the relative gpio register */
#define SYSCFG 0x03FF0000
#define REFEXTCON (*((volatile unsigned *)(SYSCFG+0x303C)))
/* warning use a no-used address as seg7's base address */
#define SEG7_BASE 0x03fdc000 /* necs3 0x03fdc000 - 0x03fe0000 */
#define SEG7 (*(volatile unsigned int *)(SEG7_BASE))
static unsigned int numeric_display [] =
{
DISP_0, // 0
DISP_1,
DISP_2,
DISP_3,
DISP_4,
DISP_5,
DISP_6,
DISP_7,
DISP_8,
DISP_9,
DISP_A,
DISP_B,
DISP_C,
DISP_D,
DISP_E,
DISP_F, // 15
};
/* delay for about one second */
static void delay(int time)
{
int i, j;
for(i = 0; i < time; i++)
for(j = 0; j < 65536; j++)
;
}
/* set seg7 related gpio */
int seg7_init(void)
{
REFEXTCON = 0xce2983fd;
return 0;
}
/* set hex value of low-8-bits to seg7 */
int seg7_set_value(int value)
{
SEG7 = value;
return 0;
}
/* display a hex number on seg7 */
int seg7_display_num(int num)
{
seg7_set_value(numeric_display[num]);
return 0;
}
int seg7_test(void)
{
int i;
seg7_init();
for(i = 0; i <= 0xf; i++)
{
seg7_display_num(i);
delay(100);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -