⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.p1

📁 PSOC 电动自行车代码 器件采用CYPRESS新电动自行车器件CY8C245
💻 P1
📖 第 1 页 / 共 5 页
字号:
[; ;lib\PWM.h: 39: extern void PWM_Stop(void);

[; ;lib\PWM.h: 40: extern BYTE PWM_bReadCounter(void);

[; ;lib\PWM.h: 41: extern void PWM_WritePeriod(BYTE bPeriod);

[; ;lib\PWM.h: 42: extern BYTE PWM_bReadPulseWidth(void);

[; ;lib\PWM.h: 43: extern void PWM_WritePulseWidth(BYTE bPulseWidth);

[; ;lib\PWM.h: 48: extern BYTE bPWM_ReadCounter(void);

[; ;lib\PWM.h: 49: extern BYTE bPWM_ReadPulseWidth(void);

[; ;lib\PWM.h: 74: BYTE PWM_COUNTER_REG;

[; ;lib\PWM.h: 76: BYTE PWM_PERIOD_REG;

[; ;lib\PWM.h: 78: BYTE PWM_COMPARE_REG;

[; ;lib\PWM.h: 80: BYTE PWM_CONTROL_REG;

[; ;lib\PWM.h: 82: BYTE PWM_FUNC_REG;

[; ;lib\PWM.h: 84: BYTE PWM_INPUT_REG;

[; ;lib\PWM.h: 86: BYTE PWM_OUTPUT_REG;

[; ;lib\PWM.h: 88: BYTE PWM_INT_REG;

[; ;lib\SAR8.h: 91: extern void SAR8_Start(void);

[; ;lib\SAR8.h: 92: extern void SAR8_Stop(void);

[; ;lib\SAR8.h: 93: extern void SAR8_EnableInt(void);

[; ;lib\SAR8.h: 94: extern void SAR8_DisableInt(void);

[; ;lib\SAR8.h: 95: extern void SAR8_Trigger(void);

[; ;lib\SAR8.h: 96: extern BYTE SAR8_fIsDataAvailable(void);

[; ;lib\SAR8.h: 97: extern BYTE SAR8_bGetData(void);

[; ;lib\SAR8.h: 98: extern void SAR8_SelectADCChannel(BYTE bChannel);

[; ;lib\SAR8.h: 99: extern void SAR8_AutoAlign(BYTE bAlignMode);

[; ;lib\SAR8.h: 100: extern void SAR8_SetAlignPath(BYTE bAlignPath);

[; ;lib\SAR8.h: 101: extern void SAR8_SetHighAlignSrc(BYTE bAlignSrc);

[; ;lib\SAR8.h: 102: extern void SAR8_SetLowAlignSrc(BYTE bAlignSrc);

[; ;lib\SAR8.h: 103: extern void SAR8_SetCmpL(BYTE bValue);

[; ;lib\SAR8.h: 104: extern void SAR8_SetCmpH(BYTE bValue);

[; ;lib\SAR8.h: 105: extern void SAR8_SetScale(BYTE bScaleMode);

[; ;lib\SAR8.h: 106: extern void SAR8_SetRunMode(BYTE bRunMode);

[; ;lib\SAR8.h: 112: BYTE SAR8_INT_REG;

[; ;lib\SAR8.h: 115: BYTE SAR8_CONTROL_0_REG;

[; ;lib\SAR8.h: 118: BYTE SAR8_CONTROL_1_REG;

[; ;lib\SAR8.h: 121: BYTE SAR8_CONTROL_2_REG;

[; ;lib\SAR8.h: 124: BYTE SAR8_TRIGGER_SRC_REG;

[; ;lib\SAR8.h: 127: BYTE SAR8_COMPARE_LO_REG;

[; ;lib\SAR8.h: 130: BYTE SAR8_COMPARE_HI_REG;

[; ;lib\SAR8.h: 133: BYTE SAR8_DATA_LO_REG;

"40 ./i2c.h
[s S11 `uc -> 10 `i ]
[n S11 . b ]
[v _TYPE_I2CS_STRUCT `S11 1 t ]
[; ;i2c.h: 35: typedef struct

[; ;i2c.h: 36: {

[; ;i2c.h: 38: BYTE b[10];

[; ;i2c.h: 40: }TYPE_I2CS_STRUCT;

[; ;i2c.h: 42: extern TYPE_I2CS_STRUCT I2CSBuff;

[; ;i2c.h: 45: void vI2CInit(void);

"13 ./main.c
[v F534 `(v 1 tf ]
[; ;main.c: 13: void HALL_ISR_C(void);

"14
[v F537 `(v 1 tf ]
[; ;main.c: 14: void PWM_ISR_C(void);

"15
[v F540 `(v 1 tf ]
[; ;main.c: 15: void COMP_ISR_C(void);

[; ;main.c: 16: void system_init(void);

[; ;main.c: 17: void lock_motor_50us(PROC_PROCESS *ppc);

[; ;main.c: 18: void get_work_parameters(SYSSTAT *st);

[; ;main.c: 19: void check_cruise_entry(SYSSTAT *st,PROC_PROCESS *ppc);

[; ;main.c: 20: void init_bus_current(ADC *adres,PROC_PROCESS *ppc,SYSSTAT *st);

[; ;main.c: 21: void adjust_motor_run_maxcurrent(PROC_PROCESS *ppc,SYSSTAT *st);

[; ;main.c: 22: void battery_voltage_detect(ADC *adr,BATVCHK *bv,SYSSTAT *st,PROC_PROCESS *ppc);

[; ;main.c: 23: void process_speed_command(SYSSTAT *st,PROC_PROCESS *ppc,ADC *adres);

[; ;main.c: 24: void inactive_ctrl(SYSSTAT *st,PROC_PROCESS *ppc);

[; ;main.c: 25: void delay_cycle(unsigned int cs);

[; ;main.c: 26: void motor_ctrlout(PROC_PROCESS *ppc,SYSSTAT *st);

[; ;main.c: 27: unsigned char system_status_indicator(DISP_STRU *dsreg,SYSSTAT *st);

[; ;main.c: 28: unsigned char get_ctrlout_setni(PROC_PROCESS *ppc,SYSSTAT *st);

[; ;main.c: 29: unsigned char LEAKAGE_CURRENT_CHECK(SYSSTAT *st,PROC_PROCESS *ppc,ADC *sp);

[; ;main.c: 30: unsigned char check_mosfet(SYSSTAT *st,PROC_PROCESS *ppc,ADC *sp,unsigned char intfg);

[; ;main.c: 31: unsigned char block_run_process(SYSSTAT *st,PROC_PROCESS *ppc);

[; ;main.c: 32: unsigned char sample_adc(unsigned char chan);

"33
[v _cruisein_count `uc 1 e ]
[v _halfsecond `uc 1 e ]
[; ;main.c: 33: unsigned char cruisein_count,halfsecond;

[; ;main.c: 34: void debugled(void);

"35
[v _proc_process `S5 1 e ]
[; ;main.c: 35: PROC_PROCESS proc_process;

"36
[v _adc `S1 1 e ]
[; ;main.c: 36: ADC adc;

"37
[v _sysstat `S3 1 e ]
[; ;main.c: 37: SYSSTAT sysstat;

"38
[v _batvchk `S9 1 e ]
[; ;main.c: 38: BATVCHK batvchk;

"39
[v _dispreg `S7 1 e ]
[; ;main.c: 39: DISP_STRU dispreg;

"41
[v _debugled `(v 1 ef ]
{
[; ;main.c: 40: void debugled(void)

[; ;main.c: 41: {

[e :U _debugled ]
[f ]
[; ;main.c: 42: while(1){

"42
[e :U 14 ]
[; ;main.c: 43: proc_process.msg.PRT2DRbak&=~0x40;

"43
[e =& . . _proc_process 0 28 -> ~ -> 64 `i `uc ]
[; ;main.c: 44: PRT2DR=proc_process.msg.PRT2DRbak;

"44
[e = _PRT2DR . . _proc_process 0 28 ]
[; ;main.c: 45: delay_cycle(200);

"25
[v _delay_cycle `(v 0 ef1`ui ]
"45
[e ( _delay_cycle (1
 -> -> 200 `i `ui ]
[; ;main.c: 46: proc_process.msg.PRT2DRbak|=0x40;

"46
[e =| . . _proc_process 0 28 -> -> 64 `i `uc ]
[; ;main.c: 47: PRT2DR=proc_process.msg.PRT2DRbak;

"47
[e = _PRT2DR . . _proc_process 0 28 ]
[; ;main.c: 48: delay_cycle(200);

"48
[e ( _delay_cycle (1
 -> -> 200 `i `ui ]
"49
[e :U 13 ]
"42
[e $U 14  ]
[e :U 15 ]
"50
[; ;main.c: 49: }

[; ;main.c: 50: }

[e :UE 12 ]
}
"52
[v _debug_motor `(v 1 ef ]
{
[; ;main.c: 51: void debug_motor(void)

[; ;main.c: 52: {

[e :U _debug_motor ]
[f ]
[; ;main.c: 53: PWM_WritePulseWidth(0x7f);

"43 ./lib\PWM.h
[v _PWM_WritePulseWidth `BF258 0 e ]
"53 ./main.c
[e ( _PWM_WritePulseWidth (1
 -> -> 127 `i `uc ]
[; ;main.c: 54: proc_process.msg.position_prev=0x1;

"54
[e = . . _proc_process 0 3 -> -> 1 `i `uc ]
[; ;main.c: 55: proc_process.msg.pwmena=3;

"55
[e = . . _proc_process 0 0 -> -> 3 `i `uc ]
[; ;main.c: 56: while(1){

"56
[e :U 18 ]
[; ;main.c: 57: set_next_ctrlseq(&sysstat,&proc_process);

"4 ./isr.h
[v _set_next_ctrlseq `(v 0 ef2`*S3`*S5 ]
"57 ./main.c
[e ( _set_next_ctrlseq (2
 , &U _sysstat &U _proc_process ]
[; ;main.c: 58: proc_process.msg.portena=proc_process.msg.ctrlout_set;

"58
[e = . . _proc_process 0 1 . . _proc_process 0 5 ]
[; ;main.c: 59: motor_ctrlout(&proc_process,&sysstat);

"26
[v _motor_ctrlout `(v 0 ef2`*S5`*S3 ]
"59
[e ( _motor_ctrlout (2
 , &U _proc_process &U _sysstat ]
[; ;main.c: 60: delay_cycle(20000);

"60
[e ( _delay_cycle (1
 -> -> 20000 `i `ui ]
[; ;main.c: 61: proc_process.msg.position_prev=proc_process.msg.position_next;

"61
[e = . . _proc_process 0 3 . . _proc_process 0 4 ]
"62
[e :U 17 ]
"56
[e $U 18  ]
[e :U 19 ]
"63
[; ;main.c: 62: }

[; ;main.c: 63: }

[e :UE 16 ]
}
"65
[v _main `(v 1 ef ]
[p mainexit ]
{
[; ;main.c: 64: void main()

[; ;main.c: 65: {

[e :U _main ]
[f ]
"66
[v _tt2 `ui 1 a ]
[; ;main.c: 66: unsigned tt2;

[; ;main.c: 67: system_init();

"16
[v _system_init `(v 0 ef ]
"67
[e ( _system_init ..  ]
[; ;main.c: 68: vI2CInit();

"45 ./i2c.h
[v _vI2CInit `(v 0 ef ]
"68 ./main.c
[e ( _vI2CInit ..  ]
[; ;main.c: 69: lock_motor_50us(&proc_process);

"17
[v _lock_motor_50us `(v 0 ef1`*S5 ]
"69
[e ( _lock_motor_50us (1
 &U _proc_process ]
[; ;main.c: 70: get_work_parameters(&sysstat);

"18
[v _get_work_parameters `(v 0 ef1`*S3 ]
"70
[e ( _get_work_parameters (1
 &U _sysstat ]
[; ;main.c: 72: init_bus_current(&adc,&proc_process,&sysstat);

"20
[v _init_bus_current `(v 0 ef3`*S1`*S5`*S3 ]
"72
[e ( _init_bus_current (3
 , , &U _adc &U _proc_process &U _sysstat ]
[; ;main.c: 73: check_mosfet(&sysstat,&proc_process,&adc,0);

"30
[v _check_mosfet `(uc 0 ef4`*S3`*S5`*S1`uc ]
"73
[e ( _check_mosfet (4
 , , , &U _sysstat &U _proc_process &U _adc -> -> 0 `i `uc ]
[; ;main.c: 74: adc.msg.battery_voltage=sample_adc(6*8);

"32
[v _sample_adc `(uc 0 ef1`uc ]
"74
[e = . . _adc 0 2 ( _sample_adc (1
 -> * -> 6 `i -> 8 `i `uc ]
[; ;main.c: 75: adc.msg.brake_voltage=sample_adc(4*8);

"75
[e = . . _adc 0 4 ( _sample_adc (1
 -> * -> 4 `i -> 8 `i `uc ]
[; ;main.c: 76: PWM_Start();

"38 ./lib\PWM.h
[v _PWM_Start `BF243 0 e ]
"76 ./main.c
[e ( _PWM_Start ..  ]
[; ;main.c: 77: PWM_EnableInt();

"36 ./lib\PWM.h
[v _PWM_EnableInt `BF237 0 e ]
"77 ./main.c
[e ( _PWM_EnableInt ..  ]
[; ;main.c: 79: INT_MSK0 = INT_MSK0 | 0X22;

"79
[e = _INT_MSK0 -> | -> _INT_MSK0 `i -> 34 `i `uc ]
[; ;main.c: 80: PRT2IE = 0X7;

"80
[e = _PRT2IE -> -> 7 `i `uc ]
[; ;main.c: 81: adc.msg.samplechannel=2;

"81
[e = . . _adc 0 0 -> -> 2 `i `uc ]
[; ;main.c: 82: while(ADC_CR0&(0x04))

"82
[e $U 21  ]
[e :U 22 ]
[; ;main.c: 83: {

[; ;main.c: 84: tt2=ADC_DL;

"84
[e = _tt2 -> _ADC_DL `ui ]
"85
[e :U 21 ]
"82
[e $ != & -> _ADC_CR0 `i -> 4 `i -> 0 `i 22  ]
[e :U 23 ]
[; ;main.c: 85: }

[; ;main.c: 86: ADC_CR0=6*8+(0x01)+(0x02);

"86
[e = _ADC_CR0 -> + + * -> 6 `i -> 8 `i -> 1 `i -> 2 `i `uc ]
[; ;main.c: 87: asm("or  F, 01h");

"87
[; or  F, 01h ;#
[; ;main.c: 88: while(1)

"88
[e :U 25 ]
[; ;main.c: 89: {

[; ;main.c: 90: I2CSBuff.b[0]=sysstat.msg.st0;

"42 ./i2c.h
[v _I2CSBuff `S11 0 e ]
"90 ./main.c
[e = *U + &U . _I2CSBuff 0 * -> -> -> 0 `i `ui `ux -> -> # `uc `ui `ux . . _sysstat 0 0 ]
[; ;main.c: 91: I2CSBuff.b[1]=proc_process.msg.position_prev;

"91
[e = *U + &U . _I2CSBuff 0 * -> -> -> 1 `i `ui `ux -> -> # `uc `ui `ux . . _proc_process 0 3 ]
[; ;main.c: 92: adjust_motor_run_maxcurrent(&proc_process,&sysstat);

"21
[v _adjust_motor_run_maxcurrent `(v 0 ef2`*S5`*S3 ]
"92
[e ( _adjust_motor_run_maxcurrent (2
 , &U _proc_process &U _sysstat ]
[; ;main.c: 94: if(sysstat.msg.st3&2)

"94
[e $ ! != & -> . . _sysstat 0 3 `i -> 2 `i -> 0 `i 27  ]
[; ;main.c: 95: {

[; ;main.c: 96: sysstat.msg.st3&=~2;

"96
[e =& . . _sysstat 0 3 -> ~ -> 2 `i `uc ]
[; ;main.c: 97: check_cruise_entry(&sysstat,&proc_process);

"19
[v _check_cruise_entry `(v 0 ef2`*S3`*S5 ]
"97
[e ( _check_cruise_entry (2
 , &U _sysstat &U _proc_process ]
[; ;main.c: 98: process_speed_command(&sysstat,&proc_process,&adc);

"232 ./para.h
[v _process_speed_command `(v 0 ef3`*S3`*S5`*S1 ]
"98 ./main.c
[e ( _process_speed_command (3
 , , &U _sysstat &U _proc_process &U _adc ]
[; ;main.c: 99: battery_voltage_detect(&adc,&batvchk,&sysstat,&proc_process);

"22
[v _battery_voltage_detect `(v 0 ef4`*S1`*S9`*S3`*S5 ]
"99
[e ( _battery_voltage_detect (4
 , , , &U _adc &U _batvchk &U _sysstat &U _proc_process ]
[; ;main.c: 100: if(halfsecond>0x8){

"100
[e $ ! > -> _halfsecond `i -> 8 `i 28  ]
[; ;main.c: 101: halfsecond=0;

"101
[e = _halfsecond -> -> 0 `i `uc ]
[; ;main.c: 102: block_run_process(&sysstat,&proc_process);

"31
[v _block_run_process `(uc 0 ef2`*S3`*S5 ]
"102
[e ( _block_run_process (2
 , &U _sysstat &U _proc_process ]
[; ;main.c: 103: sysstat.msg.st3^=1;

"103
[e =^ . . _sysstat 0 3 -> -> 1 `i `uc ]
"104
[; ;main.c: 104: }

[e $U 29  ]
"105
[e :U 28 ]
[; ;main.c: 105: else

[; ;main.c: 106: halfsecond++;

"106
[e ++ _halfsecond -> -> 1 `i `uc ]
[e :U 29 ]
[; ;main.c: 107: system_status_indicator(&dispreg,&sysstat);

"27
[v _system_status_indicator `(uc 0 ef2`*S7`*S3 ]
"107
[e ( _system_status_indicator (2
 , &U _dispreg &U _sysstat ]
"108
[e :U 27 ]
"109
[e :U 24 ]
"88
[e $U 25  ]
[e :U 26 ]
"110
[; ;main.c: 108: }

[; ;main.c: 109: }

[; ;main.c: 110: }

[e :UE 20 ]
}
"112
[v _system_init `(v 1 ef ]
{
[; ;main.c: 111: void system_init(void)

[; ;main.c: 112: {

[e :U _system_init ]
[f ]
"113
[v _i `uc 1 a ]
[; ;main.c: 113: unsigned char i;

[; ;main.c: 114: i=0;

"114
[e = _i -> -> 0 `i `uc ]
[; ;main.c: 115: while(i<39)

"115
[e $U 31  ]
[e :U 32 ]
[; ;main.c: 116: {

[; ;main.c: 117: proc_process.val[i]=0;

"117
[e = *U + &U . _proc_process 1 * -> _i `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 118: i++;

"118
[e ++ _i -> -> 1 `i `uc ]
"119
[e :U 31 ]
"115
[e $ < -> _i `i -> 39 `i 32  ]
[e :U 33 ]
[; ;main.c: 119: }

[; ;main.c: 120: sysstat.val[0]=0;

"120
[e = *U + &U . _sysstat 1 * -> -> -> 0 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 121: sysstat.val[1]=0;

"121
[e = *U + &U . _sysstat 1 * -> -> -> 1 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 122: sysstat.val[2]=0;

"122
[e = *U + &U . _sysstat 1 * -> -> -> 2 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 123: sysstat.val[3]=0;

"123
[e = *U + &U . _sysstat 1 * -> -> -> 3 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 124: sysstat.msg.st1|=0x40;

"124
[e =| . . _sysstat 0 1 -> -> 64 `i `uc ]
[; ;main.c: 125: adc.val[0]=0;

"125
[e = *U + &U . _adc 1 * -> -> -> 0 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 126: adc.val[1]=0;

"126
[e = *U + &U . _adc 1 * -> -> -> 1 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 127: adc.val[2]=0;

"127
[e = *U + &U . _adc 1 * -> -> -> 2 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 128: adc.val[3]=0;

"128
[e = *U + &U . _adc 1 * -> -> -> 3 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 129: adc.val[4]=0;

"129
[e = *U + &U . _adc 1 * -> -> -> 4 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 130: batvchk.val[0]=0;

"130
[e = *U + &U . _batvchk 1 * -> -> -> 0 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 131: batvchk.val[1]=0;

"131
[e = *U + &U . _batvchk 1 * -> -> -> 1 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 132: batvchk.val[2]=0;

"132
[e = *U + &U . _batvchk 1 * -> -> -> 2 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 133: batvchk.val[3]=0;

"133
[e = *U + &U . _batvchk 1 * -> -> -> 3 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 134: dispreg.val[0]=0;

"134
[e = *U + &U . _dispreg 1 * -> -> -> 0 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 135: dispreg.val[1]=0;

"135
[e = *U + &U . _dispreg 1 * -> -> -> 1 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 136: dispreg.val[2]=0;

"136
[e = *U + &U . _dispreg 1 * -> -> -> 2 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 137: dispreg.val[3]=0;

"137
[e = *U + &U . _dispreg 1 * -> -> -> 3 `i `ui `ux -> -> # `uc `ui `ux -> -> 0 `i `uc ]
[; ;main.c: 139: inactive_ctrl(&sysstat,&proc_process);

"24
[v _inactive_ctrl `(v 0 ef2`*S3`*S5 ]
"139
[e ( _inactive_ctrl (2
 , &U _sysstat &U _proc_process ]
[; ;main.c: 141: ADC_CR0 = ((0x00)>>1)|(0x01);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -