void ENC28J60_Reset(void) { ENC28J60_SPI2_Init(); //re-init SPI2 SPI2_SetSpeed(SPI_BaudRatePrescaler_4); //9MHz TIM6_Init(1000,719);//setup a 100kHz clock for ENC28J60 ENC28J60_RST_CLEAR(); //reset ENC28J60 ENC28J60_delayms(10); ENC28J60_RST_SET(); //finish reset ENC28J60_delayms(10); }
void motor_init(void){ RCC->APB2ENR|=1<<6|1<<7;//PE,PF时钟使能 GPIOF->CRL&=0XFF000000;//PF0~5推挽输出; GPIOF->CRL|=0X00333333; GPIOE->CRL&=0XFF000000;//PF0~5推挽输出; GPIOE->CRL|=0X00333333; TIM6_Init(99,71);//100us中断一次 MOTOR1_STOP; MOTOR2_STOP; MOTOR3_STOP; MOTOR4_STOP; MOTOR1_EN(1); MOTOR2_EN(1); MOTOR3_EN(1); MOTOR4_EN(1); }