Beispiel #1
0
int main(void)
{		
 	Stm32_Clock_Init(9); //system clock init   always init first
	IO_Init();
	delay_init(72);	     //delay init
	uart_init(72,115200);  //uart init
	PWM4_Init(150,18000);				 // ultra ping sig

//	PWM2_2Init(100,1800);	 //count to 100, freq/1800	 //IR aqusition pulse
	Timer3_Init(65535,256);	  //time refrence for echo/ultrasonic

//	setup 5 for motors?
	Timer2_Init(65535,10);	// motor try1
	motor_Init();

	EXTIX_Init();
//	Adc_Init();
//	LED0_PWM_VAL2_2=0x44;
//	LED0_PWM_VAL2_1=0x34;
	LED0_PWM_VAL4=0x34;
	IRO=0;//turn on IR LEDs

   	while(1)
	{	
		printf("adcx1\tadcx2\tadcx3\tadcx4\tGyro\tBatt\techo\n");
		printf("%u\t%u\t%u\t%u\t%u\t%u\t%u",adcx1,adcx2,adcx3,adcx4,Gyro_raw,Batt,echo);
		printf("\n");
	//	USART1->DR=echo/0xff;
	//	while((USART1->SR&0X40)==0);//wait for transfer to compleate
		LED0=!LED0; 
		delay_us(100000);//wait for the end of transmission	   
	}	 
} 																						 
Beispiel #2
0
int main()
{
	// This is needed for FreeRTOS.
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);

	InitDebug();

	cfg_Init( );

	PolePosition_Init();

	// This MUST be initialized before fullCAN
	MotorPosition_Init(FEEDBACK_POLE_POSITION);

	fullCAN_Init( 1000000, cfg_GetControllerID() );

	if ( cfg_GetControllerID() == 0)
	{
		fullCAN_SetTerminationState(ENABLE);
	} else {
		fullCAN_SetTerminationState(DISABLE);
	}

	d1k_STDIO_CAN_Init( CAN2,
			fullCAN_GetControllerId() + FULLCAN_IDBASE_STDIO_TX,
			fullCAN_GetControllerId() + FULLCAN_IDBASE_STDIO_RX );

	d1k_portal_Init( );

	ControlLoopInit();

	InitLEDs( );

	adc_Init( 100000 );

	motor_Init( );

	fault_Init( );

	diag_Init( );

	fan_Init( );

	fan_SetDutyCycle( 1.0f );

	printf("fullStartup! Controller: %u\r\n", (uint16)fullCAN_GetControllerId());

	vTaskStartScheduler( );
}