Autor Tema: Traduccion de Lenguaje Basic a C  (Leído 3659 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Traduccion de Lenguaje Basic a C
« 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....
« Última modificación: 16 de Marzo de 2011, 16:40:03 por pajaro »

Desconectado kamisama

  • PIC16
  • ***
  • Mensajes: 151
Re: Traduccion de Lenguaje Basic a C
« Respuesta #1 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

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Traduccion de Lenguaje Basic a C
« Respuesta #2 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.

Desconectado cristian_elect

  • PIC18
  • ****
  • Mensajes: 453
Re: Traduccion de Lenguaje Basic a C
« Respuesta #3 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.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Traduccion de Lenguaje Basic a C
« Respuesta #4 en: 18 de Abril de 2011, 12:58:22 »
Citar
&H11

Seguramente es el hexadecimal 0x11  :mrgreen:
No contesto mensajes privados, las consultas en el foro

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Traduccion de Lenguaje Basic a C
« Respuesta #5 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.

« Última modificación: 18 de Abril de 2011, 15:36:14 por pajaro »

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Traduccion de Lenguaje Basic a C
« Respuesta #6 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.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Traduccion de Lenguaje Basic a C
« Respuesta #7 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!
No contesto mensajes privados, las consultas en el foro