Exemplo n.º 1
0
void EXTI0_IRQHandler(void)
{
	dataflag=1;
	Nrf_Check_Event();  //更新status,并做相应的中断处理
	data_unpack();
	EXTI_ClearITPendingBit(EXTI_Line0); //清除标志
}
Exemplo n.º 2
0
XmlFloppyBuilder* hxcfe_initXmlFloppy(HXCFLOPPYEMULATOR* floppycontext)
{
	AppData *ad;
	XmlFloppyBuilder * rfw;
	int i;

	rfw = malloc(sizeof(XmlFloppyBuilder));
	if(rfw)
	{
		memset(rfw,0,sizeof(XmlFloppyBuilder));

		rfw->xml_parser = XML_ParserCreate(NULL);
		ad = malloc(sizeof(AppData));
		if(!ad)
		{
			return 0;
		}
		memset(ad,0,sizeof(AppData));
		
		ad->interface_mode = -1;
		
		i=0;
		while( disklayout_list[i])
		{
			if(disklayout_list[i]->unpacked_data) 
			{
				free(disklayout_list[i]->unpacked_data);
				disklayout_list[i]->unpacked_data = 0;
			}

			disklayout_list[i]->unpacked_data = data_unpack(disklayout_list[i]->data,disklayout_list[i]->csize,0,disklayout_list[i]->size);
			i++;
		}

		ad->floppycontext = floppycontext;
		ad->current_state = ENTRY_STATE;
		ad->stack_ptr = 0;
		memset(ad->statestack,0xFF,sizeof(int) * 32);
		ad->statestack[0].state = ad->current_state;
		ad->p = rfw->xml_parser;

		memset(ad->ts,0,sizeof(track_state)*256);

		XML_ParserReset(rfw->xml_parser, NULL);

		XML_SetUserData(rfw->xml_parser, (void *) ad);
		XML_SetElementHandler(rfw->xml_parser, start, end);

		XML_SetCharacterDataHandler(rfw->xml_parser, charhandler);
		XML_SetNamespaceDeclHandler(rfw->xml_parser, ns_start, ns_end);

		rfw->ad = ad;
	}

	return rfw;
}