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.
Pergunta
Celso Padilha
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
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.