Пример #1
0
/*
**************************************************
经纬度发送函数
**************************************************
*/
static void SendCoordinate(Datapack* pack)//注这是个奇葩问题 在我的板子上这里一定要USART1,具体原因找不出
{
    int i;
    sendChars("{\"longitude\":\"");
    //sendChars("{\"longitude\":\"");
    for(i=0; i<pack->countlon; i++)
    {
        //UART_SendChar(uarttemp)
        UART_SendChar(pack->longitude[i]);
        //UART_SendChar(pack->longitude[i]);
    }
    sendChars("\",\"latitude\":\"");
    //sendChars("\",\"latitude\":\"");
    for(i=0; i<pack->countlat; i++)
    {
        //printf("%c",pack->longitude[i]);
        UART_SendChar(pack->latitude[i]);
        //UART_SendChar(pack->latitude[i]);
    }
    sendChars("\"}");
    //sendChars("\"}");
}
Пример #2
0
/*
**************************************************
GSM初始化函数
头调用就好
**************************************************
*/
void httpInit(void)
{
    sendChars("AT\r\n");
    delay_ms(1000);
    sendChars("ATE1\r\n");
    delay_ms(1000);
    sendChars("AT+CSTT?\r\n");
    delay_ms(1000);
    sendChars("AT+CSTT\r\n");
    delay_ms(1000);
    sendChars("AT+CIICR\r\n");
    delay_ms(1000);
    sendChars("AT+CIFSR\r\n");
    delay_ms(1000);

}
Пример #3
0
/*
**************************************************
POST报文发送函数
当查找到有效协议帧时调用
注POST http://hailandev.sinaapp.com/gps/api.php?action=setlocation是地图的地址,另一个是之前post测试的,记得换回来
**************************************************
*/
void Send_PostMessage(Datapack* pack,char* lat1,char* lon1)
{
    int i = 0;
    char num[10];
    Packlen_Tostring(pack,num);
    //latUnit_change(pack);
    //lonUnit_change(pack);
    sendChars("AT+CIPSTART=\"TCP\",\"hailandev.sinaapp.com\",80\r\n");
    sendChars(Host);
    sendChars("\",80\r\n");
    delay_ms(1000);
    sendChars("AT+CIPSEND\r\n");
    delay_ms(1000);
    sendChars("POST ");
    sendChars(Postadd);
    sendChars("HTTP/1.1\r\n");
    sendChars("Referer: http://hailandev.sinaapp.com\r\n");
    sendChars(Host);
    sendChars("\r\n");
    sendChars("Accept:*/*\r\n");
    sendChars("Accept-Language: zh-cn,en-us;q=0.5\r\n");
    sendChars("Content-Type:text/json\r\n");
    sendChars("User-Agent:YunShen1.0\r\n");
    sendChars("Host: hailandev.sinaapp.com\r\n");
    sendChars(Host);
    sendChars("\r\n");
    sendChars("Content-Length: ");
    while(num[i]!='\0')
    {
        UART_SendChar(num[i++]);
    }
    sendChars("\r\n\r\n");
    SendCoordinate(pack);


    /*sendChars("{\"longitude\":\"");
    for(i=0;i<11;i++)
    {

    	UART_SendChar(lon1[i]);
    }
    sendChars("\",\"latitude\":\"");
    for(i=0;i<10;i++)
    {
    	UART_SendChar(lat1[i]);
    }
    sendChars("\"}");*/


    sendChars("\r\n\r\n");
    UART_SendChar(0x1a);
    pack->countlat = 0;
    pack->countlon = 0;
    pack->countUTC = 0;
    pack->status = 'V';
    setCharsOLED("OK!",1,6);


}
Пример #4
0
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main(void)
{
	char input;
	char SFRPAGE_SAVE = SFRPAGE; 

	WDTCN = 0xDE;						// Disable the watchdog timer
	WDTCN = 0xAD;						// Note: = "DEAD"!
	
	SYSCLK_INIT();						// Initialize the oscillator
	Timer_Init();						// Initialize timer
	UART_INIT();						// Initialize UARTs
	PORT_INIT();						// Initialize the Crossbar and GPIO
	SPI_Init();

	SFRPAGE = UART0_PAGE;				// Direct output to UART0

	printf("\033[2J");					//clear screen
	printf("\033[2J");					//clear screen
	printf("\033[13;0H");				//print divider
	printf("--------------------------------------------------------------------------------");
	//printf("\033[1;12r");				//define scrollable area
	//printf("\033[14;25r");

	while(1)
	{
		if (RI0 == 1)
		{	
			RI0 = 0;
			input = SBUF0;					// If input from UART0, read SBUF0

			if (input == 0x7F){
				sendChars();
			}
			else{
				if (input == 'a')			//228
				{
					printf("i am a\n\r");
					SPI0CKR += 5;
					printf("clock: %d\n\r", SPI0CKR);
				}
				else if (input == 'z')
				{
					SPI0CKR -= 5;
					printf("clock: %d\n\r", SPI0CKR);
				}

				//SFRPAGE_SAVE = SFRPAGE;
				//SFRPAGE = SPI0_PAGE;
				NSSMD0 = 0;						//slave select

				SPIF = 0;						//clear SPIF

				SPI0DAT = input;				//send input
				while (!SPIF);					//wait until sent

				NSSMD0 = 1;						//release slave

				writeTop(input);				//write to UART0
				RI0 = 0;						//Clear input flag

				overflows = 0;					//wait
				while(overflows < 30000);

				NSSMD0 = 0;						//slave select
				while (!SPIF);					//wait until not busy
				SPIF = 0;						//busy
			
				SPI0DAT = input;				//write dummy character

				while (!SPIF);					//wait until transfer is over

				NSSMD0 = 1;						//release slave

				input = SPI0DAT;				//read SPI0DAT

				writeBot(input);
			
				//SFRPAGE = SFRPAGE_SAVE;
			}
		}
	}
}