Página 1 de 1
enviar numero decimal pela serial[RESOLVIDO]

Enviado:
07 Set 2009 20:06
por cristian
seguinte tenho q enviar os comandos 27 e 109 em decimal para uma impressora DR700
estou usando o CCS e printf(
ja tentei varios formatos e nao funciona
printf("t1\r\n%x%x",27,109);
printf("t2\r\n%x%x",0x1b,0x6d);
printf("t3\r\n%u%u",27,109);
printf("t4\r\n%u%u",0x1b,0x6d);
printf("t5\r\n");
f=27;
g=109;
printf(f,g);
nenhum deste é equivalente ao do delphi
COMPORT1.Send(#27+#109);
que funciona normal

Enviado:
07 Set 2009 21:07
por aureo.oliveira
a = 27;
b = 109;
printf("%03u %03u",a,b)
vai mostrar:027 109
a = 27;
b = 109;
printf("%02u %03u",a,b)
vai mostrar:27 109
ps: atenção para o espaço separando os comandos.

Enviado:
07 Set 2009 21:10
por cristian
obrigado mas nao quero so mostrar é um comando pra impressora
mas ja resolvi agora mesmo
o comando PUTC(27) Envia o numero decimal 27(0x1b)

Enviado:
08 Set 2009 18:40
por xultz
Cristian, eu ia sugerir exatamente isto.
Também pode fazer algo do tipo
unsigned char comandos[] = { 27, 108};
e fazer um
printf("%s", comandos);
assim manda os dois num único comando.
Particularmente, eu faria dois putchar().

Enviado:
08 Set 2009 20:21
por cristian
xultz
nao tentei o %s, da no mesmo ???

Enviado:
09 Set 2009 07:51
por barboza
cristian escreveu:xultz
nao tentei o %s, da no mesmo ???
Neste caso precisa do terminador nulo, pois %s é de string.
- Código: Selecionar todos
unsigned char comandos[] = { 27, 109, '\0'};
printf("%s", comandos);
Seguindo o que já havia feito, era só mudar o parâmetro para caracter.
- Código: Selecionar todos
printf("%c%c", 27, 109);