Autor Tema: Cursillo en C18 para PICS DESDE CERO  (Leído 300217 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #285 en: 03 de Febrero de 2011, 19:54:40 »
No he utilizado MPLAB para hacer ese tipo de simulaciones, estas seguro que lo hace correctamente? Puede que proteus sea mejor para ese caso.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado umalrovi

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 158
    • Aplicaciones Electrónicas
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #286 en: 04 de Febrero de 2011, 05:28:29 »
Buenas Suky,

Intentaré bajarme la versión DEMO del proteus ya que no dispongo de ella. Un factor en contra, es que no tengo pleno control sobre el Proteus. He visto que hay muchos tutoriales el este foro pero tardare un tiempo en hacerme con ellos. T

Te agradecería muchísimo que mirases el código por si pudiera mejorar la interrupción del CAD y si está bien implementado.

Muchas gracias por tu ayuda!
Aplicaciones Electrónicas
http://www.neoingenia.com/

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
OFFTOPIC Re: C18 CAD con interrupción
« Respuesta #287 en: 16 de Febrero de 2011, 16:31:09 »
Hola compañeros!!!

En primer lugar daros las gracias por la info que habéis posteado en el foro de todopic en especial a microcadaver. Yo era un programador de CCS pero me ha dado tanto por.... los bugsss que al final he pasado al C18 ya que pienso que si microchip da este lenguaje, será por algo.

Había mandado un privado a nuestro compañero microcadaver, pero hablando con otro del foro, Azicuetano, me dijo que lo postease directamente.

Hola umalrovi, me disculpo publicamente por no poder ayudarte, que bien que decidistes postearlo, siempre es mejor asi pues mucha gente lo puede ver y responder a mayor probabilidad que una sola persona.

La vida de casado te absorbe bastante jejeje  :mrgreen:
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 288
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #288 en: 08 de Marzo de 2011, 20:10:38 »
Hola microcadaver que tal, hasta ahora e usado el ccs, pero he decido cambiarme a c18 o a mikroc, felicitaciones por el trabajo, con tu tutorial aprendo en una  semana  c18 jejeje

saludos y felicitaciones

Desconectado c@Lic_0

  • PIC10
  • *
  • Mensajes: 36
    • Una tasita de cafe
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #289 en: 10 de Marzo de 2011, 17:14:49 »
El aporte que hacen es genial para los que estamos empezando con este lenguaje :mrgreen: :mrgreen: , al momento de realizar mis primeras experiencias(sin mucho exito) me encuentro que al momento de compilar el programa me aparece un mensaje(esta en adjuntos, aun no aprendi a insertar imagenes jejeje), el cual al parecer avisa(segun mi pobre ingles :D) de que se esta ejecutando el modo extendido pero que no he habiltado tal modo para la compilacion lo cual puede que mi codigo no se ejecute correctamente, no se en cuanto puede afectar esto a mi programa y como pudiera arreglarlo  :-/ :-/ :-/

Saludos.

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #290 en: 10 de Marzo de 2011, 18:31:19 »
Hola c@Lic_0:
                    el compilador te está alertando sobre el uso del modo extendido cuando tu programa lo has hecho para no usar dicho modo. Si bien vas a tener un archivo *.hex como resultado, el compilador te alerta que el programa va a tener un mal funcionamiento.
                    Posiblemente tengas mal configurados los fuses.
EN especial este: #pragma config XINST = OFF
                    Si puedes muestra tu código para ver en donde está el error.

Mientras mira esta información:
http://www.microchip.com/forums/m460560.aspx

http://www.todopic.com.ar/foros/index.php?topic=24296.0

http://old.nabble.com/Turning-off-extended-CPU-mode-configuration-bit-td8777884.html

                   Saludos.
                             Jukinch
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado c@Lic_0

  • PIC10
  • *
  • Mensajes: 36
    • Una tasita de cafe
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #291 en: 10 de Marzo de 2011, 20:13:27 »
pues le diste en el clavo :D :D :D le puse XINST=OFF y todo andó ok, aunque sucede algo raro, me creo otro proyecto en el cual nisiquiera configuro el bit ese y me compila sin problema, en el anterior programa(en el cual tenia el problema) la linea:
Código: [Seleccionar]
#pragma config XINST = OFF
//ON:Instruction set extension and Indexed Addressing mode enabled

la comento eh igualmente me vuelve a aparecer el mensaje, algo nu anda bien, pero lo bueno es que se que para que no haya problema mejor le pongo no mas el XINST=OFF (aunque lueguito lo usare :-/ :-/) grax por la ayuda.

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #292 en: 10 de Marzo de 2011, 20:24:21 »
Fijate en este otro proyecto que mencionas que no hayas seleccionado en el menú
del proyecto en:

Project > Build > Options > project
          la opción de modo extendido. 'Extended Mode'
               Saludos.
                     Jukinch
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado c@Lic_0

  • PIC10
  • *
  • Mensajes: 36
    • Una tasita de cafe
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #293 en: 11 de Marzo de 2011, 14:59:23 »
hay algo que no entiendo :( :(, estoy haciendo pruebas con el LCD y hay funciones que se deben de agregar(para que puedan funcionar)al proyecto y hay otras que no es necesario agregarlas para que funcionen:

Como se obserrva en la grafica necesito agregar tanto la funcion gotoXLCD.c y putrxlcd.c para que estas funcionen de no hacerlo me aparecen errores, como se ve en el programa uso tambien otras funciones(Openxlcd(),WriteCmdXLCD(),etc.) que se encuentran en el mismo drirectorio que putrxlcd.c y no necesito agregarlas para que estas funcionen.
Por que sucede esto o como se que funciones debo colocarlas(cargarlas) y cuales no o tal vez hay alguna forma de direccionarlas en el proyecto 

Saludos.

Desconectado c@Lic_0

  • PIC10
  • *
  • Mensajes: 36
    • Una tasita de cafe
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #294 en: 15 de Marzo de 2011, 16:05:00 »
Una ayuda con las interrupciones.
Situacion:
Tengo la interrupcion de tx y rx del eusart ambas con alta prioridad activas,  me llega la interrupcion de trasmision TXIF y salta a la interrupcion, ejecuto mi programa de la interrupcion(de TXIF) y antesitos de salir :D :D de esta interrupcion se activa la bandera de RCIF(indicando que me llego un dato), despues de salir de la interrupcion volveria a entrar(a la interrupcion) por la activacion de la bandera de RCIF ?¡

Saludos.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #295 en: 15 de Marzo de 2011, 16:43:54 »
Una ayuda con las interrupciones.
Situacion:
Tengo la interrupcion de tx y rx del eusart ambas con alta prioridad activas,  me llega la interrupcion de trasmision TXIF y salta a la interrupcion, ejecuto mi programa de la interrupcion(de TXIF) y antesitos de salir :D :D de esta interrupcion se activa la bandera de RCIF(indicando que me llego un dato), despues de salir de la interrupcion volveria a entrar(a la interrupcion) por la activacion de la bandera de RCIF ?¡

Saludos.


Exactamente, sale y inmediatamente salta al vector de interrupción nuevamente.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #296 en: 16 de Marzo de 2011, 18:39:51 »
Hola compañeros, no entiendo esto:  :oops:
 
El operador & es utilizado generalmente para llevar a cero ciertos bits. Por ejemplo:

k=0xA5;
a=0xF0 & k; // a = 0xA0, k= 0xA5

¿Porque a = 0xA0 y k no varia?
¿Como se que bits se pondran a 0?

El operador | es utilizado para setear ciertos bits. Por ejemplo:

k=0x03;
a=0x40 | k; // a = 0x43, k = 0x03

¿Porque a = 0x43 y k no varia?
¿Como se que bits se van a setear?

Quiero dejar constancia del buen hacer de Suky con su tutorial C18 del cual saco dichas dudas.

Saludos y GRACIAS.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #297 en: 16 de Marzo de 2011, 18:59:16 »
Hola Miquel_s.

¿Porque a = 0x43 y k no varia?
porque estás asignando a la variable    a     el resultado de sumar a+k. Y k no se altera.
Para que la variable   k   cambie deberías igualarla a algo. Para que se le asigne un valor. Por ejemplo k=1;


El operador AND "&" compara dos bits; si los dos son 1 el resultado es 1, en otro caso el resultado será 0.

Para aprender mejor los operadores a nivel de bits te recomiendo que trabajes en formato binario. Así ves mas claras las cosas y los cambios que se hacen.

El operador AND funciona como un colador que deja pasar únicamente los bits que están en uno.

k =  0xA5=10100101
a =  0xA0=10100000
-------------------------
k & a       =10100000
( en este ejemplo dejó pasar únicamente los bits 7 y 5)



otro Ejemplo:

        c1 = 0x45      --> 01000101
        c2 = 0x71      --> 01110001
                 ---------------------------
      c1 & c2 = 0x41 --> 01000001



El operador OR  "|" compara dos bits; si cualquiera de los dos bits es 1, entonces el resultado es 1; en otro caso será 0. Ejemplo:

        i1 = 0x47      --> 01000111
        i2 = 0x53      --> 01010011
        ---------------------------
       i1 | i2 = 0x57 --> 01010111


Para convertir los números de hexadecimal a binario podés usar la calculadora de windows en modo científico o programador (windows 7) y listo. o usá
http://easycalculation.com/hex-converter.php

              Saludos.
                  Jukinch
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #298 en: 17 de Marzo de 2011, 05:22:02 »
Mira que soy BURRO, llevaba dos dias dandole vueltas y no lo veia, pues claro, en la puerta AND todo debe ser 1 para que su salida tambien sea 1 y con la OR con que solo uno de ellos sea 1 su salida sera 1.
Eso de tantos años sin estudiar electronica digital tiene sus consecuencias  :x

Gracias jukinch.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #299 en: 17 de Marzo de 2011, 17:47:48 »
Tengo un problema con la definicion y declaracion de variables en los .c y .h, tengo entendido que:

fileA.h:
extern char variable;

fileA.c:
#include "fileA.h"
char variable;

fileB.c
#include "fileA.h"
variable=50;

hasta ahi todo bien, pero si quiero usar la misma variable en otro archivo .c no puedo hacerlo...

como se hace? es todo un rollo esto de los .c y .h, alguien conoce una guia para saber q se hace y que no con estos archivos?

Lo q nose hacer es crear una variable en un archivo C, y este se incluya en un archivo B y el archivo B se incluya en el archivo A, por tanto A tendrá las variables de B y C. como hacer?

gracias.
.