Mircea Postat Mai 14, 2014 Partajează Postat Mai 14, 2014 Nigel scrie pe electro-tech-online forum ca moderator. Trebuie sa intelegi ca acele exemple au o multime de greseli pentru ca sunt scrise si rescrise, etc. D-aia n-am zis nimic la 1 si 2, sunt simple greseli. Link spre comentariu
MifTy Postat Mai 18, 2014 Partajează Postat Mai 18, 2014 2) This routine introduces a new command 'decfsz' 'Decrement File and Skip on Zero', this decrements the file register specified (in this case either count2, or count1) and if the result equals zero skips over the next line. So this first section using it, d2 decfsz count2 ,f goto d2 care este linia d2? nu vad decat d1 ?! d2 e eticheta cu care începe instrucţiunea decfsz count2,f Link spre comentariu
iuli09 Postat Mai 19, 2014 Partajează Postat Mai 19, 2014 problema e ca linia "d2" nu apare in textul programului ci numai la explicatii ; pacat de greselile din acest tutorial , spre deosebire de multe altele , acesta chiar se adresa incepatorilor . Link spre comentariu
MifTy Postat Mai 19, 2014 Partajează Postat Mai 19, 2014 apare la explicaţii pentru că e dat separat de programul principal, ca exemplu cum anume funcţionează instrucţiunea "decfsz".în program instrucţiunea apare la eticheta "Delay_0", şi acolo are o funcţionare uşor alterată faţă de cea mai simplă şi mai uşor de înţeles din comentariu... ia încearcă să foloseşti listingul înlocuind etichetele în care apare instrucţiunea aia... se modifică ceva?dar dacă le foloseşti simultan? (nu uita să defineşti şi "count2" la început!) Link spre comentariu
iuli09 Postat Mai 19, 2014 Partajează Postat Mai 19, 2014 So this first section using it, d2 decfsz count2 ,fgoto d2 decrements count2, checks if it equals zero, and if not continues to the 'goto d2' line, which jumps back and decrements count2 again, this continues until count2 equals zero, then the 'goto d2' is skipped over and count1 is decrements in the same way, this time looping back to the start of the count2 loop, so it runs again. cred totusi ca thunderer are dreptate si sunt pur si simplu erori de corelare intre explicatii si codul la care acestea se raporteaza . Imi place insa ca se merge pe explicarea unui cod(plecand de la cele mai simple) linie cu linie, punandu-se mult mai mult accent pe aspectul practic decat pe teorie. Link spre comentariu
MifTy Postat Mai 28, 2014 Partajează Postat Mai 28, 2014 nu neapărat, uneori e mai uşor de învăţat în genul: ţi se dă un exemplu, apoi un exemplu puţin greşit, nu prea tare, adică nu depăşeşte domeniul pe care se presupune că-l stăpâneşti deja. iar satisfacţia că "i-ai dat de cap singur" se mai adaugă şi la faptul că ai găsit singur şi problema, şi rezolvarea, şi cum nu ţi-a dat-o nimeni mură-n gură, ai fixat nişte cunoştinţe în plus!... Link spre comentariu
RykăElectronistul Postat Decembrie 20, 2014 Partajează Postat Decembrie 20, 2014 (editat) Salut, sunt incepator si am nevoie de ajutor. Am o aplicatie cu PIC16F84A, scrisa in assembler cu ajutorul careia vreau sa scriu in memoria EEPROM a picului, o valoare si apoi sa o citesc si sa o afisez pe un LCD. Din pacate nu reusesc sa scriu si nici sa citesc nimic. Rog pe cei care se pricep sa ma ajute. Acesta este codul: WRITE_EEPROM BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 0x00 MOVWF EEADR BCF STATUS, RP0 MOVF SET_VALUE,W BSF STATUS, RP0 MOVWF EEDATA BSF EECON1, WREN ; Enable Write EEPROM MOVLW 0x55 MOVWF EECON2 ; Write 55h MOVLW 0xAA MOVWF EECON2 ; Write AAh BSF EECON1, WR ; Set WR bitW_WR BTFSC EECON1, WR GOTO W_WR BCF EECON1, WREN ; Disable Write EEPROM BCF STATUS, RP0 RETURNREAD_EEPROM BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 0x00 MOVWF EEADR ; Address to read BSF EECON1, RD ; Read EEROMW_RD BTFSC EECON1, RD GOTO W_RD MOVF EEDATA, 0 BCF STATUS,RP0 MOVWF SET_VALUE RETURN Editat Decembrie 20, 2014 de RykăElectronistul Link spre comentariu
sofian Postat Decembrie 21, 2014 Partajează Postat Decembrie 21, 2014 Codul este bun, problema este in alta parte Link spre comentariu
RykăElectronistul Postat Decembrie 21, 2014 Partajează Postat Decembrie 21, 2014 Nu stiu ce sa cred, in simulare am urmatoarea eroare: "Attempt to write to EECON2 without EECON1 <WREN> set ignored". Problema este ca nu merge nici cu montajul realizat fizic. Link spre comentariu
10vid Postat Decembrie 21, 2014 Partajează Postat Decembrie 21, 2014 (editat) Mai intai de toate, sterge toate liniile de cod care au de a face cu bitii RP1 si IRP, pentru ca scrie clar in datasheet "these bits are not implemented". Apoi, ai setat bitul RP0 chiar inaintea instructiunii ce scrie in EEDATA, astfel acea instructiune acum scrie in EECON1, foarte probabil setand si bitul WR inainte de a executa secventa "cheie". EEDATA si EEADR se afla in bank 0, EECON1 si EECON2 in bank 1. Editat Decembrie 21, 2014 de 10vid Link spre comentariu
RykăElectronistul Postat Decembrie 22, 2014 Partajează Postat Decembrie 22, 2014 Multumesc pt. ajutor! Am modificat linile de cod gresitie, acum pot sa scriu si sa citesc memoria EEPROM. Link spre comentariu
FPGA Postat Decembrie 23, 2014 Partajează Postat Decembrie 23, 2014 Daca incep de la 0 cu PIC-urile ce limbaj imi recomandati? asamblare,C,....?... Link spre comentariu
Mircea Postat Decembrie 23, 2014 Partajează Postat Decembrie 23, 2014 Ai lucrat/invatat vreodata un limbaj de programare? Daca da, atunci continua cu acelasi limbaj.Daca pornesti de la zero, cunoscatorii zic ca C e cel mai bun, pentru amatori Basic-ul e suficient. ASM daca iti plac lucrurile abstracte.Sugerez sa te axezi pe un compilator care vine cu biblioteci ca sa poti implementa orice fara multe batai de cap. La pretul PIC-urilor, nu mai merita sa faci optimizari ale programelor. Repet, in regim de amator.Niste exemple de compilatoare:C - XC8 de la Microchip. MikroCBasic - Mikrobasic, PicbasicPascal - Mikropascal. Link spre comentariu
ardiles Postat Decembrie 24, 2014 Partajează Postat Decembrie 24, 2014 intrebare de novice: daca activez pull-up-ul intern pe un pin al unui micrcocontroler, si acea intrare sta pusa la masa mult timp, cat de mari sunt sansele ca acea intrare sa se buseasca? Link spre comentariu
Mircea Postat Decembrie 24, 2014 Partajează Postat Decembrie 24, 2014 Sanse nule! Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum