# Librerias de PIC´s en C



## caminante (Ene 13, 2011)

Que tal amigos soy nuevo en esto de la programación de los PIC´s aunque muy emosionado por crear mis propios proyectos me he visto en la necesidad de realizar algunos proyectos que he visto en el foro y en la web, los básicos me resultan bastante bien, pero al querer realizar uno de comunicación entre la PC y mi PIC me provoca errores. No encuentra en la carpeta las librerias que le indico por ejemplo 

#include <spi.h>
#include <usart.h>
#include <delays.h>

Mi pregunta es ¿si es necesario crear yo mismo estas librerias o las puedo bajar de algún lado, el PIC con el que estoy trabajando es el PIC18F2550.

Saludos


----------



## Pablet (Ene 13, 2011)

deduzco por las librerias que estas programando en c18 verdad?, has puesto en algun lugar donde se encuentran esas librerias? si no recuerdo mal lo hasde declarar en el menu Project > Build Project > Options (creo que era asi. . no tengo el mplab aqui ahora),y ah debes poner todos los directorios que utilizas, lib, h. . .  si lo has hecho y sgue sin encontrarlo, lo que puedes hacer es añadir esas librerias al proyecto.

Un saludo


----------



## caminante (Ene 13, 2011)

Muchas gracias por tu respuesta Pablet, estoy programando en CCs y aunque también lo he probado en  Mplab, y aun con tu recomendación no aparecen las librerias, mira los pasos que hago son: 

Abro el programa, selecciono en Project\Set language tool locations el compilador: CCS C Compiler.
Después en Configure\ Select Device, Selecciono el PIC 18F2550.
El paso siguiente es abrir Project Wizard y creo un nuevo proyecto.

Y en la ventana que me aparece copio el codigo siguiente:


```
/*
	Programa servidor de ECO
	Configuración del puerto serie: 9600, 8, N, 1
	Cuando se recibe un caracter se cambia el estado del LED RB0
*/


#include <p18f2550.h>
#include <usart.h>


void main(void) {
	unsigned char car;
	
	// configuramos puerto B como salida
	TRISB=0;   
	PORTB=0;

	// Configuramos el puerto serie
	SPBRG = 25 ; 
	TRISC = TRISC & 0xBF;  // RC6 salida
	TRISC = TRISC | 0x80;  // RC7 entrada
	TXSTA = 0x24;          // Tx control register
	RCSTA = 0x90;          // Rx control register


	// programa principal
	while (1) {
		while ( !PIR1bits.RCIF );  // Espera a que haya un dato listo
		car = RCREG;      // Lee el caracter nuevo
		PORTB ^= 0x01;    // Cambia el estado del LED
		TXREG = car;      // Manda el caracter recibido
	}
}
```

Y el error que me da es el siguiente:

Executing: "C:\Program files\Picc\CCSC.exe" +FM "probmplabc.c" +DF +LN +T +A +M +Z +Y=9 +EA
*** Error 18 "probmplabc.c" Line 3(10,23): File can not be opened
    Not in local "C:\Users\PC\Documents\Ejercicios PIC CC\Probando mplabc\pic16xxx.h"
    Not in "C:\Program Files\PICC\devices\pic16xxx.h"
    Not in "C:\Program Files\PICC\drivers\pic16xxx.h"
      1 Errors,  0 Warnings.

No puede abrir la librería PIC16xxx.h por que no la encuentra en estos directorios entonces no se si la tendré que hacer yo, o si la puedo bajar de algún sitio, si mi programa esta mal instalado, o si me dedico a otra cosa, jajjajaja.

Saludos.


----------



## Pablet (Ene 14, 2011)

eh? pero ahi pasa algo raro porque tu estas utilizando un pic18 y el esta buscando en una libreria de la serie 16(PIC16xxxx), de todas formas. .  has añadido tambien el codigo fuente al proyecto? es que te dice que no encuentra el archivo probmplabc.c, es ese tu codigo?
Un saludo


----------



## gzaloprgm (Ene 16, 2011)

Fijate, se me ocurre que por ahí en la lista de códigos fuentes del proyecto tengas algún archivo de más, no encuentro nada de probmplabc.c en internet


----------



## caminante (Ene 16, 2011)

Fijate que tenía razon mi amgigo Pablet se tienen que cargar las librerias desde antes de correr el programa.



Pablet dijo:


> si no recuerdo mal lo hasde declarar en el menu Project > Build Project > Options (creo que era asi. . no tengo el mplab aqui ahora),y ah debes poner todos los directorios que utilizas, lib, h. . .  si lo has hecho y sgue sin encontrarlo, lo que puedes hacer es añadir esas librerias al proyecto.
> 
> Un saludo



Solo, que en el directorio donde yo las traigo es C:\Archivos de Programa\ PICC, y de ahí cargo la carpeta que dice Drivers y Devices, y me carga la mayoria, solo que no encuentra algunas librerias como: spi.h y usart.h. Me gustaría saber si estas librerias se crean o se pueden bajar de algún lado. 

Saludos y Muchas Gracias por su ayuda.


----------



## Pablet (Ene 16, 2011)

bueno pues llegados aqui. .  la libreria usart.h no la encuentra simplemente porque no existe. . . . para activar la eusart en ccs has d eponer esta linea de codigo al principio pero despues del delay del clock

```
#use rs232(BAUD=9600, XMIT=PIN_C6, RCV=PIN_C7, BITS=8)
```
 en cuento a la libreria spi.h tampoco la encuentro. . .  y si miras en la libreria del pic, podras observar que esta incluida dentro de p18f2550.h. pruebalo y me dices algo.

Un saludo


----------

