TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: manex_1987 en 16 de Febrero de 2006, 03:24:00
-
Hola
Existe la directiva FUSES en ccs, pero dado que yo necesito programar unas palabras de configuracion que el ccs no "conoce", me gustaria que me explicarais como puedo programarlas dentro del programa C. Es decir:
#include <18f4550.h>
#use delay(clock=20000000)
#asm
_config blablabla
#endasm
void main()
{
}
Lo he intentado de varias maneras pero me da error "EXPECTING A DECLARATION"
gracias!
-
Mira no estoy seguro, pero lo que puedes intentar es grabar las palabras de configuración en ensamblador, especificamente para el PIC que ocupas no se en que dirección se encuentran esos registros pero te voy a poner un ejemplo para el PIC 18F452
// Para cambiar CONFIG1H direccion = 0x300001
#asm
MOVLW 30
MOVWF TBLPTRU
MOVLW 00
MOVWF TBLPTRH
MOVLW 01
MOVWF TBLPTRL
MOVLW B"XXXXXXXX" // NUEVA CONFIGURACION
MOVWF TABLAT
TBLWT*
BSF EECON1,EEPGD
BSF EECON1,CFGS
BSF EECON1,WREN
BCF INTCON, GIE // sI SE ESTA OCUPANDO INTERRUPCIONES
MOVLW 0X55
MOWF EECON2
MOVLW 0XAA
MOVWF EECON2
BSF EECON1,WR
NOP
BSF INTCON,GIE // SI SE ESTA OCUPANDO INTERRUPCIONES
#endasm
Esto es una sugerencia, no lo he probado, pero segun la hoja de datos del PIC debe funcionar.
SALUDOS
PD: también tienes que definir los registros ocupados de la siguiente manera:
#byte EECON1 = 0xFA6 , etc; dependiendo de la hoja de datos del PIC que estas ocupando
-
Intenta esto, soy nuevo con el CCS asi que me ha pasado cada cochinada =o), anda al MPLAB genera un WORD en el generador de de configration word, y obtenes tus 4 caracteres, digas FD4A, luego haces
#fuses FD4A
y listo.
Saludos Cordiales.