编辑: 达达恰西瓜 | 2015-12-24 |
3 英创信息技术有限公司 ETR186 嵌入式网络模块编程手册 V5.04
1、C 语言入门 本节主要是为那些初次接触 C 语言或对 BC 开发环境不太熟悉的用户提供的,如果你 对此已有一定的了解,可跳过本节. 本节中说明的测试程序,在英创公司提供的光盘中子目录下. 1.1 第一个应用程序 作为应用程序设计的第一步,我们将使用 BC31 集成开发环境,编写一个名为 HELLO.CPP 的源程序并把它编译连接成可执行文件 HELLO.EXE: z 将你的开发调试主机系统置于 DOS 提示符并进入你的工作目录下. z 键入命令 BC,使系统进入 BC 集成开发环境, 按F3 打开一个名为 HELLO.CPP 的文件. 这时, 系统进入 BC 编辑环境. 无论用户是否使用 BC 的C++ 特性,我们建议用户的文件名都以 CPP 作为扩展名,这有利于程序的调试. z 通过键盘输入程序如下: #include #include #include #include int main( ) { struct time t;
clrscr( );
//清屏 printf( Hello!\n );
for( ;
;
) { gettime(&
t);
printf( %2d:%02d:%02d\r , t.ti_hour, t.ti_min, t.ti_sec);
http://www.emtronix.com 028-85140028
4 英创信息技术有限公司 ETR186 嵌入式网络模块编程手册 V5.04 if( kbhit() ) break;
} return 0;
} z 按F2 键将程序存盘,再按 F9 对程序进行编译连接,生成 EXE 可执行文件. z 按ALT+X 退出 BC 集成开发环境. z 在DOS 提示符下,键入:td Crp hello 程序将被自动下载至 ETR186 下,并 弹出源码调试窗口. z 按F9 键,程序将运行.如果接有 LCD 屏,可在 LCD 屏上看到 Hello! 及动 态刷新的当前时间串. z 如在 ETR186 上接有键盘,按任意键程序将退出.在任意时候,可在 PC 上按CTRL+BREAK 强制中断程序运行.按ALT+X 将退出 TD 调试状态. 1.2 建立工程文件 建立工程文件可把多个程序模块方便地组合在一起进行编译连接, 是设计专业程序的基 本手段,这主要是因为通过建立工程文件可合理安排程序结构,快速调试程序错误,所以我 们建议用户采用工程文件这一工具来设计自己的应用程序. 下面我们将建立一个工程文件 MYPRJ.PRJ,具有.PRJ 的扩展名. z 将你的开发调试主机系统置于 DOS 提示符下. z 键入命令 BC,使系统进入 BC 集成开发环境, 按ALT+P 打开一个名为 MYPRJ.PRJ 的工程文件. 这时按 Insert 键, 向工程文件中添加 TIMESTR.CPP 及HELO.CPP. z 模块 TIMESTR.CPP 定义了一个获取时间串的函数. z 模块 HELO.CPP 包含了主函数 main( ),通过#include timestr.h ,可以调用 TIMESTR.CPP 模块中提供的获取时间串的函数. z 按F2 键将程序存盘,再按 F9 对程序进行编译,自动对工程文件中两个源文 件分别进行编译,然后连接,生成 MYPRJ.EXE 可执行文件. z 利用 TD,可以将 MYPRJ.EXE 下载到 ETR186 下进行调试运行. http://www.emtronix.com 028-85140028
5 英创信息技术有限公司 ETR186 嵌入式网络模块编程手册 V5.04 1.3 文件读写 利用操作系统提供的文件系统设计应用程序是嵌入式系统有别于一般单片机系统的一 个显著特点.任何一个文件在使用之前和使用之后,必须要进行打开和关闭,这是因为操作 系统对于同时打开的文件数目是有限制的. 因此在使用文件前应打开文件, 才可对其中的信 息进行存取.用完之后需要关闭, 否则将会出现一些意想不到的错误.BC 提供了打开和关 闭文件的函数:fopen()函数和 fclose()函数.在文件打开后,可根据需要调用相应的文件读 写函数 fread()函数和 fwrite()函数. 我们提供的文件操作的例子程序, FILEIO.PRJ 包含了 TIMESTR.CPP 和FILEIO.CPP. 模块 TIMESTR.CPP 定义了一个获取时间串的函数.模块 FILEIO.CPP 包含了主函数 main( ),实现了显示当前时间,并将当前时间转换成文本格式存盘.在FILEIO.CPP 定义 了一个存盘函数,代码主体如下: int SaveFile( char* FileName, char *str ) { FILE *fp;