TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: pajaro en 16 de Marzo de 2011, 14:33:39

Título: Traduccion de Lenguaje Basic a C
Publicado por: pajaro en 16 de Marzo de 2011, 14:33:39
Hola Amigos,

Recientemente he estado programando en entorno visual de basic y C para consola.
Tengo unas funciones en *.bas son en basic pero para microntroladores, la idea que me propongo
es pasar este codigo de basic a C.

Por el momento pase gran parte del codigo a C pero hay cachitos que no se que son.

¿Podrian ustedes ayudarme?.
b: basic
c: lenguaje C CCS

Comentarios:
-----------------------
b: 'comentario
c: // comentario linea    /*comentario parrafo */


definicion variables:
----------------------------
b: Dim nombreVariable as tipovariable.
c: typovariable nombre variable;


intuiciones propias, pueden verificarme
===========================

$regfile = "m88def.dat"
$baud = 19200
$crystal = 16000000

podrian ser sentencias para el compilador

#fuse..
--------------------------------

b:

Sub Power_down();
  I2cstart
  I2cwbyte 34
  I2cwbyte &H11
  I2cstop
End Sub

c:
void Power_down(){
i2c_start();
i2c_write(34);
i2c_write();  //&H11 esto que es
i2c_stop();
}





continuando....
Título: Re: Traduccion de Lenguaje Basic a C
Publicado por: kamisama en 01 de Abril de 2011, 18:12:05
Y como para que.... C es mas lento que basic y consume mas recursos del microcontrolador... se supone que hay que optimizar copdigo
Título: Re: Traduccion de Lenguaje Basic a C
Publicado por: pajaro en 18 de Abril de 2011, 10:50:04
hola amigo

Desde hace tiempo trabajo con el entorno CCS de c y lo prefiero al basic  de Atmel que desconozco , por eso quiero pasarlo de basic a C no debe ser muy dificil, a simple vista es conversion de codigos y nomenclaturas.

Si se usa con un atmel por que no con un pic y en c.

Un saludo.
Título: Re: Traduccion de Lenguaje Basic a C
Publicado por: cristian_elect en 18 de Abril de 2011, 12:49:18
Traducir un Basic de Bascom para AVR al CCS que no es ansi C para pic. Es algo raro.
No dices el C para que compilador es y que microcontrolador vas usar.
Título: Re: Traduccion de Lenguaje Basic a C
Publicado por: Suky en 18 de Abril de 2011, 12:58:22
Citar
&H11

Seguramente es el hexadecimal 0x11  :mrgreen:
Título: Re: Traduccion de Lenguaje Basic a C
Publicado por: pajaro en 18 de Abril de 2011, 14:06:44
Traducir un Basic de Bascom para AVR al CCS que no es ansi C para pic. Es algo raro.
No dices el C para que compilador es y que microcontrolador vas usar.

Hola amigo,

el IDE (entorno de desarrollo integrado) que voy a usar (el cual uso actualmente) para programar microcontroladores es  CCS para programación bajo C , la web del entorno : http://www.ccsinfo.com/
el compilador lo puedes encontar aqui : http://www.ccsinfo.com/downloads.php#software
la version creo que era la 4 no recuerdo con que actualización.

La version del controlador, por el momento para version PIC16F8xx más concretamente
para el pic 16F877A.

Este entorno no trae todas las librerias implementadas que nos gustaria o necesitariamos
para el uso de algunos dispositivos de ahi la idea de  traducir a C.


Un Saludo.

Título: Re: Traduccion de Lenguaje Basic a C
Publicado por: pajaro en 20 de Abril de 2011, 12:22:00
Citar
&H11

Seguramente es el hexadecimal 0x11  :mrgreen:


Hola Suky,
podria ser lo que dices, pero que sentido tendria en este fragmento de codigo:

b:

Sub Power_down();
  I2cstart
  I2cwbyte 34
  I2cwbyte &H11
  I2cstop
End Sub

c:
void Power_down(){
i2c_start();
i2c_write(34);
i2c_write();  //&H11 esto que es
i2c_stop();
}


iniciamos el bus i2c
le mandamos la direccion del dispositivo esclavo
le mandamos el comando
paramos el bus i2c

por que ? el primero se la manda en decimal y el segundo en hexadecimal?


Un Saludo.
Título: Re: Traduccion de Lenguaje Basic a C
Publicado por: Suky en 20 de Abril de 2011, 12:49:40
Y que se yo con que se está comunicando! Lo demás son gustos y efectos puntuales que llevan al programador a expresarse en decimal o hexadecimal  :mrgreen: El tema es sencillo, o estudias el lenguaje para entender las sentencias, o te olvidas y estudias el datasheet del dispositivo a comunicarte y haces el trabajo   ;-)


Saludos!