我有一个测试用例,我需要读取串行总线 (RS-232) 上的文本。此文本实际上是嵌入式 PC 启动时输出的文本。然后我需要为某些标记解析该文本输出。我正在尝试开发一种解决此问题的通用方法。这是我的方法:
配置 COM 端口 打开/创建文件以将文本写入 将从端口读取的字节写入文件 此处有任何指针可以帮助我,或者您认为缺少什么?对于函数 ComToFile,我不确定参数“终止字节”使用什么,因为我还不知道文本的整体外观。是否有一个默认值可以输入该函数以不使用该方法?
注意:不需要 UI,这是用于自动化测试。另外,我正在争论是否应该将启动文本写入文件,然后像我所做的那样解析该文件中的令牌,或者最好将其存储在程序内的一个大缓冲区中并解析该缓冲区?
#include <formatio.h>
#include<stdio.h>
#include<string.h>
#include<rs232.h>
#define PORT_NUMBER 1
#define BUFFER_SIZE 10000
int main (void)
{
char buffer[BUFFER_SIZE];
int bytes = 100;
int fileHandle;
int status;
if (0 > (OpenComConfig(PORT_NUMBER, "COM1", 115200, 0, 7, 1, 5000, 512))) //Opens connection to COM port, closes program if error code returned
{
printf("Error: COM port could not be opened\n");
return -1;
}
fileHandle = OpenFile ("BootText.txt", VAL_READ_WRITE, VAL_TRUNCATE, VAL_ASCII);
status = SetComTime(PORT_NUMBER, 10);
bytes = ComToFile(PORT_NUMBER, fileHandle, 2000, 0x0D);
return 0;
}