Page 1 of 1

Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 14:28
by Fledge2b
Salve sto sviluppando un codice per una scheda che ha il compito di lettura di Rfid per mezzo di un integrato HTRC11001T e un processore ATMEGA168V sono arrivato a un buon punto ma non riesco a portarlo a termini.
Chiedevo se a pagamento potevo avere un aiuto ho gia gran parte del codice , schema della scheda funzionante mi manca un aiuto professionale.
Fatemi sapere

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 14:53
by Fagos
ciao fledge,
uhm, di che aiuto hai di bisogno? perchè parli di aiuto professionale?
la tua richiesta di aiuto su ricompensa mi sembra un pò fuori dai canoni. comunque spiegati meglio.

ciao

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 17:37
by Fledge2b
Scusami il sistema ma dopo qualche notte insonne ti abbassi a tutto, Ti spiego: o un circuto "collaudato" che se mi dai un email ti spedisco lo schema elettrico e il codice , che deve leggere 16 antenne rfid con un sistema sequenziale in piu devo accendere 16 led e comunicare in rs485. La comunicazione e io dei led non ho problemi il problema nasce quando cerco di leggere i dati rfid per mezzo di una procedura di esempio che mi sono scaricato dai esempi Bascom il sistema si impalla e non mi permette di riprogrammarlo e non capisco il motivo. Mi puoi aiutare anzi sbloccarmi da questo stallo Grazie

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 18:16
by Fledge2b
PS allego file e schema Ciao Grazie

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 18:21
by Fledge2b
Ecco lo schema

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 18:22
by Fledge2b
e questo il mio codice

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 18:23
by Fledge2b
codice scusami le lungaggini

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 19:05
by deluca
ciao fledge,
intanto benvenuto al forum,
ho dato un'occhiata al tuo firmware...... cosa devo dire:

(struttura del codice alquanto impropria nella gestione della seriale e degli interrupt).

Potresti linkare da dove hai tirato fuori la gestione dell' HTRC11001T ?
Quale versione di Bascom stai usando?

scusa x le segnalazioni ma bisognerebbe rivedere tutta la struttura del codice.
ciao

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 19:17
by Fledge2b
e per questo che chiedo un aiuto professionale cosi da capire come devo programmare
Ciao e Grazie

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 19:48
by Fagos
qui si sta parlando di un lavoro a tutti gli effetti :)

qui è necessario l'intervento di mister DG :)

scusa fledge, ma secondo la mia opinione, visto che questo non è un forum commerciale,
difficilmente troverai qualcuno disposto ad aiutarti riscrivendoti in todos il codice.

prova ad analizzare insieme a noi il tuo codice, magari aggiungendo un pò di commenti così da auto-aiutarti a comprenderlo meglio.

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 28 Jan 2013, 19:53
by Fledge2b
ok grazie come vi dicevo mi metto a disposizione fledge2b@gmail.com e una mia guerra privata Ciao

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 29 Jan 2013, 15:11
by Fledge2b
Grazie dell' interesse e scusatemi se corro troppo , ho snellito il codice per capire se riesco a leggere solo la prima antenna (andiamo per gradi essendo un autodidatta) programmo in VB che e tutta un'altra cosa. Bene il codice per HTRC11001T lo ricavato dai esempi di Bascom per la precisione AN#180 su questo stralcio di codice mi potete dare 2 / 3 dritte Ciao e grazie

PS il firmware in C non sviluppato da me ce lo gia solo che volevo svilupparlo in Bascom

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 29 Jan 2013, 19:12
by deluca
Salve fledge2b,
benvenuto al forum...
ma, volevo puntualizzare che questo forum non è realizzato per fini commerciali, nè tantomeno è possibile chiedere aiuto sotto ricompenso.
Noi siamo qui solo per dare una mano ai neofiti, agli hobbisti, studiosi e studenti, per condividere conoscenze ed esperienze e non certo per eseguire lavori conto terzi.

Tuttavia, visto che non vogliamo scoraggiarti, ti ho snellito e strutturato il codice seguendo le pseudo-norme di stesura funzionale.
Prova e fammi sapere.
PS. con il quarzo di 8MHz non potrai ottenere 19200baud senza %error.

Ciao

