⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 srom_fun.c

📁 X25650相关程序,可实现对X25650的读写,页读写功能,附一些子函数
💻 C
📖 第 1 页 / 共 2 页
字号:
   uchar ii ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = oup_table [ ii ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = oup_table [ ii ] / 0x100 ;
    }
   wrpgespi ( add_of_oup_table1 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = oup_table [ ii + 16 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = oup_table [ ii + 16 ] / 0x100 ;
    }
   wrpgespi ( add_of_oup_table2 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
   for ( ii = 0x00 ; ii < 5 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = oup_table [ ii + 32 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = oup_table [ ii + 32 ] / 0x100 ;
    }
   wrpgespi ( add_of_oup_table3 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_odp ()
//功能描述:下行输出功率配置表写入25650
//函数说明:
//调用函数:
//全局变量:
//设 计 者:
//修 改 者:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_odp ( void )
 {
   uchar ii ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = odp_table [ ii ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = odp_table [ ii ] / 0x100 ;
    }
   wrpgespi ( add_of_odp_table1 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = odp_table [ ii + 16 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = odp_table [ ii + 16 ] / 0x100 ;
    }
   wrpgespi ( add_of_odp_table2 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
   for ( ii = 0x00 ; ii < 5 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = odp_table [ ii + 32 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = odp_table [ ii + 32 ] / 0x100 ;
    }
   wrpgespi ( add_of_odp_table3 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_iup ()
//功能描述:上行输入功率配置表写入25650
//函数说明:
//调用函数:
//全局变量:
//返 回 值:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_iup ( void )
 {
   uchar ii ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = iup_table [ ii ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = iup_table [ ii ] / 0x100 ;
    }
   wrpgespi ( add_of_iup_table1 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = iup_table [ ii + 16 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = iup_table [ ii + 16 ] / 0x100 ;
    }
   wrpgespi ( add_of_iup_table2 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
   for ( ii = 0x00 ; ii < 4 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = iup_table [ ii + 32 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = iup_table [ ii + 32 ] / 0x100 ;
    }
   wrpgespi ( add_of_iup_table3 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_idp ()
//功能描述:下行输入功率配置表写入25650
//函数说明:
//调用函数:
//全局变量:
//返 回 值:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_idp ( void )
 {
   uchar ii ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = idp_table [ ii ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = idp_table [ ii ] / 0x100 ;
    }
   wrpgespi ( add_of_idp_table1 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
   for ( ii = 0x00 ; ii < 16 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = idp_table [ ii + 16 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = idp_table [ ii + 16 ] / 0x100 ;
    }
   wrpgespi ( add_of_idp_table2 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )
    ii = spirsts () ;
   for ( ii = 0x00 ; ii < 4 ; ii ++ )
    {
     PAGE_BUFF [ ii * 0x02 ] = idp_table [ ii + 32 ] % 0x100 ;
     PAGE_BUFF [ ii * 0x02 + 0x01 ] = idp_table [ ii + 32 ] / 0x100 ;
    }
   wrpgespi ( add_of_idp_table3 ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_qa_tel ()
//功能描述: 查询报警电话写入
//函数说明:
//调用函数:
//全局变量:
//返 回 值:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_qa_tel ( void )
 {
   uchar ii ;
   for ( ii = 0x00 ; ii < 15 ; ii ++ )	PAGE_BUFF [ ii ] = query_tel [ ii ] ;
   for ( ii = 0x00 ; ii < 15 ; ii ++ )	PAGE_BUFF [ ii + 15 ] = alarm_tel [ ii ] ;
			PAGE_BUFF [ 30 ] = COM_MODE ;
   wrpgespi ( add_of_qa_tel ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_self_tel ()
//功能描述:本机电话写入
//函数说明:
//调用函数:
//全局变量:
//返 回 值:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_self_tel ( void )
 {
   uchar ii ;
   for ( ii = 0x00 ; ii < 15 ; ii ++ )	PAGE_BUFF [ ii ] = self_tel [ ii ] ;
   wrpgespi ( add_of_self_tel ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_power_limit ()
//功能描述:上下行功率上限写入
//函数说明:
//调用函数:
//全局变量:
//设 计 者:
//修 改 者:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_power_limit ( void )       // 上、下行输出功率上限
 {
   uchar ii ;
   for ( ii = 0 ; ii < 32 ; ii ++ )	PAGE_BUFF [ ii ] = 0xff ;
   PAGE_BUFF [ 0 ] = up_power_limit ;
   PAGE_BUFF [ 1 ] = down_power_limit ;
   PAGE_BUFF [ 2 ]	= d_in_pow_limit ;
   wrpgespi ( add_of_power_limit ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;   
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_number ()
//功能描述:站点编号4字节写入
//函数说明:
//调用函数:
//全局变量:
//设 计 者:
//修 改 者:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_number ( void )
 {
   uchar ii ;
   for ( ii = 0 ; ii < 32 ; ii ++ )	PAGE_BUFF [ ii ] = 0xff ;
   PAGE_BUFF [ 0 ] = STATION_NO1 ;
   PAGE_BUFF [ 1 ] = STATION_NO2 ;
   PAGE_BUFF [ 2 ] = STATION_NO3 ;
   PAGE_BUFF [ 3 ] = STATION_NO4 ;
   PAGE_BUFF [ 4 ] = EQUIPMENT_NO ;
   wrpgespi ( add_of_rtu_no ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;   
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_alarm_ena ()
//功能描述:告警确认标志,告警告状态,报警允许标志写入
//函数说明:
//调用函数:
//全局变量:
//设 计 者:
//修 改 者:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_alarm_ena ( void )
 {																															
	  uchar ii ;
			for ( ii = 0x00 ; ii < 32 ; ii ++ )	PAGE_BUFF [ ii ] = 0xff ;
			for ( ii = 0x00 ; ii < 0x07 ; ii ++ )	PAGE_BUFF [ ii ] =	alarm_ena[ii].byte_var ;
   wrpgespi ( add_of_alarm_ena ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;   
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_op_switch ()
//功能描述:上下行功放开关
//函数说明:
//调用函数:
//全局变量:
//设 计 者:
//修 改 者:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_op_switch ( void )
 {
	  uchar ii ;
			for ( ii = 0x00 ; ii < 32 ; ii ++ )	PAGE_BUFF [ ii ] = 0xff ;
		 PAGE_BUFF [ 0x00 ] =	up_amp_sw [0];
		 PAGE_BUFF [ 0x01 ] =	up_amp_sw [1];
   PAGE_BUFF [ 0x02 ] =	down_amp_sw [0] ;
   PAGE_BUFF [ 0x03 ] =	down_amp_sw [1] ;
   wrpgespi ( add_of_switch ) ;
   ii = spirsts ( ) ;                 // 延时约5-10MS
   while ( ii & 0x01 )	ii = spirsts () ;   
 }
   /////////////////////////////////////////////////////////////////////
//函 数 名:write_atten ()
//功能描述:上下行衰减写入
//函数说明:
//调用函数:
//全局变量:
//设 计 者:
//修 改 者:
//版    本:
/////////////////////////////////////////////////////////////////////
void write_atten ( void )
 {
	   uchar ii ;
 			for ( ii = 0 ; ii < 16 ; ii ++ )	PAGE_BUFF [ ii ] = u_atten[ii] ;
 			for ( ii = 0 ; ii < 16 ; ii ++ )	PAGE_BUFF [ ii+16 ] = d_atten[ii] ;
    wrpgespi ( add_of_aqtten ) ;
    ii = spirsts ( ) ;                 // 延时约5-10MS
    while ( ii & 0x01 )	ii = spirsts ( ) ;   
	}
  /////////////////////////////////////////////////////////////////////
//函 数 名:write_channel ()
//功能描述:写入工作信道号
//函数说明:
//调用函数:
//全局变量:
//设 计 者:
//修 改 者:
//版    本:
/////////////////////////////////////////////////////////////////////
/*void write_channel ( void )
 {
			 uchar ii ;
	   for ( ii = 0x00 ; ii < 16 ; ii ++ )
			  {
       PAGE_BUFF [ ii * 2 ] = chan_no[ii] % 0x100 ;
							PAGE_BUFF [ ii * 2 + 1 ]	= 0x00 ; // chan_no[ii] / 0x100 ;
     }
    wrpgespi ( add_of_channel ) ;
    ii = spirsts ( ) ;                 // 延时约5-10MS
    while ( ii & 0x01 )	ii = spirsts () ;   
	}
  /////////////////////////////////////////////////////////////////////
//函 数 名:write_schannel ()
//功能描述:写入上下行移频信道号
//函数说明:
//调用函数:
//全局变量:
//版    本:
/////////////////////////////////////////////////////////////////////
void	write_schannel ( void )
	{
    uchar ii ;
	   for ( ii = 0x00 ; ii < 8 ; ii ++ )
			  {
       PAGE_BUFF [ ii*2 ] = us_chan_no[ii] % 0x100 ;
							PAGE_BUFF [ ii*2+1 ] =	us_chan_no[ii] / 0x100 ;
     }
	   for ( ii = 0x00 ; ii < 8 ; ii ++ )
					{
			   PAGE_BUFF [ ii*2+16 ] =	ds_chan_no[ii] % 0x100 ;
			   PAGE_BUFF [ ii*2+17 ] =	ds_chan_no[ii] / 0x100 ;
     }
    wrpgespi ( add_of_schannel ) ;
    ii = spirsts ( ) ;                 // 延时约5-10MS
    while ( ii & 0x01 )	ii = spirsts () ;   
	}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -