编辑: 达达恰西瓜 | 2015-12-24 |
fp = fopen(FileName, wt );
// 打开文件,格式为可写的文本文件 if( fp==NULL ) { printf( Cannot Open this File!\n );
return -1;
} fprintf( fp, %s , str );
// 向文件中写入串 fclose( fp );
// 关闭文件 return 0;
} http://www.emtronix.com 028-85140028
6 英创信息技术有限公司 ETR186 嵌入式网络模块编程手册 V5.04
2、硬件接口驱动程序 与本节相关的程序在光盘中的目录下. 2.1 硬件设置的接口函数定义 ETR186 提供了可对低层硬件操作的接口函数, 其定义在 ETR186.H 中, ETR186.CPP 是对 ETR186 提供的低层操作 C/C++接口函数的实现,各个函数的定义如下: (1) unsigned int GPIODirCfg( unsigned int Dir ) 函数功能描述: 设置10位通用数字IO(从D[0]位到D[9]位)的输入输出方向. D[i]=0: 定义为输出;
D[i]=1:定义为输入.D[0]、D[1] …… D[9]缺省定义为输入. 输入参数:Dir 中为
1 的位,表示对应的 GPIO 为输入;
否则为输出. (2) void GPIOWrite( unsigned int Value ) 函数功能描述:设置 GPIO 的输出位电平. 输入参数:Value 为输出值.只有方向设置为输出的,才是有效的. (3) unsigned int GPIORead( ) 函数功能描述:读取 GPIO 的输入状态. 输入参数:无 返回值:返回值中,只有方向设置为输入的,才是有效的. (4) unsigned int GPIOSetBit( int BitIdx,int L10 ) 函数功能描述:对通用的数字 IO 进行一位输出值设置. 输入参数: int BitIdx 选择需设置的输出位的序号,其范围是从
0 … 9. int L10 设置的输出值,0 或1. (5) void GPRS_STB( int L10 ) 函数功能描述:设置 GPRS_STB 位,GPRS_STB 为一位数字输出,可用于启动 http://www.emtronix.com 028-85140028
7 英创信息技术有限公司 ETR186 嵌入式网络模块编程手册 V5.04 GPRS 模块. 另外如果没有 GPRS 应用,GPRS_STB 信号可作为通用数字输入输出来使用. 输入参数: int L10 设置的输出值,0 或1. (6) unsigned int GPRS_PWR( ) 函数功能描述:读取 GPRS_PWR 位状态,GPRS_PWR 为数字输入,可用于检 查GPRS 的上电状态. 另外如果没有 GPRS 应用,GPRS_PWR 信号可以作为通用数字输入来使用. 输入参数:无 返回值:
0 GPRS 没有上电
1 GPRS 已经上电 (7) void GPRS_AUX( int L10 ) 函数功能描述:设置 GPRS_AUX 位,GPRS_STB 为一位数字输出,可用于对 GPRS 模块电源进行管理,L10 为0开通 GPRS 电源,L10 为1关闭 GPRS 电源. 另外如果没有 GPRS 应用,GPRS_AUX 信号可作为通用数字输出来使用. 输入参数: int L10 设置的输出值,0 或1. (8) unsigned int NB_Delay( unsigned int milliseconds ) 函数功能描述:延时 milliseconds 毫秒.可用于替代 C 函数 delay(…).注意 ETR186 的定时器结构与标准 PC 不一致,不能使用 delay()来进行延时操作. (9) unsigned long NB_clock( unsigned int milliseconds ) 函数功能描述:返回系统当前的 Tick 值.可用于替代 C 函数 clock(…). (10) int SetTMR1( unsigned int Divider ) http://www.emtronix.com 028-85140028
8 英创信息技术有限公司 ETR186 嵌入式网络模块编程手册 V5.04 函数功能描述:设置 Timer1 时钟的分频数.ETR186 的Timer1 输入时钟频率为 1MHz.Timer1 为占空比为 50%的方波,Divider 代表了分频数,如:Divider = 20000,则产生周期为 20ms 的方波. (11) int SetWDT( ) 函数功能描述:打开 Watchdog,时间间隔约为
2 秒.注意:由于 Watchdog 的 时间较小,所以在使用的过程中,要进行适时加载. (12) int ReloadWDT( ) 函数功能描述:加载 Watchdog (13) int SysReboot( ) 函数功能描述:重新启动系统,相当于 PC 机的热启动. 2.2 硬件接口函数应用例程 2.2.1 Watchdog 的使用 用于测试 WatchDog 函数, WDT.PRJ 由ETR186.CPP 和WDT.CPP 构成, ETR186.CPP 提供低层操作的 C/C++接口函数,WDT.CPP 包含了主函数 main() ,先调用 SetWDT( ) 函数启动 WatchDog, 时间间隔为 2.1 秒, 在循环中不断调用 ReloadWDT( )重载 watchdog, 如果将循环中的延时时间调整超过 2.1 秒,系统将被重新启动. 2.2.2 GPIO 操作 (1)通用的数字 IO 实现对