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); } } }