カレンダレジスタがBCDだったのを忘れていた

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@49 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
fujita_ryohei 2009-12-10 08:22:50 +00:00
parent da40a5147c
commit ff0928d863
3 changed files with 28 additions and 12 deletions

View File

@ -12,6 +12,8 @@
#pragma ROT
// rorb, rolb, rorw, rolw
#pragma MUL
#pragma BCD
#include "incs.h"
#include <math.h>
@ -245,6 +247,21 @@ u8 hosu_read( )
}
void hosu_init()
{
u8 i;
hyst_pedometer = (u16*)pool;
do
{
*( hyst_pedometer + i ) = MAGIC_PEDO_NODATA;
i += 1;
}while( i != 0 );
}
/*=========================================================
  
@ -388,6 +405,10 @@ static const u16 DAYS_FROM_HNY[] = {
u16 get_long_hour()
{
u16 long_hour;
u8 year_hex = bcdtob( YEAR );
u8 month_hex = bcdtob( MONTH );
u8 day_hex = bcdtob( DAY );
u8 hour_hex = bcdtob( HOUR );
DI();
@ -395,15 +416,15 @@ u16 get_long_hour()
while( !RWST ){;}
// まず日数の部分
long_hour = YEAR * 365;
long_hour += ( YEAR / 4 ) +1; // 閏日の分。修正ユリウスでは2000年も閏年
long_hour += DAYS_FROM_HNY[ MONTH ];
if(( 2 <= MONTH ) && ( DAY < 29 ))
long_hour = year_hex * 365;
long_hour += ( year_hex / 4 ) +1; // 閏日の分。修正ユリウスでは2000年も閏年
long_hour += DAYS_FROM_HNY[ month_hex ];
if(( 2 <= month_hex ) && ( day_hex < 29 ))
{
// 2/29より前
long_hour -= 1;
}
long_hour += DAY;
long_hour += day_hex;
long_hour *= 24;
long_hour += HOUR;

View File

@ -6,15 +6,11 @@
///////////////////////////////////////////////////////////
extern u16* hyst_pedometer;
///////////////////////////////////////////////////////////
task_status_immed tsk_cbk_accero( );
task_status_immed acc_hosu_set( );
void hosu_init();
void hosu_read_end( );
u8 hosu_read( );

View File

@ -61,8 +61,7 @@ void main_loop( void )
read_dipsw( ); // 特定スイッチで何かするか?
hyst_pedometer = (u16*)pool;
hosu_init();
renge_init( );
renge_task_interval_run_force = 1;