Code: Select all
'------------------------[ modificato by G. De Luca ]---------------------------
$regfile = "m168def.dat"
$crystal = 8000000
$baud = 19200
$hwstack =64
$swstack = 64
$framesize =64
'------------------------[  qui configura il modulo Hitag ]---------------------
Config Hitag = 64 , Type = Htrc110 , Dout = Pinb.0 , Din = Pinb.1 , Clock = Pind.6 , Int = @int0

Dim Tags(5) As Byte                                         'each tag has 5 byte serial
Dim J As Byte                                               ' a loop counter
Open "com1:" For Binary As #1

Ddrc.3 = 1
Ddrd.7 = 1
    G2a Alias Portc.3
En_vtag Alias Portd.7

'-------------------[ qui configura gli interrupts ]----------------------------
On Int0 Checkints
Config Int0 = Change
Enable Interrupts
'-------------[ questa parte è di tua competenza ]------------------------------

      Set En_vtag
      Set G2a

      Portc = &B001                                   '? cosa sarebbe ?
      'se reimposti la PORTC reimposti la G2a (?)
'----------------------[ qui inizia il programma ]------------------------------
Main:
Do
   If Readhitag(tags(1)) = 1 Then                           'check if there is a new tag ID
      For J = 1 To 5                                        'print the 5 bytes
         Print Hex(tags(j)) ; ",";
      Next
   Else                                                     'there was nothing
      Print "Nothing"
   End If
   Waitms 500                                               'some delay
Loop
'-------------------------------------------------------------------------------
End
'---------[ questa routine viene chiamata dall'interrupt routine ]--------------
Checkints:
   Call _checkhitag
Return

Re: Sviluppo di codice per Rfid HTRC11001T

PostPosted: 29 Jan 2013, 21:19
by Fledge2b
Grazie , come hai capito questo non e il mio lavoro . Lo faccio per hobby e il mio guadagno imparare qualcosa di nuovo .
per me e quasi un gioco delle parole incrociate e che arrivi ad un stallo al punto di aquistare le risposte
analizziamo un po il codice


Code: Select all
'------------------------[ modificato by G. De Luca ]---------------------------
$regfile = "m168def.dat"
$crystal = 8000000
$baud = 19200
$hwstack =64
$swstack = 64
$framesize =64
'------------------------[  qui configura il modulo Hitag ]---------------------
Config Hitag = 64 , Type = Htrc110 , Dout = Pinb.0 , Din = Pinb.1 , Clock = Pind.6 , Int = @int0

Dim Tags(5) As Byte                                         'each tag has 5 byte serial
Dim J As Byte                                               ' a loop counter
Open "com1:" For Binary As #1

Ddrc.3 = 1
Ddrd.7 = 1
    G2a Alias Portc.3
En_vtag Alias Portd.7

'-------------------[ qui configura gli interrupts ]----------------------------
On Int0 Checkints
Config Int0 = Change
Enable Interrupts
'-------------[ questa parte è di tua competenza ]------------------------------

      Set En_vtag
      Set G2a

' Se si osserva lo schema, escludiamo il sequenziale delle antenne Portc = &B001 attivo la seconda antenna oppure Portc = &B000 la prima e cosi' via  (Puo andare con il tester sembra che le uscite sono attivate in base di 3 bit o e meglio Portc = &B00000000 ecc.

      Portc = &B001                                   '? cosa sarebbe ?

      'se reimposti la PORTC reimposti la G2a (?)    ' questo ammetto e una Gaff ' su questa parte ammetto che devo curarla meglio


'----------------------[ qui inizia il programma ]------------------------------
Main:
Do
   If Readhitag(tags(1)) = 1 Then                           'check if there is a new tag ID
      For J = 1 To 5                                        'print the 5 bytes
         Print Hex(tags(j)) ; ",";
      Next
   Else                                                     'there was nothing
      Print "Nothing"
   End If
   Waitms 500                                               'some delay
Loop
'-------------------------------------------------------------------------------
End
'---------[ questa routine viene chiamata dall'interrupt routine ]--------------
Checkints:
   Call _checkhitag
Return



Grazie mi sei stato molto di aiuto devo cambiare modo di pensare, adesso ci lavoro un po

Ciao