Versioni dei software e problemi "inconcepibili"

11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #1 da iv3ynb
Salve a tutti, ecco il mio primo grido d'aiuto. :ohmy:

in principio pensavo di iniziare subito con MPLABX, poi per ragioni "sentimentali" sono tornato a MPLAB IDE... beh, diciamo che iniziando a leggere la guida STEP BY STEP originale, volevo utilizzare MPLAB. Poi però ho fatto un ulteriore passo, se vogliamo, indietro... mi sono buttato sui PIC16F877. La verità è che ho avuto un'occasione: ne ho avuti una trentina a costo 0, ma in formato PLCC44. Mi son fatto una demoboard adatta allo scopo e "via col C".

Oggi finalmente ho fatto le mie prime prove: dividere una word da 32bit in 4 byte per agevolare il chip DDS ed inizializzare un LCD. Dalle prove fatte in fretta sul PC dove lavoro, tutto OK, HITECH C compila e soprattutto mi INCLUDE un file sorgente lcd.c
Ho incluso il codice dello split in un classico "hello world" preconfezionato, in maniera da far girare il debugger ed osservare lo split con la finestra watch.
Faccio notare che hello world includeva in originale un file lcd.c (hello world tratto dal sito settorezero, corso C lezione sui LCD parte 2)

Arrivo a stasera, pronto a fare ulteriori passi... delusione !
Le ho provate tutte a casa, dove posso fare con più calma, ma non c'è verso. Il compilatore mi dice che quel file lcd.c non c'è !!! Quindi non lo include...
Ho incluso file di ogni genere .h .lkr , poi di nuovo ricompilato senza niente... non funziona. Il file .c non lo vuole proprio prendere.

Unica differenza fra i PC: in lab ho MPLAB v8.50 a casa v8.70 la versione di HITEC è la stessa in entrambi i PC: 9.83 in versione light, ovviamente.

Il mio codice è riportato sotto, sappiate che funziona con le seguenti inclusioni:

SOURCES
lcd.c
main.c

HEADERS
pic16f877.h

OTHER
16f877_g.lkr
PIC16F877.INC
PIC16F877.dev

Probabilmente basterà installare MPLAB 8.50, però una soluzione simile mi "suona di "sconfitta"... come può accadere una cosa simile ???
Mi sento frustrato.
Almeno me ne vado a letto tranquillo che il PicKIT3 funziona e soprattutto funziona la mia demoboard PLCC44... :dry:

#include <htc.h>
#include "lcd.h"


unsigned long mfreq = 0xFF5533; //00000000 11111111 01010101 00110011
char highest; //MSbyte
char higher;
char high;
char low; //LSbyte

void
main(void)
{
lcd_init();
lcd_goto(0); // select first line
lcd_puts("12345678");
lcd_goto(0x40); // Select second line
lcd_puts("Hello world");
//for(;; );

//divide word 32bit in 4x8bit
highest = mfreq >> 24;
higher = mfreq >> 16;
high = mfreq >> 8;
low = mfreq;

}

File allegato:

Nome del file: lcd.c
Dimensione del file:11 KB





Ultim'ora !

Prima di inviare questo messaggio sul forum, ho provato di nuovo a "smanettare" per non scrivere fesserie e, come d'incanto, pare che il file lcd.c adesso lo veda. E addirittura MPLAB IDE lo vede anche se includo nel progetto solo main.c e lcd.c (che a questo punto allego al messaggio per i più curiosi).
Adesso copio i messaggi d'errore in fondo a questo messaggio, per vs conoscenza. Domani salterò il pranzo per vedere se sul pc del laboratorio tutto funziona a puntino o se ho passato una mattina in un universo parallelo dove tutto funziona alla perfezione :blink:

Ecco gli errori, e poi buona notte... certo che se, per risolvere, uno deve tornare alla versione precedente... siamo "ben messi" :( però per il momento, penso ancora di aver cannato qualcosa , ma francamente non so cosa... chi avesse suggerimenti parli a ruota libera.

G R A Z I E
Matteo - iv3ynb



Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Programmi\Microchip\_progetti_in_C\hello_world\main.p1".
Clean Warning: File "C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.p1" doesn't exist.
Clean: Done.
Build C:\Programmi\Microchip\_progetti_in_C\hello_world\hello_world_01 for device 16F877
Using driver C:\Programmi\HI-TECH Software\PICC\9.83\bin\picc.exe

Executing: "C:\Programmi\HI-TECH Software\PICC\9.83\bin\picc.exe" --pass1 C:\Programmi\Microchip\_progetti_in_C\hello_world\main.c -q --chip=16F877 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Warning [361] C:\Programmi\Microchip\_progetti_in_C\hello_world\main.c; 23.1 function declared implicit int
Warning [361] C:\Programmi\Microchip\_progetti_in_C\hello_world\main.c; 24.1 function declared implicit int
Warning [361] C:\Programmi\Microchip\_progetti_in_C\hello_world\main.c; 25.1 function declared implicit int
Executing: "C:\Programmi\HI-TECH Software\PICC\9.83\bin\picc.exe" --pass1 C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c -q --chip=16F877 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 162.1 undefined identifier "RD3"
Warning [361] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 163.1 function declared implicit int
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 173.1 undefined identifier "RD7"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 177.1 undefined identifier "RD6"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 181.1 undefined identifier "RD5"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 185.1 undefined identifier "RD4"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 213.1 undefined identifier "RD2"
Warning [361] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 243.1 function declared implicit int
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 251.1 undefined identifier "RD2"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 312.1 undefined identifier "RD2"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 342.1 undefined identifier "RD2"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 345.1 undefined identifier "RD4"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 346.1 undefined identifier "RD5"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 347.1 undefined identifier "RD6"
Error [192] C:\Programmi\Microchip\_progetti_in_C\hello_world\lcd.c; 348.1 undefined identifier "RD7"

********** Build failed! **********

non esistono domande stupide, ma le risposte...
Allegati:
Ultima Modifica 11 Anni 7 Mesi fa da iv3ynb.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • iv3ynb
  • Avatar di iv3ynb
  • Senior Member
  • Senior Member
Di più
11 Anni 7 Mesi fa #2 da StefA
hai incluso nelle build options di Mplab Ide il percorso dove ci sono i file che utilizzi?

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #3 da iv3ynb
Appunto... ho trovato la soluzione stamane, inserendo propro la directory giusta.
Comunque sul PC del laboratorio ieri non lo avevo fatto e funzionava, però includevo un file lcd.c tratto da un "sample" delle directory, includendolo nel codice come lcd.h

se non includo un lcd.h non funziona, se includo lcd.c mi dice comunque che non lo vede...

Credo sia comunque meglio specificare sempre le directory dove pescare i files.

Grazie per l'aiuto
Matteo - iv3ynb

non esistono domande stupide, ma le risposte...
Ultima Modifica 11 Anni 7 Mesi fa da iv3ynb.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • iv3ynb
  • Avatar di iv3ynb
  • Senior Member
  • Senior Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login