TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado 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....
-
Y como para que.... C es mas lento que basic y consume mas recursos del microcontrolador... se supone que hay que optimizar copdigo
-
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.
-
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.
-
&H11
Seguramente es el hexadecimal 0x11 :mrgreen:
-
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.
-
&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.
-
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!