Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Résolus Lecture DS18B20 16F887
Bonjour et bonne année a tous,
j'essai de lire une sonde DS18B20 avec un PIC 16F887 sous MPLAB X IDE et compilateur XC8 mode 90.
J'ai téléchargé un programme de démo pour le modifier (sans modif il ne tourne pas).
Le but final est de l'utiliser avec un autre programme.
Voici les erreures:
Main.c:31:7: warning: (107) illegal # directive "device"
Main.c:31:9: warning: (163) unexpected text in control line ignored
Main.c:33:4: warning: (107) illegal # directive "use"
Main.c:33:6: warning: (163) unexpected text in control line ignored
1wire.c:13:1: warning: (361) function declared implicit int
make[2]: *** [build/default/production/1wire.p1] Error 1
1wire.c:13:12: error: (192) undefined identifier "PIN_C6"
make[2]: *** Waiting for unfinished jobs....
1wire.c:14:1: warning: (361) function declared implicit int
1wire.c:15:1: warning: (361) function declared implicit int
1wire.c:32:12: error: (192) undefined identifier "PIN_C6"
1wire.c:34:1: warning: (361) function declared implicit int
1wire.c:34:20: warning: (361) function declared implicit int
1wire.c:54:12: error: (192) undefined identifier "PIN_C6"
1wire.c:58:21: warning: (361) function declared implicit int
(908) status = 1
nbproject/Makefile-default.mk:138: recipe for target 'build/default/production/1wire.p1' failed
1wire.c:13:1: warning: (361) function declared implicit int
1wire.c:13:12: error: (192) undefined identifier "PIN_C6"
1wire.c:15:1: warning: (361) function declared implicit int
1wire.c:32:12: error: (192) undefined identifier "PIN_C6"
1wire.c:34:1: warning: (361) function declared implicit int
1wire.c:34:20: warning: (361) function declared implicit int
1wire.c:54:12: error: (192) undefined identifier "PIN_C6"
1wire.c:58:21: warning: (361) function declared implicit int
Main.c:97:1: warning: (361) function declared implicit int
Main.c:97:15: error: (192) undefined identifier "RTCC_INTERNAL"
Main.c:97:29: error: (192) undefined identifier "RTCC_DIV_1"
Main.c:98:1: warning: (361) function declared implicit int
Main.c:98:15: error: (192) undefined identifier "T1_DISABLED"
Main.c:99:1: warning: (361) function declared implicit int
Main.c:99:15: error: (192) undefined identifier "T2_DISABLED"
Main.c:118:1: warning: (361) function declared implicit int
Avez-vous une idée pour m'en sortir.
Cdt.
Marcus
j'essai de lire une sonde DS18B20 avec un PIC 16F887 sous MPLAB X IDE et compilateur XC8 mode 90.
J'ai téléchargé un programme de démo pour le modifier (sans modif il ne tourne pas).
Le but final est de l'utiliser avec un autre programme.
Voici les erreures:
Main.c:31:7: warning: (107) illegal # directive "device"
Main.c:31:9: warning: (163) unexpected text in control line ignored
Main.c:33:4: warning: (107) illegal # directive "use"
Main.c:33:6: warning: (163) unexpected text in control line ignored
1wire.c:13:1: warning: (361) function declared implicit int
make[2]: *** [build/default/production/1wire.p1] Error 1
1wire.c:13:12: error: (192) undefined identifier "PIN_C6"
make[2]: *** Waiting for unfinished jobs....
1wire.c:14:1: warning: (361) function declared implicit int
1wire.c:15:1: warning: (361) function declared implicit int
1wire.c:32:12: error: (192) undefined identifier "PIN_C6"
1wire.c:34:1: warning: (361) function declared implicit int
1wire.c:34:20: warning: (361) function declared implicit int
1wire.c:54:12: error: (192) undefined identifier "PIN_C6"
1wire.c:58:21: warning: (361) function declared implicit int
(908) status = 1
nbproject/Makefile-default.mk:138: recipe for target 'build/default/production/1wire.p1' failed
1wire.c:13:1: warning: (361) function declared implicit int
1wire.c:13:12: error: (192) undefined identifier "PIN_C6"
1wire.c:15:1: warning: (361) function declared implicit int
1wire.c:32:12: error: (192) undefined identifier "PIN_C6"
1wire.c:34:1: warning: (361) function declared implicit int
1wire.c:34:20: warning: (361) function declared implicit int
1wire.c:54:12: error: (192) undefined identifier "PIN_C6"
1wire.c:58:21: warning: (361) function declared implicit int
Main.c:97:1: warning: (361) function declared implicit int
Main.c:97:15: error: (192) undefined identifier "RTCC_INTERNAL"
Main.c:97:29: error: (192) undefined identifier "RTCC_DIV_1"
Main.c:98:1: warning: (361) function declared implicit int
Main.c:98:15: error: (192) undefined identifier "T1_DISABLED"
Main.c:99:1: warning: (361) function declared implicit int
Main.c:99:15: error: (192) undefined identifier "T2_DISABLED"
Main.c:118:1: warning: (361) function declared implicit int
Avez-vous une idée pour m'en sortir.
Cdt.
Marcus
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par marcus_95 le jeu. 9 janv. 2020 13:30, modifié 1 fois.
Lecture DS18B20 16F887
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir,
TOn post est très peu lisible . ca gache la lecture !.
Mais les lignes de code dans un citation par exemple. ou dans une balise code.
Ca sent le problème de configuration des fichiers au départ et des varaiables mal déclarée. Mais je ne connais pas MPLABX .
Tupeux essayé de trouver les lignes fautives en les supprimant au fur et à mesure
Bon courage
TOn post est très peu lisible . ca gache la lecture !.
Mais les lignes de code dans un citation par exemple. ou dans une balise code.
Ca sent le problème de configuration des fichiers au départ et des varaiables mal déclarée. Mais je ne connais pas MPLABX .
Tupeux essayé de trouver les lignes fautives en les supprimant au fur et à mesure
Bon courage
Lecture DS18B20 16F887
Lecture DS18B20 16F887
Lecture DS18B20 16F887
Lecture DS18B20 16F887
Bonjour
Commence par faire un programme simple avec XC8.
Une fois que la led clignotera à la bonne vitesse, tu pourras passer au bus 1-wire.
Essaye celui-là. Si tu utilises un simulateur logiciel, j'y connais rien.
Commence par faire un programme simple avec XC8.
Une fois que la led clignotera à la bonne vitesse, tu pourras passer au bus 1-wire.
Essaye celui-là. Si tu utilises un simulateur logiciel, j'y connais rien.
Code : Tout sélectionner
// 16F887 avec quartz 20MHz
// led B0 clignotante chaque seconde
#include <xc.h>
#define _XTAL_FREQ 20000000
#pragma config FOSC = HS // HS oscillateur
#pragma config WDTE = OFF // watchdog off
void main(void)
{
OSCCON = 0b01111000; // HS oscillateur
ANSEL = 0; // I/O numériques
ANSELH = 0; // I/O numériques
TRISBbits.TRISB0 = 0; // output led sur B0
while(1)
{
PORTBbits.RB0 = 1; // led on
__delay_ms(1000); // 1 seconde
PORTBbits.RB0 = 0; // led off
__delay_ms(1000); // 1 seconde
}
}
Lecture DS18B20 16F887
Lecture DS18B20 16F887
Lecture DS18B20 16F887
j' ai fait un essai et ça compile
reste a lire la sonde DS18B20 ....
Code : Tout sélectionner
// 16F887 avec quartz 20MHz
// led B0 clignotante chaque seconde
#include <xc.h>
#include <htc.h>
#include <stdlib.h>
#include <ctype.h>
#define _XTAL_FREQ 20000000
#pragma config FOSC = HS // HS oscillateur
#pragma config WDTE = OFF // watchdog off
#define ONE_WIRE_PIN PORTDbits.RD0
#define ONE_WIRE_LOW TRISA = 0b00000000; RD0=0;
#define ONE_WIRE_HIGH TRISA = 0b00000001;
#define delay_us(x) { unsigned char us; \
us = (x)/(12000000/FOSC)|1; \
while(--us != 0) continue; }
void main(void)
{
OSCCON = 0b01111000; // HS oscillateur
ANSEL = 0; // I/O numériques
ANSELH = 0; // I/O numériques
TRISBbits.TRISB0 = 0; // output led sur B0
while(1)
{
PORTBbits.RB0 = 1; // led on
__delay_ms(1000); // 1 seconde
PORTBbits.RB0 = 0; // led off
__delay_ms(1000); // 1 seconde
}
}
void _delay_ms(unsigned int ms)
{
unsigned char i;
do {
i = 4;
do {
__delay_us(164);
} while(--i);
} while(--ms);
}
void onewire_init() // OK if just using a single permanently connected device
{
//onewire_disable_interrupts(TRUE);
ONE_WIRE_LOW;
__delay_us( 500 ); // pull 1-wire low for reset pulse
ONE_WIRE_HIGH; // float 1-wire high
__delay_us( 80 ); // wait for presence pulse, allowing for device variation
__delay_us( 420 ); // wait-out remaining initialisation window.
ONE_WIRE_HIGH; //float 1-wire pin
//onewire_disable_interrupts(FALSE);
}
reste a lire la sonde DS18B20 ....
Lecture DS18B20 16F887
les lignes en trop ->
car xc8 te fournit les macros
__delay_ms(long)
__delay_us(long)
Par contre il faut que tu démarres le port série pour afficher le résultat de la mesure, et là faut se taper le datasheet.
https://electrosome.com/uart-pic-microc ... mplab-xc8/
Code : Tout sélectionner
#include <htc.h>
#define delay_us(x) { unsigned char us;
us = (x)/(12000000/FOSC)|1; \
while(--us != 0) continue; }
void _delay_ms(unsigned int ms)
{
unsigned char i;
do {
i = 4;
do {
__delay_us(164);
} while(--i);
} while(--ms);
}
car xc8 te fournit les macros
__delay_ms(long)
__delay_us(long)
Par contre il faut que tu démarres le port série pour afficher le résultat de la mesure, et là faut se taper le datasheet.
https://electrosome.com/uart-pic-microc ... mplab-xc8/
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 56 invités