Problema con le librerie esterne a C18

11 Anni 9 Mesi fa #6 da StefA
Risposta da StefA al topic Re: Problema con le librerie esterne a C18
ok, nelle ultime versioni delle librerie di Mauro, ha preferito rilasciare i file .c e .h così da ricompilare tutto per ogni progetto ed eliminare problemi di compatibilità inclusione..ecc.
Le librerie non si compilano come i progetti, ma in modo diverso, immagino però che tu l'abbia già letto sul C18 stp by step.
Comunque per compilare la GLCD_KS0108B.lib, prova sia a utilizzare i file delay.c e delay.h (prima prova), sia (seconda prova) a utilizzare i file .h e .lib.

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 9 Mesi fa #7 da aduri
Risposta da aduri al topic Re: Problema con le librerie esterne a C18
Sì ho letto l'ottimo tutorial di Mauro infatti la delay.lib l'ho ottenuta col sistema spiegato nel tutorial.
Ho anche compilato, seguendo i suoi esempi, la libreria intEEPROM.lib che non aveva al suo interno linkata altre librerie.

Riguardo la GLCD_KS0108B proverò a fare come dici ma ..... mi sembra strano dover linkare il delay.c e.h invece della delay.lib.....che avevo già ottenuto.

Non mi sono ancora familiari alcuni meccanismi per cui ho grandi dubbi e mi stoppo spesso.

ciao
Antonio

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

  • aduri
  • Avatar di aduri
  • Junior Member
  • Junior Member
Di più
11 Anni 9 Mesi fa #8 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Problema con le librerie esterne a C18
Ciao,

effettivamente nel testo parlo di librerie .lib ma alla fine torna piu' facile utilizzare il file .h e .c
Questo weekend rilascero' le nuove librerie che sono compatibili sia con C18 e XC8, e l' aver usato l' approccio dei file da ricompilare semplifica la vita perche' ricompilando in ogni progetto non bisogna preoccuparsi del target device (PIC).

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 9 Mesi fa #9 da aduri
Risposta da aduri al topic Re: Problema con le librerie esterne a C18
Grazie a tutti ho risolto mettendo nel progetto solo i file .c e .h.

Comunque sono andato avanti ed ho provato diversi esempi che sono andati a buon fine fino a che con l'esempio X che gestisce l'LCD la compilazione con l'inserimento della LCD_44780.lib creata precedentemente mi dava sempre errore causata sempre dalla delay quindi ho fatto come per le librerie ed ho inserito tutti i file main.c LCD_44780.c e delay.c ed i relativi .h e l'errore su delay è sparito ma purtroppo ne è apparso un altro:

main c: 55 ERROR [1105] symbol 'turn-on' has not been defined

A questi puntii era inutile creare la delay.lib se non la si può usare all'interno di un'altra libreria edi anche le altre librerie esterne non vanno caricate come .lib ma solo i relativi .c e .h.

Probabilmente questa mia ultima affermazione è da profano del C ma vi pregherei di farmi capire.

grazie ancora

P.S. Mi serve un pò di aiuto all'inizio poi spero di andare avanti con le mie gambe

Antonio

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

  • aduri
  • Avatar di aduri
  • Junior Member
  • Junior Member
Di più
11 Anni 9 Mesi fa #10 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Problema con le librerie esterne a C18
Ciao Antonio,

iniziare e' sempre un po' frustrante.
In piu' mi ci metto pure io che cambio il nome delle funzioni e costanti! :)

Per uniformare il nome delle varie librerie ho cambiato il nome della costante in TURN_ON_LED

Quando hai errori di questo tipo controlla sempre i file .h e il nome delle costanti o funzioni.
Anche quando cambio nome il nuovo nome si avvicina molto al vecchio.

Nella versione 3.0 che rilascero' domani, la libreria LCD ha subito cambiamenti su tutte le funzioni riadattando il nome agli standard delle altre.

Non l'ho mai fatto prima, ma ho colto l' occasione del porting in XC8 per fare questo cambiamento.
Ora tutte le funzione GLCD, LCD, LCD I2C, hanno un nome praticamente uguale solo la fine termina diversamente.

Quindi troverai altri degli errori sotto.
In generale un cambio di nome genera l' errore sotto quando associato ad una costante.
Una funzione con nome diverso genera un errore leggermente diverso ma con la stesso significato.

...quando andrai avanti con le tue gambe aiuterai gli altri ad andare con le loro! :)

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

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

Registrati al sito LaurTec.

Login