Пример #1
0
int main(void)
{
	int ret;
	
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
	delay_init(162);//延时初始化
	tim3_init(162);//时钟初始化
	sram_init();//SRAM初始化
	ads1271_init(0);//ad初始化 参数为0 高速模式
	
	led_init();//LED初始化
	read_device_config();//读取flash中设备配置
	current_source_init();//恒流源初始化
	
	ethernet_init();//网络初始化
	tcp_sever();//建立tcp服务器
	while(!is_con());//等待连接
	led_link(1);//开启连接灯

	while(1)
	{
		//INT处理部分
		ret = deal_int();
		if((ret == NET_ERR) || (ret == NET_DISCONNECT))
			sys_restart();//重启
		
		//PRE处理部分
		ret = deal_pre();
		if((ret == NET_ERR) || (ret == NET_DISCONNECT))
			sys_restart();//重启
		
		//DIV处理
		ret = deal_div();
		if((ret == NET_ERR) || (ret == NET_DISCONNECT))
			sys_restart();//重启
		
		//STA处理
		ret = deal_sta();
		if((ret == NET_ERR) || (ret == NET_DISCONNECT))
			sys_restart();//重启
		
		//数据传输
		while(1)
		{
			ret = deal_data();
			if((ret == NET_ERR) || (ret == NET_DISCONNECT))
				sys_restart();//重启
		}
	}
}
Пример #2
0
bool TopologicalGraph::CheckBiconnected()
  {if(debug())DebugPrintf("   CheckBionnected");
  if(Set().exist(PROP_BICONNECTED))return true;
  if(nv() < 3 || ne() < 3)return false;
  if(debug())DebugPrintf("Executing CheckBionnected");
  int m = ne();
  int n = nv();
  if (m==0) return true;
  svector<tvertex> nvin(-m,m);   nvin.SetName("TG:Bicon:nvin");
  svector<tvertex> low(0,n);     low.SetName("TG:Bicon:low"); 

  if(!DFS(nvin)) // not connected ...
      return false;
  _Bicon Bicon(n);
  int ret = bicon(n,m,nvin,Bicon,low);
  if(ret)
      {Prop1<int> isbicon(Set(),PROP_BICONNECTED);
      Prop1<int> is_con(Set(),PROP_CONNECTED);
      return true;
      }
  return false;
  }
Пример #3
0
 jlong get_con() const { assert( is_con(), "" ); return _lo; }
Пример #4
0
 bool is_con(int i) const { return is_con() && _lo == i; }