Exemplo n.º 1
0
/******************
*******	函数名称: KEY_IN()
*******	函数功能: 电梯按键检测函数
*******	返回值  : INT8U  0 1 2
******************/
INT8U KEY_IN(void)
{		
	if(Key0 == 0)
	{
		Delay_nms(2);
		if(Key0 == 0){
		LED0 = 1;
		send_string_uart("按下0层按键\r\n");
		return 0;
		}
	} else		
	if(Key1 == 0)
	{	
		Delay_nms(2);
		if(Key1 == 0){
		LED1 = 1;
		send_string_uart("按下1层按键\r\n");
		return 1;
		}
	} else
	if(Key2 == 0)
	{	
		Delay_nms(2);
		if(Key2 == 0){
		LED2 = 1;
		send_string_uart("按下2层按键\r\n");
		return 2;
		}
	}
	return 3;
}
Exemplo n.º 2
0
int main(void) {
	initx();
	xTimerHandle timer = xTimerCreate((const signed char *) "timer",
			1000 / portTICK_RATE_MS, pdTRUE, NULL, toggleLedCallback);
	send_string_uart("timer created\n");
	queue = xQueueCreate(20, 1);
	xTaskCreate(acceleration_task, (signed char*)"acceleration_task", 128, NULL,
			tskIDLE_PRIORITY+1, NULL);
	send_string_uart("queue created\n");
	xTimerStart(timer, 0);
	send_string_uart("timer started\n");
	send_string_uart("INIT DONE, Starting\n");
	vTaskStartScheduler();
	return 0;
}
Exemplo n.º 3
0
void toggleLedCallback(xTimerHandle xTimer) {
	static char buffer[2048];
	STM_EVAL_LEDToggle(LED5);

	vTaskGetRunTimeStats(buffer);
	send_string_uart(buffer);
}
Exemplo n.º 4
0
/******************
*******	函数名称: Key_INIT()
*******	函数功能: 电梯上升检测函数
*******	返回值  : NULL
******************/
void Key_INIT()
{
	if(Key0_UP == 0)
	{								 
		Delay_nms(2);
		if(Key0_UP == 0){
		LED0_UP = 1;
		UP_Flag = 0;
		send_string_uart("按下0层上键\r\n");
		}
	}

	if(Key1_UP == 0)
	{
		Delay_nms(2);
		if(Key1_UP == 0){
		LED1_UP = 1;
		UP_Flag = 1;
		send_string_uart("按下1层上键\r\n");
		}
	}		
	if(Key1_DOWN == 0)
	{
		Delay_nms(2);
		if(Key1_DOWN == 0){
		LED1_DOWN = 1;
		Down_Flag = 1;
		send_string_uart("按下1层下键\r\n");
		}
	}

	if(Key2_DOWN == 0)
	{
		Delay_nms(2);
		if(Key2_DOWN == 0){
		LED2_DOWN = 1;
		Down_Flag = 2;
		send_string_uart("按下2层下键\r\n");
		}
	}
}
Exemplo n.º 5
0
void main()
{
	DOOR_INIT();
	Usart_Init();
	send_string_uart("ϵͳÒÑÆô¶¯£¡\r\n");
	while(1)
	{
		Key_INIT();
		Floor_Init();
		Motor_INIT();			
	}
}
Exemplo n.º 6
0
void initx(void) {
	SCB ->CPACR |= ((3UL << 10 * 2) | (3UL << 11 * 2));
	STM_EVAL_LEDInit(LED3);
	STM_EVAL_LEDInit(LED4);
	STM_EVAL_LEDInit(LED5);
	STM_EVAL_LEDInit(LED6);
	STM_EVAL_LEDOff(LED3);
	STM_EVAL_LEDOff(LED4);
	STM_EVAL_LEDOff(LED5);
	STM_EVAL_LEDOff(LED6);
	init_usart();
	send_string_uart("INIT UART\n");
	init_accelerometer();
	send_string_uart("INIT ACCE\n");
	wire_exti_interrupt0_to_acceleromerter_int1();
	send_string_uart("INIT INT\n");
	init_DAC_DMA();
	send_string_uart("INIT DMA\n");
	DAC_Ch2_SineWaveConfig();
	send_string_uart("INIT SINE\n");

}
Exemplo n.º 7
0
void HardFault_Handler(void) {
	/*
	 * Get the appropriate stack pointer, depending on our mode,
	 * and use it as the parameter to the C handler. This function
	 * will never return
	 */

	send_string_uart("HardFault_Handler\n");
	__asm( ".syntax unified\n"
			"MOVS   R0, #4  \n"
			"MOV    R1, LR  \n"
			"TST    R0, R1  \n"
			"BEQ    _MSP    \n"
			"MRS    R0, PSP \n"
			"B      HardFault_HandlerC      \n"
			"_MSP:  \n"
			"MRS    R0, MSP \n"
			"B      HardFault_HandlerC      \n"
			".syntax divided\n");
}
Exemplo n.º 8
0
void display_bar(int min_val, int max_val, int value) {
	static char display[130];
	int range = (max_val - min_val);
	int average = (max_val + min_val) / 2;
	int display_value = (value - average) * 128 / range + 64;
	int min = 0;
	int max = 0;
	if (display_value < 64) {
		min = display_value;
		max = 64;
	} else {
		min = 64;
		max = display_value;
	}
	for (int i = 0; i < sizeof(display); i++)
		if (i > min && i < max)
			display[i] = '-';
		else
			display[i] = ' ';
	display[sizeof(display) - 2] = '\n';
	display[sizeof(display) - 1] = 0;
	send_string_uart(display);
}
Exemplo n.º 9
0
void PVD_IRQHandler(void) {
	send_string_uart("PVD_IRQHandler\n");
}
Exemplo n.º 10
0
void WWDG_IRQHandler(void) {
	send_string_uart("WWDG_IRQHandler\n");
}
Exemplo n.º 11
0
void DebugMon_Handler(void) {
	send_string_uart("DebugMon_Handler\n");
}
Exemplo n.º 12
0
void UsageFault_Handler(void) {
	send_string_uart("UsageFault_Handler\n");
}
Exemplo n.º 13
0
void NMI_Handler(void) {
	send_string_uart("NMI_Handler\n");
}
Exemplo n.º 14
0
void MemManage_Handler(void) {
	send_string_uart("MemManage_Handler\n");
}
Exemplo n.º 15
0
void BusFault_Handler(void) {
	send_string_uart("BusFault_Handler\n");
}
Exemplo n.º 16
0
uint32_t LIS302DL_TIMEOUT_UserCallback(void) {
	send_string_uart("ACCELEROMETER TIMEOUT\n");
	STM_EVAL_LEDToggle(LED6);
	return 0;
}