新手上路
- 积分
- 24
- 金钱
- 24
- 注册时间
- 2016-7-9
- 在线时间
- 4 小时
|
1金钱
各位好,本人想用STM32的RTC实现数字钟,通过数码管来显示,但是程序通过编译后下载到硬件,只能显示秒低位的数字,希望各位大神抽空帮我看看数码管显示程序哪里的逻辑出错了呢!
下面是数码管的显示程序;
//---------------------数码管显示子函数-------------------------------------
void display() /*数码管显示子函数*/
{
sec_h=timer.sec/10; /*求出秒高位需要显示的字符*/
sec_l=timer.sec%10; /*求出秒低位需要显示的字符*/
min_h=timer.min/10;
min_l=timer.min%10;
hour_h=timer.hour/10;
hour_l=timer.hour%10;
GPIO_Write(GPIOA, 0x0100); /*位选*/
GPIOD->ODR=shuma[sec_l]; /*显示秒低位*/
delay_init(100);
GPIO_Write(GPIOA, 0x0200);
GPIOD->ODR=shuma[sec_h]; /*显示秒高位*/
delay_init(100);
GPIO_Write(GPIOA, 0x0400);
GPIOD->ODR=shuma[min_l]; /*分*/
delay_init(100);
GPIO_Write(GPIOA, 0x0800);
GPIOD->ODR=shuma[min_h];
delay_init(100);
GPIO_Write(GPIOA, 0x1000);
GPIOD->ODR=shuma[hour_l]; /*时*/
delay_init(100);
GPIO_Write(GPIOA, 0x2000);
GPIOD->ODR=shuma[hour_h];
delay_init(100);
}
|
|