Autor Tema: Un poco confundido  (Leído 3570 veces)

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

Desconectado Carafa

  • PIC10
  • *
  • Mensajes: 12
Un poco confundido
« en: 13 de Noviembre de 2003, 16:51:00 »
Antes de nada, saludar a todo el mundo.

Después, hecha la cortesía, me gustaría que me respondierais a una pregunta. Os pongo en antecedentes: no he programado nunca un pic, sólo he hecho algunas prácticas y no hemos llegado más que a una somera simulación. Ahora que estoy haciendo mi proyecto de final de carrera, oh sorpresa, me ha tocado hacerlo con uno de estos cacharros. Bueno, he hecho mis programas con el Picc pero mi duda surge a la hora de seleccionar el tipo de oscilador, el WDT, el BOR, etc...

Veamos, ahí voy, ¿cómo lo selecciono? ¿Mediante programa? Hago algo así como:

FOSC0 = 1; FOSC1 = 0; si quiero usar cristal de 4MHz e igual con el resto de bits de la configuration word (WDTEN, PWREN, CPO, BOREN)?

¿O bien son cosas que se seleccionan una vez se vaya a programar el chip (utilizo picstart)?

Y otra cosa: ¿para qué sirve el bit CPO (protección de código)? No pillo :x

Me lío

Muchas gracias por alumbrar el camino ^^

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Un poco confundido
« Respuesta #1 en: 13 de Noviembre de 2003, 23:57:00 »
Hola Carafa, bienvenido.

Después del #include, mete la siguiente directiva:

#fuses XT, NOPROTECT, NOPUT, NOWDT, NOLVP, NOCPD

uN SALUDO

Desconectado Carafa

  • PIC10
  • *
  • Mensajes: 12
RE: Un poco confundido
« Respuesta #2 en: 14 de Noviembre de 2003, 04:48:00 »
Muchas gracias por la molestia,  Pocher. Aunque lo he probado y no me ha funcionado. De hecho creo que fuí un poco parco en los datos del compilador que usaba. Uso el Hi-Tech picc lite, es decir, lo más cutre de lo más cutre (básicamente porque mi universidad es así de esplendida y sólo tienen este, sic).

¿Sabes cómo hacerlo en ese compilador?

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Un poco confundido
« Respuesta #3 en: 14 de Noviembre de 2003, 09:55:00 »
El de HITECH hace mucho tiempo que no lo toco, ahora uso el de CCS.

Te recomiendo que te agencies el manual del compilador.

En un manual para PIC18 de HITECH que tenía por el disco duro he encontrado lo siguiente, no sé si te servirá:

4.2.2 Configuration Fuses
The PIC18 processor’s have several locations which contain the configuration bits or fuses. These bits
may be set using the configuration macro. The macro has the form:
__CONFIG(n, x)

(there are two leading underscore characters) where n is the configuration register number and x is the
value that is to be the configuration word. The macro is defined in <pic18.h> so be sure to include that
into each module that uses this macro.
The configuration macro programs the upper and lower half of each register, i.e. it programs 16 bits with
each call. Special named quantities are defined in the header file appropriate for the processor you are
using to help you enable the required features. See Table 4 - 1 on page 69 for the available configuration
bit settings associated with the 18Cxxx chip types, and See Table 4 - 2 on page 70 for the settings for
flash devices.
For example, to set a PIC18Cxx1 chip to have an RC type oscillator, an 8-bit bus width, the powerup
timer disabled, the watchdog timer enabled with a post scale factor of 1:1, and the stack full/underflow
reset disabled, the following could be used.
#include <pic18.h> __CONFIG(1, RC); __CONFIG(2, BW8 & PWRTDIS & WDTPS1 & WDTEN); __CONFIG(4, STVRDIS);
Note that the individual selections are ANDed together. Any bits which are not selected in these macros
will remain unprogrammed. You should ensure that you have specified all bits correctly to ensure proper
operation of the part when programmed. Consult your PIC datasheet for more details.
The __CONFIG macro does not produce executable code and should be placed outside function
definitions.

Un saludo

Desconectado solid84

  • PIC12
  • **
  • Mensajes: 56
RE: Un poco confundido
« Respuesta #4 en: 14 de Noviembre de 2003, 09:58:00 »
que tal carafa por que no lees el archivo header pic.h que es header global para los pics 16xxxx

ahi podras encontrar los valores que tienes que colocar para su configuracion te pongo un ejemplo en hi tech de la palabra de configuracion

    __CONFIG(0x3FF1);


   en este caso el reloj es en xt
   el wdtimer es apagado
   el powre on reset es activo
   y el codigo de proteccion esta apagado

esta es la instruccion para hi tech y te repito busca en el archivo header del pic los bits de config y los pisibles valores y otra forma de hacerlo es un truco en el mplab 6.xx

entra en la pestaña configure y en configuration bits
y ahi puedes seleccionar wdt, osc  etc. etc  y conforme hagas las combinacion aparece el valor de la palabra de configuracion saludos

Desconectado Carafa

  • PIC10
  • *
  • Mensajes: 12
RE: Un poco confundido
« Respuesta #5 en: 14 de Noviembre de 2003, 13:31:00 »
Muchas gracias!

Parece que funciona, el lunes lo programaré y a ver si hace lo que debe (espero que sí ). Creo que como premio os mereceis estar en los agradecimientos de mi proyecto (bueno, ya sé que no es mucho pero de todas maneras yo lo hago por amor al arte, o sea que... ).

Ya os comeré la cabeza con otras cosas que me vayan saliendo.

Por cierto, haciendome un poco pesado y ya sólo por curiosidad, ¿lo de la protección de código qué es exactamente? Me lo imagino, pero yo tengo mucha imaginación y si me pongo a pensar al final aparece el bit CPO salvando a la princesa... mejor preguntar.

Salu2!

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Un poco confundido
« Respuesta #6 en: 14 de Noviembre de 2003, 14:26:00 »
La proteccion de codigo activa cuando estas grabando el PIC obliga al compilador hexadecimal a realizar un scramble con los bits del programa.
De esa forma ni el mismo desarrollador puede levantar ese programa una vez grabado, protegiendo la propiedad intelectual del programador.
El inconveniente de utilizarlo es que debes estar seguro que lo que hiciste esta bien, pues algunos modelos de PIC no te permiten volver a grabarlos una vez utilizada (aunque sea del tipo flash), especialmente tendras problemas con los de ventana de borrado ultravioleta.

Muy lindo pero tener cuidado al utilizarlo!!!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Carafa

  • PIC10
  • *
  • Mensajes: 12
RE: Un poco confundido
« Respuesta #7 en: 14 de Noviembre de 2003, 15:04:00 »
Muchas gracias! Una duda existencial menos...

Ahora sólo me queda saber de dónde vienen los niños

Salu2!

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Un poco confundido
« Respuesta #8 en: 15 de Noviembre de 2003, 05:36:00 »
Yo ya no me creo mas eso de la cigueña, yo pese 3,800 Kg al nacer y ella pesa menos, como hizo para traerme???
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.