mirror of
https://github.com/dimoniche/Moyka.git
synced 2026-01-30 01:43:30 +03:00
таймер настроили
вроде только на 10 000 гц будет работать
This commit is contained in:
parent
ea558ae8c7
commit
0daa728d2e
@ -29,7 +29,7 @@ void SetCashPulseParam(CPU_INT32U pulse, CPU_INT32U pause, CPU_INT32U post)
|
|||||||
OS_CPU_SR cpu_sr = 0;
|
OS_CPU_SR cpu_sr = 0;
|
||||||
#endif
|
#endif
|
||||||
OS_ENTER_CRITICAL();
|
OS_ENTER_CRITICAL();
|
||||||
cash_pulse[post] = pulse * 100;
|
cash_pulse[post] = pulse * 10;
|
||||||
cash_pause[post] = pause;
|
cash_pause[post] = pause;
|
||||||
OS_EXIT_CRITICAL();
|
OS_EXIT_CRITICAL();
|
||||||
}
|
}
|
||||||
@ -40,7 +40,7 @@ void SetSignalPulseParam(CPU_INT32U pulse, CPU_INT32U post)
|
|||||||
OS_CPU_SR cpu_sr = 0;
|
OS_CPU_SR cpu_sr = 0;
|
||||||
#endif
|
#endif
|
||||||
OS_ENTER_CRITICAL();
|
OS_ENTER_CRITICAL();
|
||||||
signal_pulse[post] = pulse * 2000;
|
signal_pulse[post] = pulse * 200;
|
||||||
OS_EXIT_CRITICAL();
|
OS_EXIT_CRITICAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,6 +218,8 @@ void InputCapture_ISR(void)
|
|||||||
static CPU_INT32U period_signal[COUNT_POST + COUNT_VACUUM];
|
static CPU_INT32U period_signal[COUNT_POST + COUNT_VACUUM];
|
||||||
static CPU_INT32U T3CR = 0;
|
static CPU_INT32U T3CR = 0;
|
||||||
|
|
||||||
|
T3IR = 0xFF;
|
||||||
|
|
||||||
// íàğàùèâàåì òèêè
|
// íàğàùèâàåì òèêè
|
||||||
T3CR++;
|
T3CR++;
|
||||||
|
|
||||||
@ -505,7 +507,6 @@ void InputCapture_ISR(void)
|
|||||||
if (FIO0PIN_bit.P0_10)
|
if (FIO0PIN_bit.P0_10)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern CPU_INT32U BSP_CPU_PclkFreq (CPU_INT08U pclk);
|
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)
|
void InitImpInput (void)
|
||||||
{
|
{
|
||||||
#define INPUT_CAPTURE_FREQ 100000 // ÷àñòîòà òàêòèðîâàíèÿ ÷àñòîòíûõ âõîäîâ
|
#define INPUT_CAPTURE_FREQ 10000 // ÷àñòîòà òàêòèðîâàíèÿ ÷àñòîòíûõ âõîäîâ
|
||||||
|
|
||||||
CPU_INT32U pclk_freq;
|
CPU_INT32U pclk_freq;
|
||||||
CPU_INT32U rld_cnts;
|
CPU_INT32U rld_cnts;
|
||||||
@ -530,133 +531,133 @@ void InitImpInput (void)
|
|||||||
// íàçíà÷èì âñå íîæêè
|
// íàçíà÷èì âñå íîæêè
|
||||||
|
|
||||||
// êóïşğîïğèåìíèê 1
|
// êóïşğîïğèåìíèê 1
|
||||||
PINSEL3_bit.P1_20 = 0x3;
|
PINSEL3_bit.P1_20 = 0;
|
||||||
PINMODE3_bit.P1_20 = 0;
|
PINMODE3_bit.P1_20 = 0;
|
||||||
FIO1DIR_bit.P1_20 = 0;
|
FIO1DIR_bit.P1_20 = 0;
|
||||||
FIO1MASK_bit.P1_20 = 0;
|
FIO1MASK_bit.P1_20 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê 1
|
// ìîíåòîïğèåìíèê 1
|
||||||
PINSEL3_bit.P1_21 = 0x3;
|
PINSEL3_bit.P1_21 = 0;
|
||||||
PINMODE3_bit.P1_21 = 0;
|
PINMODE3_bit.P1_21 = 0;
|
||||||
FIO1DIR_bit.P1_21 = 0;
|
FIO1DIR_bit.P1_21 = 0;
|
||||||
FIO1MASK_bit.P1_21 = 0;
|
FIO1MASK_bit.P1_21 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïîñò 1
|
// ñèãíàë ïå÷àòè ÷åêà ïîñò 1
|
||||||
PINSEL9_bit.P4_28 = 0x3;
|
PINSEL9_bit.P4_28 = 0;
|
||||||
PINMODE9_bit.P4_28 = 0;
|
PINMODE9_bit.P4_28 = 0;
|
||||||
FIO4DIR_bit.P4_28 = 0;
|
FIO4DIR_bit.P4_28 = 0;
|
||||||
FIO4MASK_bit.P4_28 = 0;
|
FIO4MASK_bit.P4_28 = 0;
|
||||||
|
|
||||||
// êóïşğîïğèåìíèê 2
|
// êóïşğîïğèåìíèê 2
|
||||||
PINSEL3_bit.P1_19 = 0x3;
|
PINSEL3_bit.P1_19 = 0;
|
||||||
PINMODE3_bit.P1_19 = 0;
|
PINMODE3_bit.P1_19 = 0;
|
||||||
FIO1DIR_bit.P1_19 = 0;
|
FIO1DIR_bit.P1_19 = 0;
|
||||||
FIO1MASK_bit.P1_19 = 0;
|
FIO1MASK_bit.P1_19 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê 2
|
// ìîíåòîïğèåìíèê 2
|
||||||
PINSEL3_bit.P1_18 = 0x3;
|
PINSEL3_bit.P1_18 = 0;
|
||||||
PINMODE3_bit.P1_18 = 0;
|
PINMODE3_bit.P1_18 = 0;
|
||||||
FIO1DIR_bit.P1_18 = 0;
|
FIO1DIR_bit.P1_18 = 0;
|
||||||
FIO1MASK_bit.P1_18 = 0;
|
FIO1MASK_bit.P1_18 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïîñò 2
|
// ñèãíàë ïå÷àòè ÷åêà ïîñò 2
|
||||||
PINSEL0_bit.P0_4 = 0x3;
|
PINSEL0_bit.P0_4 = 0;
|
||||||
PINMODE0_bit.P0_4 = 0;
|
PINMODE0_bit.P0_4 = 0;
|
||||||
FIO0DIR_bit.P0_4 = 0;
|
FIO0DIR_bit.P0_4 = 0;
|
||||||
FIO0MASK_bit.P0_4 = 0;
|
FIO0MASK_bit.P0_4 = 0;
|
||||||
|
|
||||||
// êóïşğîïğèåìíèê 3
|
// êóïşğîïğèåìíèê 3
|
||||||
PINSEL7_bit.P3_25 = 0x3;
|
PINSEL7_bit.P3_25 = 0;
|
||||||
PINMODE7_bit.P3_25 = 0;
|
PINMODE7_bit.P3_25 = 0;
|
||||||
FIO3DIR_bit.P3_25 = 0;
|
FIO3DIR_bit.P3_25 = 0;
|
||||||
FIO3MASK_bit.P3_25 = 0;
|
FIO3MASK_bit.P3_25 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê 3
|
// ìîíåòîïğèåìíèê 3
|
||||||
PINSEL7_bit.P3_26 = 0x3;
|
PINSEL7_bit.P3_26 = 0;
|
||||||
PINMODE7_bit.P3_26 = 0;
|
PINMODE7_bit.P3_26 = 0;
|
||||||
FIO3DIR_bit.P3_26 = 0;
|
FIO3DIR_bit.P3_26 = 0;
|
||||||
FIO3MASK_bit.P3_26 = 0;
|
FIO3MASK_bit.P3_26 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïîñò 3
|
// ñèãíàë ïå÷àòè ÷åêà ïîñò 3
|
||||||
PINSEL3_bit.P1_28 = 0x3;
|
PINSEL3_bit.P1_28 = 0;
|
||||||
PINMODE3_bit.P1_28 = 0;
|
PINMODE3_bit.P1_28 = 0;
|
||||||
FIO1DIR_bit.P1_28 = 0;
|
FIO1DIR_bit.P1_28 = 0;
|
||||||
FIO1MASK_bit.P1_28 = 0;
|
FIO1MASK_bit.P1_28 = 0;
|
||||||
|
|
||||||
// êóïşğîïğèåìíèê 4
|
// êóïşğîïğèåìíèê 4
|
||||||
PINSEL1_bit.P0_26 = 0x3;
|
PINSEL1_bit.P0_26 = 0;
|
||||||
PINMODE1_bit.P0_26 = 0;
|
PINMODE1_bit.P0_26 = 0;
|
||||||
FIO0DIR_bit.P0_26 = 0;
|
FIO0DIR_bit.P0_26 = 0;
|
||||||
FIO0MASK_bit.P0_26 = 0;
|
FIO0MASK_bit.P0_26 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê 4
|
// ìîíåòîïğèåìíèê 4
|
||||||
PINSEL1_bit.P0_25 = 0x3;
|
PINSEL1_bit.P0_25 = 0;
|
||||||
PINMODE1_bit.P0_25 = 0;
|
PINMODE1_bit.P0_25 = 0;
|
||||||
FIO0DIR_bit.P0_25 = 0;
|
FIO0DIR_bit.P0_25 = 0;
|
||||||
FIO0MASK_bit.P0_25 = 0;
|
FIO0MASK_bit.P0_25 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïîñò 4
|
// ñèãíàë ïå÷àòè ÷åêà ïîñò 4
|
||||||
PINSEL3_bit.P1_27 = 0x3;
|
PINSEL3_bit.P1_27 = 0;
|
||||||
PINMODE3_bit.P1_27 = 0;
|
PINMODE3_bit.P1_27 = 0;
|
||||||
FIO1DIR_bit.P1_27 = 0;
|
FIO1DIR_bit.P1_27 = 0;
|
||||||
FIO1MASK_bit.P1_27 = 0;
|
FIO1MASK_bit.P1_27 = 0;
|
||||||
|
|
||||||
// êóïşğîïğèåìíèê 5
|
// êóïşğîïğèåìíèê 5
|
||||||
PINSEL0_bit.P0_9 = 0x3;
|
PINSEL0_bit.P0_9 = 0;
|
||||||
PINMODE0_bit.P0_9 = 0;
|
PINMODE0_bit.P0_9 = 0;
|
||||||
FIO0DIR_bit.P0_9 = 0;
|
FIO0DIR_bit.P0_9 = 0;
|
||||||
FIO0MASK_bit.P0_9 = 0;
|
FIO0MASK_bit.P0_9 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê 5
|
// ìîíåòîïğèåìíèê 5
|
||||||
PINSEL4_bit.P2_2 = 0x3;
|
PINSEL4_bit.P2_2 = 0;
|
||||||
PINMODE4_bit.P2_2 = 0;
|
PINMODE4_bit.P2_2 = 0;
|
||||||
FIO2DIR_bit.P2_2 = 0;
|
FIO2DIR_bit.P2_2 = 0;
|
||||||
FIO2MASK_bit.P2_2 = 0;
|
FIO2MASK_bit.P2_2 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïîñò 5
|
// ñèãíàë ïå÷àòè ÷åêà ïîñò 5
|
||||||
PINSEL3_bit.P1_26 = 0x3;
|
PINSEL3_bit.P1_26 = 0;
|
||||||
PINMODE3_bit.P1_26 = 0;
|
PINMODE3_bit.P1_26 = 0;
|
||||||
FIO1DIR_bit.P1_26 = 0;
|
FIO1DIR_bit.P1_26 = 0;
|
||||||
FIO1MASK_bit.P1_26 = 0;
|
FIO1MASK_bit.P1_26 = 0;
|
||||||
|
|
||||||
// êóïşğîïğèåìíèê 6
|
// êóïşğîïğèåìíèê 6
|
||||||
PINSEL0_bit.P0_7 = 0x3;
|
PINSEL0_bit.P0_7 = 0;
|
||||||
PINMODE0_bit.P0_7 = 0;
|
PINMODE0_bit.P0_7 = 0;
|
||||||
FIO0DIR_bit.P0_7 = 0;
|
FIO0DIR_bit.P0_7 = 0;
|
||||||
FIO0MASK_bit.P0_7 = 0;
|
FIO0MASK_bit.P0_7 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê 6
|
// ìîíåòîïğèåìíèê 6
|
||||||
PINSEL0_bit.P0_8 = 0x3;
|
PINSEL0_bit.P0_8 = 0;
|
||||||
PINMODE0_bit.P0_8 = 0;
|
PINMODE0_bit.P0_8 = 0;
|
||||||
FIO0DIR_bit.P0_8 = 0;
|
FIO0DIR_bit.P0_8 = 0;
|
||||||
FIO0MASK_bit.P0_8 = 0;
|
FIO0MASK_bit.P0_8 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïîñò 6
|
// ñèãíàë ïå÷àòè ÷åêà ïîñò 6
|
||||||
PINSEL0_bit.P0_0 = 0x3;
|
PINSEL0_bit.P0_0 = 0;
|
||||||
PINMODE0_bit.P0_0 = 0;
|
PINMODE0_bit.P0_0 = 0;
|
||||||
FIO0DIR_bit.P0_0 = 0;
|
FIO0DIR_bit.P0_0 = 0;
|
||||||
FIO0MASK_bit.P0_0 = 0;
|
FIO0MASK_bit.P0_0 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê ïûëåñîñ 1
|
// ìîíåòîïğèåìíèê ïûëåñîñ 1
|
||||||
PINSEL0_bit.P0_5 = 0x3;
|
PINSEL0_bit.P0_5 = 0;
|
||||||
PINMODE0_bit.P0_5 = 0;
|
PINMODE0_bit.P0_5 = 0;
|
||||||
FIO0DIR_bit.P0_5 = 0;
|
FIO0DIR_bit.P0_5 = 0;
|
||||||
FIO0MASK_bit.P0_5 = 0;
|
FIO0MASK_bit.P0_5 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 1
|
// ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 1
|
||||||
PINSEL0_bit.P0_6 = 0x3;
|
PINSEL0_bit.P0_6 = 0;
|
||||||
PINMODE0_bit.P0_6 = 0;
|
PINMODE0_bit.P0_6 = 0;
|
||||||
FIO0DIR_bit.P0_6 = 0;
|
FIO0DIR_bit.P0_6 = 0;
|
||||||
FIO0MASK_bit.P0_6 = 0;
|
FIO0MASK_bit.P0_6 = 0;
|
||||||
|
|
||||||
// ìîíåòîïğèåìíèê ïûëåñîñ 2
|
// ìîíåòîïğèåìíèê ïûëåñîñ 2
|
||||||
PINSEL3_bit.P1_25 = 0x3;
|
PINSEL3_bit.P1_25 = 0;
|
||||||
PINMODE3_bit.P1_25 = 0;
|
PINMODE3_bit.P1_25 = 0;
|
||||||
FIO1DIR_bit.P1_25 = 0;
|
FIO1DIR_bit.P1_25 = 0;
|
||||||
FIO1MASK_bit.P1_25 = 0;
|
FIO1MASK_bit.P1_25 = 0;
|
||||||
|
|
||||||
// ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 2
|
// ñèãíàë ïå÷àòè ÷åêà ïûëåñîñ 2
|
||||||
PINSEL0_bit.P0_10 = 0x3;
|
PINSEL0_bit.P0_10 = 0;
|
||||||
PINMODE0_bit.P0_10 = 0;
|
PINMODE0_bit.P0_10 = 0;
|
||||||
FIO0DIR_bit.P0_10 = 0;
|
FIO0DIR_bit.P0_10 = 0;
|
||||||
FIO0MASK_bit.P0_10 = 0;
|
FIO0MASK_bit.P0_10 = 0;
|
||||||
@ -665,12 +666,15 @@ void InitImpInput (void)
|
|||||||
PCLKSEL1_bit.PCLK_TIMER3 = 2;
|
PCLKSEL1_bit.PCLK_TIMER3 = 2;
|
||||||
|
|
||||||
pclk_freq = BSP_CPU_PclkFreq(23);
|
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.CTM = 0;
|
||||||
T3CTCR_bit.CIS = 0; // select CAP3.0 input
|
T3CTCR_bit.CIS = 0; // select CAP3.0 input
|
||||||
T3PR = rld_cnts-1;
|
T3PR = rld_cnts-1;
|
||||||
T3MCR = 0;
|
|
||||||
|
T3MR0 = 1;
|
||||||
|
T3MCR = 3;
|
||||||
|
|
||||||
T3CCR = 0x00;
|
T3CCR = 0x00;
|
||||||
T3EMR = 0;
|
T3EMR = 0;
|
||||||
T3TCR = 0x03;
|
T3TCR = 0x03;
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
#ifndef _COIN_H_
|
#ifndef _COIN_H_
|
||||||
#define _COIN_H_
|
#define _COIN_H_
|
||||||
|
|
||||||
#define COIN_IMP_MIN_LEN 2200 // ěń/100
|
#define COIN_IMP_MIN_LEN 220 // ěń/10
|
||||||
#define COIN_IMP_MAX_LEN 9000 // ěń/100
|
#define COIN_IMP_MAX_LEN 900 // ěń/10
|
||||||
|
|
||||||
// çàïàñ èçìåðåíèÿ ïåðèîäà, ïëþñ-ìèíóñ
|
// çàïàñ èçìåðåíèÿ ïåðèîäà, ïëþñ-ìèíóñ
|
||||||
#define COIN_IMP_SPAN 1000 // ěń/100
|
#define COIN_IMP_SPAN 100 // ěń/10
|
||||||
|
|
||||||
extern void InitCoin(void);
|
extern void InitCoin(void);
|
||||||
extern CPU_INT32U GetCoinCount(int index);
|
extern CPU_INT32U GetCoinCount(int index);
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Count=0
|
|||||||
Enabled=0
|
Enabled=0
|
||||||
ShowSource=1
|
ShowSource=1
|
||||||
[DebugChecksum]
|
[DebugChecksum]
|
||||||
Checksum=206192145
|
Checksum=753675904
|
||||||
[Exceptions]
|
[Exceptions]
|
||||||
StopOnUncaught=_ 0
|
StopOnUncaught=_ 0
|
||||||
StopOnThrow=_ 0
|
StopOnThrow=_ 0
|
||||||
@ -153,8 +153,7 @@ ActionState=1
|
|||||||
[Disassemble mode]
|
[Disassemble mode]
|
||||||
mode=0
|
mode=0
|
||||||
[Breakpoints2]
|
[Breakpoints2]
|
||||||
Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\PROJECT\services\coin.c}.222.3" 0 0 1 "" 0 "" 0
|
Count=0
|
||||||
Count=1
|
|
||||||
[Log file]
|
[Log file]
|
||||||
LoggingEnabled=_ 0
|
LoggingEnabled=_ 0
|
||||||
LogFile=_ ""
|
LogFile=_ ""
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user