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

📄 posserial.c

📁 this program is the application of serial port
💻 C
字号:
#include <stdio.h>


int main(int argc, char *argv[])
{
	int nRet;
	char strBuf[500];
	int mode, oldmode;
	
	nRet = OpenTTY("/dev/ttyS1", 9600);
	
	oldmode = 1;
	
	if (nRet < 0) {
		fprintf(stderr, "Open /dev/ttyS1 fail!\n");
		return -1;
	}
	
	while (1) {
		fprintf(stderr, "Enter AT Command:\n");
		fprintf(stderr, ">>");
		
		scanf("%s", strBuf);
		
		if (strcmp(strBuf, "EXIT") == 0) break;
		
		mode = 0;

		if (strcmp(strBuf, "AT\\Q3") == 0) mode = 2;
		else if (strcmp(strBuf, "AT\\Q0") == 0) mode = 1;
		
		strcat(strBuf, "\r\n");
		
		nRet = WriteTTY(strBuf, strlen(strBuf), 1);

fprintf(stderr, "WriteTTY return %d\n", nRet);		
		if (nRet != strlen(strBuf)) {
			fprintf(stderr, "WriteTTY error [%d]\n", nRet);
			continue;
		}
		
		if (mode != 0) {
			if (mode != oldmode) {
				CloseTTY();
fprintf(stderr, "CloseTTY return\n");		
				if (mode == 1) {
					nRet = OpenTTY("/dev/ttyS1", 9600);
					fprintf(stderr, "change to NO RTS/CTS mode, return %d\n", nRet);
				}
			        else {
					nRet = OpenTTY1("/dev/ttyS1", 9600);
					fprintf(stderr, "change to RTS/CTS mode, return %d\n", nRet);
				}
				oldmode = mode;
			}
		}

fprintf(stderr, "Begin GetPesponse\n");		
		
		GetResponse();
fprintf(stderr, "After GetPesponse\n");		
	}
	
	CloseTTY();
	
	
}



int GetResponse(void)
{
	char strBuf[500];
	int  nRet, i;
	
	for (i = 0; i < 3; i++) {
	
        	memset(strBuf, 0, sizeof(strBuf));
        	
        	nRet = ReadTTY(strBuf, sizeof(strBuf), 1);
        	
        	if (nRet < 0) {
        		fprintf(stderr, "ReadTTY error [%d]\n", nRet);
        	}
        	else if (nRet > 0) {
        		fprintf(stderr, "%s\n", strBuf);
		}
	}
	
	return 0;
}

⌨️ 快捷键说明

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