convertir letras a morse

#1
Estimados!, estoy haciendo una radio baliza y me trabe en la parte de la conversion... les comento un poco

esta es una caja que se conecta a la entrada de microfono de un transeptor de radioaficionado y controla el PPT ( eso que se apreta para hablar)

al iniciar el sistema por primera vez te pregunta lo que queres que diga y el lapso de tiempo que puede ser 1 minuto, 5 el que uno quiera. ahora bien. para hacerlo mas sencillo por ejemplo escribo "hola mundo" y que lo diga cada 5 minutos

entonces internamente hace la conversion de "hola mundo" a puntos y rayas y mucho mas interamente a ON y OFF para prender y apagar una fincion de generador de tono que hace el bip.
Entocnes cada 5 minutos el sistema manda la señal de transmitir y modula los tonos correspondientes.

mi problema es hacer una conversion que sea del "abc" al tono corto, tono largo o punto y raya.

La plataforma que utilizo es un 8051 y lo compilo en lenguaje C y la verdad que si no saben 8051 con pic en c o solo C es lo mismo

quiero comparar 2 tablas que lo puedo hacer con un for, una tabla ya la tengo que seria esta

code unsigned char ABC[] =
{
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
'Q','R','S','T','U','V','W','X','Y','Z',1,2,3,4,5,6,7,8,9,0,0xff//terminador es 0xff
};

ahora me falta la otra que seria

comparar con A ._ B_.. C _._.
es facil pero quiero saber si se les ocurre como hago pra que despeus el sistema diga.. ahh es un punto tono1 es una raya tono2
y al momento de trasnmitir diga tono1 tono2 , tono2 tono1 tono1 tono1

Me explico? se que es muy simple.. pero se me cruzaron los cables y estoy medio confundido a demas de que hace bastante que no programo jeje

Bueno!, muchas gracias y feliz 2011
 
#2
. . . es facil pero quiero saber si se les ocurre como hago pra que despeus el sistema diga.. ahh es un punto tono1 es una raya tono2
y al momento de trasnmitir diga tono1 tono2 , tono2 tono1 tono1 tono1 . . .
El codigo Morse es un sistema binario:punto (tono corto) y raya (tono largo).
La electronica digital usa un sistema binario: 0 y 1.

Si esa explicacion no te da la idea, estas en la olla.

:cool:
 
#3
El codigo Morse es un sistema binario:punto (tono corto) y raya (tono largo).
La electronica digital usa un sistema binario: 0 y 1.

Si esa explicacion no te da la idea, estas en la olla.

:cool:
noo noo, entendiste cualquier cosa,... o me exprese mal
yo no tengo problemas con el morse, puedo escuchar e interpretar al igual que puedo transmitir un comunicado sin mayores dificultades.
El problema es con hacer una lista de que cada letra corresponde a un punto y cual a una raya.

queria hacer una tabla, lo del arreglo ese no me sirvio.. o mejor dicho es muy complicado al pepe.

la tabla seria asi,, la columna de la is las letras y la de la derecha los . y _

despues lo veo bien y te muestro como me quedo..

Saludos!
 
#4
yo lo que haria es una funcion para cada letra, osea que cada funcion contenga el grupo del pulsaciones que tengas que hacer, entonces con un switch analizas caracter a caracter y vas emitiendo asi
 
#5
yo lo que haria es una funcion para cada letra, osea que cada funcion contenga el grupo del pulsaciones que tengas que hacer, entonces con un switch analizas caracter a caracter y vas emitiendo asi
Que tal Diegomx, si, yo lo que pretendia hacer en un momento era una funcion de 3 lineas que lo analiza y saque todo de una tabla y listo... pero la verdad.. te soy franco.. me re comio el coco y no me salio.. llegue a 3 for uno dentro del otro.. pero nah.. no va.

asi que ahora estoy como me indicaste y listo!..

Muchas gracias! cuando lo termine lo subo!

73
 
#6
EDIT: pensé que querías convertir de morse a letras, si necesitás eso se puede hacer mucho más sencillo: Una tabla en memoria de código que sea así: char tabla[5][32]; El primer índice sería la cantidad de dígitos, el segundo sería el código de los dígitos (transformando . en 0 y - en 1 binario).
 

Temas similares

Arriba