Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda! Caracteres Não Imprimíveis, Linux/MacOS


Celso Padilha

Pergunta

Olá pessoal, estou quebrando a cabeça já faz um tempo, sou programador java faz tempo, e faz mais tempo ainda que não vejo C, mas estou precisando dele como nunca agora, e estou com um certo problema, preciso de pegar os caracteres não imprimíveis, com código ascii ou em binário, no mac os eu não consigo fazer a função itoa pra transformar em binário ou em ascii.

O que eu pretendo, estou trabalhando em um projeto em arduino que é um Micro-Controlador que é programável em C, e estou precisando de pegar o evento do teclado para mover um servo gradativamente com as setas do teclado, se eu apertar ou segurar a seta, ele vai aumentar gradativamente, eu tenho que pegar de todo jeito o evento da seta pelo teclado, fiz um código só pra testar mesmo, preciso muito de ajuda, atenciosamente!

Em anexo o Código: Essa gambiarra ai é do getch pra não precisar do enter e não usar o getchar(), pra quem quiser, está disponível ai também, abcs.

/*

* File: main.cpp

* Author: celsopadilha

*

* Created on 5 de Janeiro de 2012, 15:07

*/

#include <cstdlib>

#include <stdlib.h>

#include <stdio.h>

#include <termios.h>

#include <unistd.h>

int getch( ) {

struct termios oldt,

newt;

int ch;

tcgetattr( STDIN_FILENO, &oldt );

newt = oldt;

newt.c_lflag &= ~( ICANON | ECHO );

tcsetattr( STDIN_FILENO, TCSANOW, &newt );

ch = getchar();

tcsetattr( STDIN_FILENO,

TCSANOW, &oldt );

return ch;

}

#define fflush fflush2

void fflush2(FILE * x) {

getchar();

}

#define sleep eeeep

void eeeep(int x) {}

char buffer[8];

/*

*

*/

int main(void)

{

int c;

while(1)

{

c=getch();

if(c==000)//Se a tecla for o null

break;

if (!c)

{

printf("Primeiro byte = 0 \t");

c = getch();

}

else

{//byte não lido é zero

printf("Caracter: %c * ASCII = %d\n", c, c);

}

}

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...