diff --git a/PROJECT/services/coin.c b/PROJECT/services/coin.c index dd22e51..42b2d73 100644 --- a/PROJECT/services/coin.c +++ b/PROJECT/services/coin.c @@ -29,7 +29,7 @@ void SetCashPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post) OS_CPU_SR cpu_sr = 0; #endif OS_ENTER_CRITICAL(); - cash_pulse[post] = pulse * 100; + cash_pulse[post] = pulse * 10; cash_pause[post] = pause; OS_EXIT_CRITICAL(); } @@ -40,7 +40,7 @@ void SetSignalPulseParam(CPU_INT32U pulse, CPU_INT32U post) OS_CPU_SR cpu_sr = 0; #endif OS_ENTER_CRITICAL(); - signal_pulse[post] = pulse * 2000; + signal_pulse[post] = pulse * 200; OS_EXIT_CRITICAL(); } @@ -218,9 +218,11 @@ void InputCapture_ISR(void) static CPU_INT32U period_signal[COUNT_POST + COUNT_VACUUM]; static CPU_INT32U T3CR = 0; + T3IR = 0xFF; + // наращиваем тики T3CR++; - + // пост 1 // купюроприемник 1 if (FIO1PIN_bit.P1_20) @@ -505,7 +507,6 @@ void InputCapture_ISR(void) if (FIO0PIN_bit.P0_10) { } - } extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk); @@ -513,7 +514,7 @@ extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk); // инициализация импульсных входов void InitImpInput (void) { - #define INPUT_CAPTURE_FREQ 100000 // частота тактирования частотных входов + #define INPUT_CAPTURE_FREQ 10000 // частота тактирования частотных входов CPU_INT32U pclk_freq; CPU_INT32U rld_cnts; @@ -530,133 +531,133 @@ void InitImpInput (void) // назначим все ножки // купюроприемник 1 - PINSEL3_bit.P1_20 = 0x3; + PINSEL3_bit.P1_20 = 0; PINMODE3_bit.P1_20 = 0; FIO1DIR_bit.P1_20 = 0; FIO1MASK_bit.P1_20 = 0; // монетоприемник 1 - PINSEL3_bit.P1_21 = 0x3; + PINSEL3_bit.P1_21 = 0; PINMODE3_bit.P1_21 = 0; FIO1DIR_bit.P1_21 = 0; FIO1MASK_bit.P1_21 = 0; // сигнал печати чека пост 1 - PINSEL9_bit.P4_28 = 0x3; + PINSEL9_bit.P4_28 = 0; PINMODE9_bit.P4_28 = 0; FIO4DIR_bit.P4_28 = 0; FIO4MASK_bit.P4_28 = 0; // купюроприемник 2 - PINSEL3_bit.P1_19 = 0x3; + PINSEL3_bit.P1_19 = 0; PINMODE3_bit.P1_19 = 0; FIO1DIR_bit.P1_19 = 0; FIO1MASK_bit.P1_19 = 0; // монетоприемник 2 - PINSEL3_bit.P1_18 = 0x3; + PINSEL3_bit.P1_18 = 0; PINMODE3_bit.P1_18 = 0; FIO1DIR_bit.P1_18 = 0; FIO1MASK_bit.P1_18 = 0; // сигнал печати чека пост 2 - PINSEL0_bit.P0_4 = 0x3; + PINSEL0_bit.P0_4 = 0; PINMODE0_bit.P0_4 = 0; FIO0DIR_bit.P0_4 = 0; FIO0MASK_bit.P0_4 = 0; // купюроприемник 3 - PINSEL7_bit.P3_25 = 0x3; + PINSEL7_bit.P3_25 = 0; PINMODE7_bit.P3_25 = 0; FIO3DIR_bit.P3_25 = 0; FIO3MASK_bit.P3_25 = 0; // монетоприемник 3 - PINSEL7_bit.P3_26 = 0x3; + PINSEL7_bit.P3_26 = 0; PINMODE7_bit.P3_26 = 0; FIO3DIR_bit.P3_26 = 0; FIO3MASK_bit.P3_26 = 0; // сигнал печати чека пост 3 - PINSEL3_bit.P1_28 = 0x3; + PINSEL3_bit.P1_28 = 0; PINMODE3_bit.P1_28 = 0; FIO1DIR_bit.P1_28 = 0; FIO1MASK_bit.P1_28 = 0; // купюроприемник 4 - PINSEL1_bit.P0_26 = 0x3; + PINSEL1_bit.P0_26 = 0; PINMODE1_bit.P0_26 = 0; FIO0DIR_bit.P0_26 = 0; FIO0MASK_bit.P0_26 = 0; // монетоприемник 4 - PINSEL1_bit.P0_25 = 0x3; + PINSEL1_bit.P0_25 = 0; PINMODE1_bit.P0_25 = 0; FIO0DIR_bit.P0_25 = 0; FIO0MASK_bit.P0_25 = 0; // сигнал печати чека пост 4 - PINSEL3_bit.P1_27 = 0x3; + PINSEL3_bit.P1_27 = 0; PINMODE3_bit.P1_27 = 0; FIO1DIR_bit.P1_27 = 0; FIO1MASK_bit.P1_27 = 0; // купюроприемник 5 - PINSEL0_bit.P0_9 = 0x3; + PINSEL0_bit.P0_9 = 0; PINMODE0_bit.P0_9 = 0; FIO0DIR_bit.P0_9 = 0; FIO0MASK_bit.P0_9 = 0; // монетоприемник 5 - PINSEL4_bit.P2_2 = 0x3; + PINSEL4_bit.P2_2 = 0; PINMODE4_bit.P2_2 = 0; FIO2DIR_bit.P2_2 = 0; FIO2MASK_bit.P2_2 = 0; // сигнал печати чека пост 5 - PINSEL3_bit.P1_26 = 0x3; + PINSEL3_bit.P1_26 = 0; PINMODE3_bit.P1_26 = 0; FIO1DIR_bit.P1_26 = 0; FIO1MASK_bit.P1_26 = 0; // купюроприемник 6 - PINSEL0_bit.P0_7 = 0x3; + PINSEL0_bit.P0_7 = 0; PINMODE0_bit.P0_7 = 0; FIO0DIR_bit.P0_7 = 0; FIO0MASK_bit.P0_7 = 0; // монетоприемник 6 - PINSEL0_bit.P0_8 = 0x3; + PINSEL0_bit.P0_8 = 0; PINMODE0_bit.P0_8 = 0; FIO0DIR_bit.P0_8 = 0; FIO0MASK_bit.P0_8 = 0; // сигнал печати чека пост 6 - PINSEL0_bit.P0_0 = 0x3; + PINSEL0_bit.P0_0 = 0; PINMODE0_bit.P0_0 = 0; FIO0DIR_bit.P0_0 = 0; FIO0MASK_bit.P0_0 = 0; // монетоприемник пылесос 1 - PINSEL0_bit.P0_5 = 0x3; + PINSEL0_bit.P0_5 = 0; PINMODE0_bit.P0_5 = 0; FIO0DIR_bit.P0_5 = 0; FIO0MASK_bit.P0_5 = 0; // сигнал печати чека пылесос 1 - PINSEL0_bit.P0_6 = 0x3; + PINSEL0_bit.P0_6 = 0; PINMODE0_bit.P0_6 = 0; FIO0DIR_bit.P0_6 = 0; FIO0MASK_bit.P0_6 = 0; // монетоприемник пылесос 2 - PINSEL3_bit.P1_25 = 0x3; + PINSEL3_bit.P1_25 = 0; PINMODE3_bit.P1_25 = 0; FIO1DIR_bit.P1_25 = 0; FIO1MASK_bit.P1_25 = 0; // сигнал печати чека пылесос 2 - PINSEL0_bit.P0_10 = 0x3; + PINSEL0_bit.P0_10 = 0; PINMODE0_bit.P0_10 = 0; FIO0DIR_bit.P0_10 = 0; FIO0MASK_bit.P0_10 = 0; @@ -665,12 +666,15 @@ void InitImpInput (void) PCLKSEL1_bit.PCLK_TIMER3 = 2; pclk_freq = BSP_CPU_PclkFreq(23); - rld_cnts = pclk_freq / INPUT_CAPTURE_FREQ; + rld_cnts = pclk_freq / INPUT_CAPTURE_FREQ / 2; T3CTCR_bit.CTM = 0; T3CTCR_bit.CIS = 0; // select CAP3.0 input T3PR = rld_cnts-1; - T3MCR = 0; + + T3MR0 = 1; + T3MCR = 3; + T3CCR = 0x00; T3EMR = 0; T3TCR = 0x03; diff --git a/PROJECT/services/coin.h b/PROJECT/services/coin.h index c6bc43a..8a78278 100644 --- a/PROJECT/services/coin.h +++ b/PROJECT/services/coin.h @@ -1,11 +1,11 @@ #ifndef _COIN_H_ #define _COIN_H_ -#define COIN_IMP_MIN_LEN 2200 // мс/100 -#define COIN_IMP_MAX_LEN 9000 // мс/100 +#define COIN_IMP_MIN_LEN 220 // мс/10 +#define COIN_IMP_MAX_LEN 900 // мс/10 // запас измерения периода, плюс-минус -#define COIN_IMP_SPAN 1000 // мс/100 +#define COIN_IMP_SPAN 100 // мс/10 extern void InitCoin(void); extern CPU_INT32U GetCoinCount(int index); diff --git a/settings/sk-mlpc2368.dni b/settings/sk-mlpc2368.dni index 5646446..8b33404 100644 --- a/settings/sk-mlpc2368.dni +++ b/settings/sk-mlpc2368.dni @@ -14,7 +14,7 @@ Count=0 Enabled=0 ShowSource=1 [DebugChecksum] -Checksum=206192145 +Checksum=753675904 [Exceptions] StopOnUncaught=_ 0 StopOnThrow=_ 0 @@ -153,8 +153,7 @@ ActionState=1 [Disassemble mode] mode=0 [Breakpoints2] -Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\services\coin.c}.222.3" 0 0 1 "" 0 "" 0 -Count=1 +Count=0 [Log file] LoggingEnabled=_ 0 LogFile=_ "" diff --git a/settings/sk-mlpc2368.wsdt b/settings/sk-mlpc2368.wsdt index 128a262..d6620ee 100644 --- a/settings/sk-mlpc2368.wsdt +++ b/settings/sk-mlpc2368.wsdt @@ -52,7 +52,7 @@ - TextEditor$WS_DIR$\PROJECT\menu\menu.h04814241424TextEditor$WS_DIR$\OS\app\app_cfg.h005858TextEditor$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c02614311431TextEditor$WS_DIR$\PROJECT\app\app_serv.c017849274927TextEditor$WS_DIR$\PROJECT\services\fr.c04484484TextEditor$WS_DIR$\PROJECT\services\console.c010933323332TextEditor$WS_DIR$\OS\uc\cpu\cpu.h08545784589TextEditor$WS_DIR$\OS\uc\lib\lib_def.h011159735981TextEditor$WS_DIR$\PROJECT\data\fram_map.h039939939TextEditor$WS_DIR$\PROJECT\app\app_serv.h03115361564TextEditor$WS_DIR$\PROJECT\app\journal.h04432053205TextEditor$WS_DIR$\PROJECT\app\journal.c04211441144TextEditor$WS_DIR$\PROJECT\services\time.c012625625TextEditor$WS_DIR$\OS\app\app.c02911311131TextEditor$WS_DIR$\PROJECT\menu\menu.c020660776077TextEditor$WS_DIR$\OS\bsp\iolpc2368.h04662143604143604TextEditor$WS_DIR$\OS\bsp\bsp.c014966786678TextEditor$WS_DIR$\PROJECT\data\datadesc.c06362921629216TextEditor$WS_DIR$\PROJECT\app\control.h004949TextEditor$WS_DIR$\PROJECT\menu\menudesc.c08633624636246TextEditor$WS_DIR$\PROJECT\data\data.h07316181618TextEditor$WS_DIR$\PROJECT\data\data.c011234873487TextEditor$WS_DIR$\PROJECT\services\coin.c0722296229622TextEditor$WS_DIR$\PROJECT\services\coin.h00163163TextEditor$WS_DIR$\OS\uc\os_ii\source\os_time.c020810123101230100000010000001 + TextEditor$WS_DIR$\PROJECT\menu\menu.h04814241424TextEditor$WS_DIR$\OS\app\app_cfg.h005858TextEditor$WS_DIR$\..\..\8\positive_6_24\OS\app\app.c02614311431TextEditor$WS_DIR$\PROJECT\services\fr.c04484484TextEditor$WS_DIR$\PROJECT\services\console.c010933323332TextEditor$WS_DIR$\OS\uc\cpu\cpu.h08545784589TextEditor$WS_DIR$\OS\uc\lib\lib_def.h011159735981TextEditor$WS_DIR$\PROJECT\data\fram_map.h039939939TextEditor$WS_DIR$\PROJECT\app\app_serv.h03115361564TextEditor$WS_DIR$\PROJECT\app\journal.h04432053205TextEditor$WS_DIR$\PROJECT\app\journal.c04211441144TextEditor$WS_DIR$\PROJECT\services\time.c012625625TextEditor$WS_DIR$\PROJECT\menu\menu.c020660776077TextEditor$WS_DIR$\OS\bsp\iolpc2368.h04749149473149473TextEditor$WS_DIR$\PROJECT\data\datadesc.c06362921629216TextEditor$WS_DIR$\PROJECT\app\control.h004949TextEditor$WS_DIR$\PROJECT\menu\menudesc.c08633624636246TextEditor$WS_DIR$\PROJECT\data\data.h07316181618TextEditor$WS_DIR$\PROJECT\data\data.c011234873487TextEditor$WS_DIR$\PROJECT\services\coin.h0018518519TextEditor$WS_DIR$\OS\uc\os_ii\source\os_time.c03823952395TextEditor$WS_DIR$\PROJECT\services\coin.c020853945394TextEditor$WS_DIR$\PROJECT\app\app_serv.c04291317913179TextEditor$WS_DIR$\OS\uc\tcpip\NIC\ETHER\LPC2368\net_nic.c07924255142551TextEditor$WS_DIR$\OS\bsp\bsp.c02481010810108TextEditor$WS_DIR$\OS\uc\os_ii\port\os_cpu_a.asm011757325732TextEditor$WS_DIR$\OS\bsp\bsp.h03021292140TextEditor$WS_DIR$\OS\app\app.c0011311131TextEditor$WS_DIR$\OS\uc\os_ii\port\os_cpu_c.c023299829982TextEditor$WS_DIR$\OS\uc\os_ii\source\os_core.c0136356947569470100000010000001