O Windows é a máquina host e o Linux é instalado na máquina virtual VMware. Você também pode escrever um programa no Linux para enviar mensagens para a porta serial. O princípio também é usar o software de porta serial virtual VSPM para conectar COM3 e COM4 e, em seguida, capturá-lo através do depurador de porta serial. Anexado abaixo está um exemplo de código C do programa de porta serial no Linux.
Para usar e baixar o VSPM, consulte " Programação de porta serial Parte 1: Porta serial virtual VSPM resolve problemas de programação de porta serial " http://blog.csdn.net/zh405123507/article/details/7424877
Para o código VB de programação da porta serial, consulte " Programação da porta serial, parte 2: VB enviando dados da porta serial " http://blog.csdn.net/zh405123507/article/details/7424889
Tomando o modo de linha de comando do Ubuntu como exemplo, configure o hardware da máquina virtual no VMware. Selecione Adicionar hardware de porta serial e escolha usar a porta serial física desta máquina. Escolha de acordo com a lista de portas seriais fornecida. (Parece que apenas COM3 está disponível)
Abra o diretório "Virtual Serial Port Interconnect Plug-in" na pasta VSPM, copie vspm.ini para o diretório inicial do VSPM e substitua o arquivo de configuração original. O objetivo é permitir que o VSPM conecte COM3 e COM4 na próxima inicialização, então que pode ser usado no Windows. Use um programa para capturar a saída da COM4, que é a entrada da COM3 na máquina virtual Linux.
Não importa se a porta serial atribuída à máquina virtual não é COM3. As últimas quatro linhas do arquivo vspm.ini são as seguintes:
COM3=127.0.0.1:7102;127.0.0.1:7101;Active;UDP_BC
COM4=127.0.0.1:7101;127.0.0.1:7102;Active;UDP_BC
COM5=127.0.0.1:7202;127.0.0.1:7201;Active;UDP_BC
COM6=127.0.0.1:7201;127.0.0.1:7202;Active;UDP_BC
Essas quatro portas estão conectadas em pares (a primeira linha está conectada à segunda linha, a terceira linha está conectada à quarta linha). Assim, você pode modificar o número após COM para obter o efeito desejado.
Depois de configurar o VMware e o VSPM, você pode iniciar a máquina virtual e iniciar os testes. Agora inicie o depurador de porta serial no Linux e no Windows, respectivamente, no VMware.
Agora digite o comando no Ubuntu (ou outro console Linux, o comando é universal)
echo hello > /dev/ttyS0
Se a janela de recebimento do depurador de porta serial exibir "olá", significa que o link foi bem-sucedido e você pode escrever um programa para depurar a porta serial virtual do VMware Linux.
A seguir está um programa simples de porta serial Linux C:
#include <termios.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/signal.h>
#define FALSE 0
#define TRUE 1
int main()
{
volatile int STOP=FALSE;
volatile int fd;
/*类似读写文件的方式打开串口*/
fd = open( "/dev/ttyS1", O_RDWR);
if (-1 == fd){
perror(" 提示错误!");
}
/*设置串口参数*/
struct termios Opt;
tcgetattr(fd, &Opt);
cfsetispeed(&Opt,B19200); //接收波特率
cfsetospeed(&Opt,B19200); //发送波特率
tcsetattr(fd,1,&Opt);
Opt.c_cflag &= ~PARENB;
Opt.c_cflag &= ~CSTOPB;
Opt.c_cflag &= ~CSIZE;
Opt.c_cflag |= ~CS8;
/*开始向fd送数据*/
int c='0';
printf("send data\n");
while (STOP==FALSE) /* modem input handler */
{
c++;
c %= 255;
write(fd,&c,1); /* stdout */
usleep(100000);
}
return 0;
}
/*需要另外编写函数捕获键盘输入使STOP == FALSE,发送停止*/
Após a compilação, a saída do programa é a seguinte:
==================================
Este artigo vem de: http://blog.csdn.net/zh405123507
tags: Programação de porta serial Pipeline VMware Linux