wxy79 Inserito: 1 aprile 2009 Segnala Share Inserito: 1 aprile 2009 Salve a tutti, vorrei chiedere un aiuto a chi è più pratico di me sul protocollo 485 che utilizza Mikrobasic. Utilizzando la seguente espressione all'interno del programma:Rs485master_Send(dat,3,$29) ottengo in uscita la seguente sequenza di byte: 0x96 0x29 0x83 0xDA 0xDB 0xDC 0x9B 0xA9 da quello che ci ho capito io: 0x96 = START byte0x29 = ADDRESS byte0x83 = LENGHT byte [0x3 (3 dati) + 0x80 (master)]0xDA = dat[0] byte0xDB = dat[1] byte0xDC = dat[2] byte0x9B = questo è il mio scoglio, ovvero non mi è chiaro l'algoritmo che usa per formulare il CRC.0xA9 = STOP byte Qualcuno saprebbe darmi qualche delucidazione a riguardo? Link al commento Condividi su altri siti More sharing options...
RESNIC Inserita: 1 aprile 2009 Segnala Share Inserita: 1 aprile 2009 Buongiorno,Dovresti entrare nella routine e vedere cosa fa... questo è il contro di utilizzare routine già fatte da terze parti.. Link al commento Condividi su altri siti More sharing options...
wxy79 Inserita: 2 aprile 2009 Autore Segnala Share Inserita: 2 aprile 2009 Purtroppo ho difficoltà ad operare con l'assembler (altrimenti mica avrei speso 150 euro per Mikrobasic).Attualmente ho problemi anche a configurare in maniera ottimale la seriale in Qbasic, in quanto risulta difficile gestire il segnale RTS (che a me serve solo in trasmissione).Sto tentando di capirci qualcosa, anche se è un vero e proprio caos... Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 3 aprile 2009 Segnala Share Inserita: 3 aprile 2009 Purtroppo come dice bene Resnic devi trovare le info sulla routine Non uso Mikrobasic quindi non sono in grado di aiutarti.Mi sembra strano che non ci sia un documento un foglioqualcosa dove dicono qual'è la formula per il calcolo del CRC. Se hai il sorgente della procedura e lo puoi inserire forse riusciamo a darti un a manoDa ultimo ti dirò che inzialmente puoi anche fregartene del CRC prendi per buono quello che ricevi sai dove sono i dati all'interno del buffer. il controllo CRC sul messaggio ricevuto potrai anche aggiungerlo successivamente Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 aprile 2009 Segnala Share Inserita: 3 aprile 2009 RS485 non è un protocollo, ma uno standard elettrico. Se non ci sono indicazioni suol tipo di protocollo, standard o proprietario, non ti si può dare aiuti. Link al commento Condividi su altri siti More sharing options...
mshadow65 Inserita: 5 aprile 2009 Segnala Share Inserita: 5 aprile 2009 CiaoSembra che la funzione che hai a disposizione "incapsuli" i tuoi dati all'interno di un datagramma relativo ad un particolare protocollo. Se la funzione che stai utilizzando per spedire i tuoi dati fa parte di una libreria del tuo basic dovresti obbligatoriamente avere una dettagliata descrizione del protocollo implementato.Come giustamente citato da Livio RS485 e' uno standard elettrico per cui il protocollo e' un elemento a parte che tu devi conoscere a priori.CiaoGianluca Link al commento Condividi su altri siti More sharing options...
wxy79 Inserita: 8 aprile 2009 Autore Segnala Share Inserita: 8 aprile 2009 (modificato) Scusatemi se mi sono spiegato male, ma come protocollo non intendevo lo standard elettrico RS485 (come qualcuno ha giustamente fatto notare), ma l'RS485 di Mikrobasic (che genera questo compilatore). A tal proposito ho effettuato una semplice prova, scrivendo queste poche righe di Mikrobasic che trovate quiUna volta compilato viene generato il file in assembler che trovate quiInserito nel microprocessore, la stringa risultate è:0x96 0x13 0x83 0x12 0x43 0x21 0x27 0xA9dove:0x96 è il byte di START0x13 è il byte di ADDRESS0x83 è il byte LENGHT0x12 è il byte DAT[0]0x43 è il byte DAT[1]0x21 è il byte DAT[2]0x27 è il byte di CRC0xA9 è il byte di STOPQualcuno esperto di assembler riesce a leggere il file e a spiegarci come si genera sto cavolo di CRC? Modificato: 8 aprile 2009 da wxy79 Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora