Ejemplo n.º 1
0
void Send(uint8_t user)
{
	uint16_t stemp;
	uint8_t sn = true;
	uint8_t cnt = 1;
	uint8_t Temp[17];
	sprintf(Temp, "AT+CIPSEND=%c,3\r\n", user);
	
	while(usart_write_buffer_job(&usart_instance, Temp, sizeof(Temp)) != STATUS_OK){}
	while(sn)
	if(usart_read_wait(&usart_instance, &stemp) == STATUS_OK)
	{
		if(stemp == '>')
		{
			while(usart_write_buffer_wait(&usart_instance, num, sizeof(num)) != STATUS_OK){}
			while(true)
			if(usart_read_wait(&usart_instance, &stemp) == STATUS_OK)
			{
				if(stemp == 'K')
				{
					sn = false;
					break;
				}
				else if(cnt == 1000)
				{
					Send(user);
					sn = false;
					break;
				}
				cnt ++;
			}
		}
	}
}
Ejemplo n.º 2
0
int main(void)
{
	system_init();

//! [setup_init]
	configure_usart();
//! [setup_init]

//! [main]
//! [main_send_string]
	uint8_t string[] = "Hello World!\r\n";
	usart_write_buffer_wait(&usart_instance, string, sizeof(string));
//! [main_send_string]

//! [main_rec_var]
	uint16_t temp;
//! [main_rec_var]

//! [main_loop]
	while (true) {
//! [main_read]
		if (usart_read_wait(&usart_instance, &temp) == STATUS_OK) {
//! [main_read]
//! [main_write]
			while (usart_write_wait(&usart_instance, temp) != STATUS_OK) {
			}
//! [main_write]
		}
	}
//! [main_loop]
//! [main]
}
Ejemplo n.º 3
0
uint8_t getchar_timeout(uint32_t timeout)
{
	uint16_t temp = NULL;

	start_timer(timeout);
	while((STATUS_OK != usart_read_wait(&cdc_uart_module, &temp)) && (timer_done()>0));

	return ((uint8_t)temp);	
}
Ejemplo n.º 4
0
int main(void)
{
	
//! [setup_init]
	system_init();

	//延时、串口初始化
	delay_init();
	configure_usart();
	configure_usart1();
	
	//配置输入输出变量
	port_get_config_defaults(&pini);
	port_get_config_defaults(&pinc);
	pinc.direction = PORT_PIN_DIR_OUTPUT;
	
	//延时20s,使MQ2、MQ7充分初始化
	delay_s(20);
	
	//MQ2、MQ7初始化输出模拟电压值
	mq2_init_value = mq_run(MQ2);
	mq7_init_value = mq_run(MQ7);
	
	//对ESP8266进行WIFI配置初始化
	esp_init();
//! [setup_init]

	//port_group_set_output_level(LED_0_PIN, LED_0_ACTIVE);
	
//! [main]
	//定义串口接收变量,用户端口号
	uint16_t temp='H', user = '******';
	
//! [main_loop]
	while (true) {
		if(usart_read_wait(&usart_instance, &temp) == STATUS_OK)
		{
			delay_us(8);
			if(temp == 'D')
			{
				while(usart_write_wait(&usart_inst1, 'T')!=STATUS_OK){}
				if(usart_read_wait(&usart_instance, &temp) == STATUS_OK)
				{
					
					if(temp == ',')
					{
						while(usart_write_wait(&usart_inst1, 'E')!=STATUS_OK){}
						if(usart_read_wait(&usart_instance, &temp) == STATUS_OK)
						{
							user = temp;
							while(usart_write_wait(&usart_inst1, 'S')!=STATUS_OK){}
							while(true)
							{
								if(usart_read_wait(&usart_instance, &temp) == STATUS_OK)
								{
									if(islower(temp))
									{
										while(usart_write_wait(&usart_inst1, 'T')!=STATUS_OK){}
										Do(temp, user);
										break;
									}
								}
							}
						}
					}
				}
			}
		}
	}
	//! [main]
}
Ejemplo n.º 5
0
int main (void)
{
	system_init();

	// Initialize local variables used in main
	int failed = 0;
	uint8_t debug_string[24] = "y:     x:     z:   c:   ";
	uint8_t jx, jy;
	char z, c, lz, lc;
	jx = jy = z = c = lz = lc = 0;
	int cycle_index = 0;
	uint8_t cycle = 0;
	uint8_t light_mode = 0; 
	int light_modes = 1;
	uint16_t head, brake = 0;
	uint8_t LIGHTS_ON = 0;
	uint8_t FWD = 0;
	uint8_t HEADLIGHTS = 0;
	uint8_t DEBUG_BLE = 1;
	uint16_t BLE_temp = '0';
	//uint16_t light_sens;

	// Configure Devices
	configure_port_pins();
	configure_LED_PWM();
	configure_usart();
	configure_i2c_slave();
	initIMU();
	failed = !beginIMU();
	configure_i2c_slave_callbacks();
	//configure_ADC();

	// Set the BLE module name to "long-itude"
	uint8_t string[17] = "AT+NAMElong-itude";
	usart_write_buffer_wait(&usart_instance, string, sizeof(string));
	for(int i = 0; i < 50000; ++i);

	// Switch LED direction to FWD
	setFWD();

	while(1)
	{
		//readAccel();
		//readGyro();
		//readMag();
		//light_sens = getLightSens();

		// Read data from BLE
		if (usart_read_wait(&usart_instance, &BLE_temp) == STATUS_OK) {
			switch(BLE_temp)
			{
				case '0':
					LIGHTS_ON = 0;
					break;
				case '1':
					LIGHTS_ON = 1;
					break;
				case '2':
					DEBUG_BLE = 0;
					break;
				case '3':
					DEBUG_BLE = 1;
					break;
				case '4':
					setFWD();
					break;
				case '5':
					setREV();
					break;
			}
		}

		if(DEBUG_BLE)
		{
				uint8_t temp = I2C_slave_read_buffer[0];
				debug_string[4] = '0' + temp%10;
				temp = (temp - temp%10)/10;
				debug_string[3] = '0' + temp%10;
				temp = (temp - temp%10)/10;
				debug_string[2] = '0' + temp%10;
				temp = (temp - temp%10)/10;
				temp = I2C_slave_read_buffer[1];
				debug_string[11] = '0' + temp%10;
				temp = (temp - temp%10)/10;
				debug_string[10] = '0' + temp%10;
				temp = (temp - temp%10)/10;
				debug_string[9] = '0' + temp%10;
				temp = (temp - temp%10)/10;
				debug_string[16] = '0' + I2C_slave_read_buffer[2];
				debug_string[21] = '0' + I2C_slave_read_buffer[3];
				debug_string[22] = '\r';
				debug_string[23] = '\n'; 
				usart_write_buffer_wait(&usart_instance, debug_string, sizeof(debug_string));
		}

		jx = I2C_slave_read_buffer[0];
		jy = I2C_slave_read_buffer[1];
		z = I2C_slave_read_buffer[2];
		c = I2C_slave_read_buffer[3];

		if(z == 0 && lz != 0)
		{
			if(jy > 200)
			{
				setFWD();
				if(HEADLIGHTS && FWD)
					HEADLIGHTS = 0;
				else if(!HEADLIGHTS && FWD)
					HEADLIGHTS = 1;
				else if(HEADLIGHTS && !FWD)
				{
					FWD = 1;
				}
				else if(!HEADLIGHTS && !FWD)
				{
					HEADLIGHTS = 1;
					FWD = 1;
				}
			}
			else if(jy < 55)
			{
				setREV();
				if(HEADLIGHTS && !FWD)
					HEADLIGHTS = 0;
				else if(!HEADLIGHTS && !FWD)
					HEADLIGHTS = 1;
				else if(HEADLIGHTS && FWD)
				{
					FWD = 0;
				}
				else if(!HEADLIGHTS && FWD)
				{
					HEADLIGHTS = 1;
					FWD = 0;
				}
			}
			else if(jy > 110 && jy < 150 && jx > 110 && jx < 150)
			{
				LIGHTS_ON = !LIGHTS_ON;
			}
			else if(jx > 200)
			{
				light_mode++;
				if(light_mode >= light_modes)
					light_mode = 0;
			}
			else if(jx < 55)
			{
				light_mode--;
				if(light_mode <= -1)
					light_mode = light_modes-1;
			}
		}

		if(LIGHTS_ON)
		{
			if(light_mode == 0)
			{
				if(cycle == 0)
				{
					setLeftRGB(cycle_index,0,0xCFFF-cycle_index);
					setRightRGB(cycle_index,0,0xCFFF-cycle_index);
				}
				if(cycle == 1)
				{
					setLeftRGB(0xCFFF-cycle_index,cycle_index,0);
					setRightRGB(0xCFFF-cycle_index,cycle_index,0);
				}
				if(cycle == 2)
				{
					setLeftRGB(0,0xCFFF-cycle_index,cycle_index);
					setRightRGB(0,0xCFFF-cycle_index,cycle_index);
				}

				cycle_index += 250;
				if(cycle_index >= 0xCFFF)
				{
					cycle_index = 0;
					cycle += 1;
					if(cycle == 3)
						cycle = 0;
				}
			}

			if(HEADLIGHTS)
			{
				head = 0xFFFF;
				setWhite(head);
				if(jy < 120)
				{
					brake = (0xFFFF/120)*(120-jy);
					setRed(brake);
				}
				else
					setRed(0);
			}
			else
			{
				setWhite(0);
				setRed(0);
			}
		}
		else
		{
			setWhite(0);
			setRed(0);
			setLeftRGB(0,0,0);
			setRightRGB(0,0,0);
		}

		lc = c;
		lz = z;
	}
}