c语言如何 调用外部程序

c语言如何 调用外部程序,第1张

fe函数名: exec...

功 能: 装入并运行其它程序的函数

用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL)

int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,

char *envp[])

int execlp(char *pathname, char *arg0, arg1, .., NULL)

int execple(char *pathname, char *arg0, arg1, ..., NULL,

char *envp[])

int execv(char *pathname, char *argv[])

int execve(char *pathname, char *argv[], char *envp[])

int execvp(char *pathname, char *argv[])

int execvpe(char *pathname, char *argv[], char *envp[])

程序例: /* execv example */

#include <process.h>

#include <stdio.h>

#include <errno.h>void main(int argc, char *argv[])

{

int i printf("Command line arguments:\n")

for (i=0i<argci++)

printf("[%2d] : %s\n", i, argv[i]) printf("About to exec child with arg1 arg2 ...\n")

execv("CHILD.EXE", argv) perror("exec error") exit(1)

}

多看书,多Google,百度,

//使液晶进入休眠其实就是关闭液晶显示,比如1602,发送08这个命令就可以了。

#define LCD1602_FLAG

#define LCD1602_PORT P1

#include<reg52.h>

#include<stddef.h>

#include"dtype.h"

sbit lcd1602_rs=P3^7

sbit lcd1602_e=P3^5

sbit lcd1602_rw=P3^6

sbit lcd1602_busy=P1^7

sbit keydis=P3^0

sbit keyno=P3^1

/*

************************************

* 函数名称:lcd1602_CheckBusy()

* 函数功能:状态查询

************************************

*/

void lcd1602_CheckBusy()

{

do

{

lcd1602_busy=1

lcd1602_rs=0

lcd1602_rw=1

lcd1602_e=0

lcd1602_e=1

}

while(lcd1602_busy)

}

/*

***************************************

* 函数名称: lcd1602_WriteCmd()

* 函数功能:写命令

***************************************

*/

void lcd1602_WriteCmd(const INT8U cmd)

{

lcd1602_CheckBusy()

lcd1602_rs=0

lcd1602_rw=0

lcd1602_e=1

LCD1602_PORT=cmd

lcd1602_e=0

}

/*

*******************************************

* 函数名称:lcd1602_WriteData()

* 函数功能:写数据

*********************************************

*/

void lcd1602_WriteData(const INT8U c)

{

lcd1602_CheckBusy()

lcd1602_rs=1

lcd1602_rw=0

lcd1602_e=1

LCD1602_PORT=c

lcd1602_e=0

}

/*

***********************************************

* 函数名称:lcd1602_Init()

* 函数功能:初始化LCD

***********************************************

*/

void lcd1602_Init()

{

lcd1602_WriteCmd(0x38)//显示模式为8位2行5*7点阵

lcd1602_WriteCmd(0x0f)//display enable,flag enable,flash enable,

lcd1602_WriteCmd(0x06)//flag move to right,screen don't move

lcd1602_WriteCmd(0x01)//clear screen

}

/*

************************************************

* 函数名称:lcd1602_Display()

* 函数功能: 字符显示

************************************************

*/

void lcd1602_Display(const INT8U *ptr)

{

INT8U data i=0

INT8U *data q

q=ptr

lcd1602_WriteCmd(0x80)

while(q!=NULL &&(*q!='\0') &&i<16)

{

lcd1602_WriteData(*q)

q++

i++

}

lcd1602_WriteCmd(0xc0)

while(q!=NULL &&(*q!='\0') &&i>=16 &&i<32)

{

lcd1602_WriteData(*q)

q++

i++

}

}

main()

{

INT8U *txt="hello friend!"

lcd1602_Init()

while(1)

{

if(keydis==0)

{

while(keydis==0)

lcd1602_Display(txt) //显示信息

}

if(keyno==0)

{

while(keyno==0)

lcd1602_WriteCmd(0x08) //关闭显示

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11087877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存