Microcontroladores PIC en Linux.
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Libreria de Retardos SDCC

2 participantes

Ir abajo

Libreria de Retardos SDCC Empty Libreria de Retardos SDCC

Mensaje por litox9 Vie 18 Sep 2009 - 11:51

Voy a empezar a ver si puedo hacer una libreria de retardos para sdcc, mi idea es cojer una libreria de retardos en ensamblador y aprovechando que sdcc acepta asm convertirla a sdcc.
¿Os parece buena idea? ¿Veis algun problema?
Mientras voy a buscar la libreria.
Un saludo
litox9
litox9
Asiduo del Foro
Asiduo del Foro

Mensajes : 101
Fecha de inscripción : 14/04/2009

http://litox.entramado.net/

Volver arriba Ir abajo

Libreria de Retardos SDCC Empty Re: Libreria de Retardos SDCC

Mensaje por per Sáb 19 Sep 2009 - 15:18

Hice un fichero tempo.c que usaba con sdcc, pero puedes mejorar, aqui el cuarzo tiene un valor fijo de 4MHZ

// tempo.c
// temporisation
#define __16f877
#include <pic16f877.h>
// quartz de 4MHz
void tempo_4us(char);
void tempo_ms( unsigned int);
void tempo_s( unsigned char);
void tempo_4us ( char a )
{
a;// pour eviter un warning de non referencement
_asm //a est en fait dans le registre w
sublw 1 //(1-a)
boucle:
ADDLW 1
btfss 0x03,0 //test si w=0 carry=1
goto boucle
_endasm;
} //temps=(4a+1)µs a>=2
void tempo_ms( unsigned int t) {
while (t) {
tempo_4us(247);
t--;
}
}
void tempo_s( unsigned char t) {
while (t) {
tempo_ms(1000);
t--;
}
}

Aqui más http://per.launay.free.fr/pik_digor/sdcc/lib/source/

Sino tu puedes usar las bibliotecas de PICGCC y modificar para usar con SDCC
http://sourceforge.net/projects/pic-gcc-library/files/Pic-Gcc-Library/Pic-Gcc-Library.1.1.10/pic-gcc-library.1.1.10.tar.gz/download

Todas estas bibliotecas estan libre, licencia GPL

Saludos

Per

per
Participante Activo
Participante Activo

Mensajes : 64
Fecha de inscripción : 08/12/2008
Localización : Rennes Bretaña Francia Europa

http://per.launay.free.fr

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.