示例#1
0
uint32_t testSRAM(uint32_t startAddress, uint32_t size, uint16_t bufferSize) {
	uint16_t check;
	uint32_t loop;
	char AddressLine[24] = "Addr:xxxxxxxx : yyyyy \r\n";

	PSRAM_Init();

	LCD5110_Set_XY(0, 2);
	LCD5110_Write_String("Addr : ");
	for (loop = startAddress; loop < startAddress + size; loop++) {
		PSRAM_WriteWord((uint16_t) loop, loop);
		check = PSRAM_ReadWord(loop);

		if ((loop & 0xFFF) == 0x0) {
			LCD5110_Set_XY(7, 2);
			LCD5110_Write_Dec32(loop, 7);

			getHexFromLong(AddressLine + 5, loop, 8);
			getDecimalFromShort(AddressLine + 16, check, 5);
			SerialSendBytes(AddressLine, 24);
		}
		if ((uint16_t) loop != check) {
			WriteReadStatus++;
			break;
		}
	}
	if (WriteReadStatus == 0) {
		LCD5110_Set_XY(0, 2);
		LCD5110_Write_String("RAM Ok.       ");
		LCD5110_Set_XY(0, 3);
		LCD5110_Write_String("Size :");
		LCD5110_Set_XY(7, 3);
		LCD5110_Write_Dec(size >> 9, 4);
		LCD5110_Set_XY(11, 3);
		LCD5110_Write_String(" Ko");
	} else {
示例#2
0
int main(void)
{
	char s[] = "1442936700,0,1,4,#2346W,3,#0800O#1900C#0900O#1800C";  // for str_processing test
	
	
	RCC_ClocksTypeDef RCC_Clocks;

	/* SysTick end of count event each 10ms */
	RCC_GetClocksFreq(&RCC_Clocks);
	SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);
	RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG, ENABLE);
	RNG_Cmd(ENABLE);
	/* Initialize the timer for dht11 */
	tim_init(TIM2);
	/* Initialize the SRAM ****************************************************/
	PSRAM_Init();
	/* Initialize the LCD *****************************************************/
	LCD_Init();
	LCD_LOG_Init();
  LCD_LOG_SetHeader((uint8_t*)" Ethernet test");
	LCD_LOG_SetFooter ((uint8_t*)"     localtime: ");
	/* Add your application code here */
	/* Configure ethernet (GPIOs, clocks, MAC, DMA) */
	ETH_BSP_Config();
	/* Initilaize the LwIP stack */
	LwIP_Init();
	schedule_init(&schedule_got,schedule_string); // schedule string store in schedule_string
	DNS_Init();
	//while(!schedule_got); // wait until string got
	
	LCD_DisplayStringLine(Line2, (uint8_t*)schedule_string);
	LCD_DisplayStringLine(Line3, (uint8_t*)"0");
	/* Main Loop */
	
	//process ste str form internet

	Str_Split(s, Init_time);   // s is temp string

	RTC_Config();
	Time_Date_Setting(Init_time->year, Init_time->mon, Init_time->day, Init_time->hour +3, Init_time->min, Init_time->sec);
	
	
	
	
	while (1)
	{
		uint8_t year, mon, day;
		uint8_t hour, min, sec;
		RTC_TimeTypeDef RTC_TimeStruct_main;
		RTC_DateTypeDef RTC_DateStruct_main;
		RTC_GetDate(RTC_Format_BIN, &RTC_DateStruct_main);
		RTC_GetTime(RTC_Format_BIN, &RTC_TimeStruct_main);
		
		year = RTC_DateStruct_main.RTC_Year;	
		mon = RTC_DateStruct_main.RTC_Month;
		day = RTC_DateStruct_main.RTC_Date;
		hour = RTC_TimeStruct_main.RTC_Hours;
		min = RTC_TimeStruct_main.RTC_Minutes;
		sec = RTC_TimeStruct_main.RTC_Seconds;
		
		//detect whether it is time to turn on Motor and LED, then execute it.
		Soak(day, hour, min );
		Water(day, hour, min, sec);
		Light(mon, day, hour, min);
		//detect over
			
		/* check if any packet received */
		if (ETH_CheckFrameReceived())
		{
			/* process received ethernet packet */
			LwIP_Pkt_Handle();
		}
		/* handle periodic timers for LwIP */
		LwIP_Periodic_Handle(LocalTime);
		
	}
}