nico_2010 Postat Noiembrie 12, 2015 Partajează Postat Noiembrie 12, 2015 @Mifty: Da' permisiune ai acordat programului pentru utilizarea portului serial? Caci daca nu erori primesti! L.E. Incearca si asta: Click dreapta pe icon-ul programului --> Properties--> Compatibility tab--> Run compatibility mode --> si aici iti selectezi cu ce OS sa fie compatibil (XP, Win& ... ) --> Apply --> Repornire program L.L.E.: Asa imi vin ideiile, in rate. Cand ai instalat programul l-ai instalat cu " Run as administrator" ? Se pare ca si altii au aceeasi problema: https://translate.google.ro/translate?hl=en&sl=de&u=http://www.mikrocontroller.net/topic/189159&prev=search 1 Link spre comentariu
MifTy Postat Noiembrie 28, 2015 Partajează Postat Noiembrie 28, 2015 capitolul "dubioşenii", subcapitolul "pitici au şi mcu-urile, nu doar windowsul":- am suflat praful de pe un antic laptop Toshiba "designed for win98", pe care instalasem eu, cu mânuţele mele, win 98-ul... acum aproape 4 ani! - am încercat întâi cu vechiul meu siprog pe serială... şi cu poneiul, şi cu avrdude, aceeaşi treabă: -1 sau -24, după caz (-1 zice avrdude, -24 poneiul, dar semnificaţia e aceeaşi)- după două zile în care n-am apucat să mai apuc nişte minute de linişte, am făcut un bsd pe paralelă, iar -1. m-am mai gândit un pic... şi am pus alt atmega8. de data asta, unul mai recent: atmega8L: succes!!!m-am uitat să văd ce atmega8 e ăla cu care primeam eroare: e "bătrânelul" de la Laci... atmega8-16... din două una: ori e defect, ori 4.75 volţi nu-i ajung ca să-l alimentez... vedem... mai vedem şi dacă e defect siprogul, cum am crezut eu... chit că bsd-ul se mişcă repejor, pe win98 trebuie să scriu texte în linia de comandă... bine, o să scriu doar odată, aşa că... partea bună e că din câte am mai citit pe aici, pot folosi liniştit atmega8L-ul pentru un usbasp home made. şi dacă mă enervează mult fierul ăla de călcat, îl fac pe plăcuţă cu găurele! Link spre comentariu
PKP98 Postat Ianuarie 25, 2016 Partajează Postat Ianuarie 25, 2016 Salutare! Doresc sa invat si eu ceva programare si pentru inceput as vrea sa stiu si eu de ce am nevoie. 1.Ce program imi recomandati ,de unde il iau? 2.Am vazut ca am nevoie de USBasp ,am gasit ceva pe forum la postul #38 ,ce parere aveti ,e bun?http://www.elforum.info/topic/89355-voltmetreampermetresurse-module-electronice-diverse/page-3 3.Aveti un videoclip sau undeva sa citesc care ar fi primul pas ,cu ce trebuie sa incep? 4.Mentionez ca nu sunt chiar afon deoarece la scoala fac informatica si stiu destul de multe instructiuni pentru inceput,cel mai greu mi se pare la inceput cand trebuie sa setezi pinii ,care sunt de iesire ,care de intrare si acele functii care le gasesti in datasheet ,nu prea stiu ce vorbesc ,de asta vreau sa invat. 5.Cand transfer datele din PC in atmega,el trebuie sa fie pus in circuitul pe care il voi face cu el ,sau pot doar sa conectez pin la pin(MOSI,RESET,SCK,MISO,VCC,GND) si si sa-l programez. Multumesc! Link spre comentariu
PKP98 Postat Ianuarie 25, 2016 Partajează Postat Ianuarie 25, 2016 Am gasit un tutorial pe youtube de nota 10 ,m-am decis ,o sa folosesc WinAvr pe care l-am descarcat si merge ,eu am Windows 10 ,o fi compatibil programul cu acest Windows?Eu am intrat in el si nu face probleme ,acum o sa vad eu. Am vazut in tutorial toti pasii si am inteles cum trebuie sa procedez. Problema ramane la acele DDRB=0B00000001; PORTB=0B00000000; de exemplu DDR seteaza portul ca IN/OUT ,dar nu stiu cand e IN si OUT DDRB=0B00000001 e IN sau OUT?La fel si la PORTB ,daca poate sa-mi explice cineva ce semnifica acele zerouri ,stiu ca se ia in considerare ultima cifra adica 0sau1,va rog sa-mi spuneti si mie care e secretul. #include <avr/io.h> #include <util/delay.h>int main(void){DDRC = 0xFF; //Nakes PORTC as Outputwhile(1) //infinite loop{PORTC = 0xFF; //Turns ON All LEDs_delay_ms(1000); //1 second delayPORTC= 0x00; //Turns OFF All LEDs_delay_ms(1000); //1 second delay} } Am mai gasit ceva DDRA=0xFF,ce face aceasta functie ,cumva toti pinii din port A sunt OUT sau IN? Acel cristal cand se pune ,am vazut ca la unele proiecte exista acel cristal ,la altele nu,deci? Multumesc! Link spre comentariu
ratza Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 // +------------> Bit7 = 0x80// |+-----------> Bit6 = 0x40// ||+----------> Bit5 = 0x20// |||+---------> Bit4 = 0x10// ||||+--------> Bit3 = 0x08// |||||+-------> Bit2 = 0x04// ||||||+------> Bit1 = 0x02// |||||||+-----> Bit0 = 0x01// |||||||| 0b00000000 1 înseamnă că bitul e setat, 0 înseamnă că e şters. DDRB = 0b00000001 - portul B, pinul 0 e setat, deci ieşire, toţi ceilalţi sînt intrări (0=input, 1=output). PORTB = 0b00000000 - înseamnă că tot portul e configurat ca tristate, cu excepţia pinului 0 care e ieşire cu starea în low (1=high, 0=low). Dacă biţii corespunzători intrărior ar fi fost puşi în 1, ar fi rămas intrări, dar ar fi avut conectate rezistenţele interne de pull up. Ai intuit corect, DDRA=0xFF înseamnă că tot portul e configurat ca ieşire. Chestia mişto la hexadecimal e că se face extrem de simplu conversia în binar. 0x0 = 0b0000 0x8 = 0b10000x1 = 0b0001 0x9 = 0b10010x2 = 0b0010 0xA = 0b10100x3 = 0b0011 0xB = 0b10110x4 = 0b0100 0xC = 0b11000x5 = 0b0101 0xD = 0b11010x6 = 0b0110 0xE = 0b11100x7 = 0b0111 0xF = 0b1111 Indiferent cît de mare e numărul în hexa, pur şi simplu înlocuieşti cifrele respective cu valorile de sus. De exemplu, numărul de jos e reprezentat pe 32 de biţi. În cod ar trebui să ştergi spaţiile din reprezentarea binară, am pus spaţii doar ca să fie mai simplu de urmărit A D 5 4 F 5 0 10xAD54F501 = 0b1010 1101 0101 0100 1111 0101 0000 0001 Operaţiile pe biţi sînt AND, OR, XOR şi NOT. & = AND| = OR^ = XOR~ = NOT0b1101 & 0b0011 = 0b00010b1101 | 0b0011 = 0b11110b1101 ^ 0b0011 = 0b1110~0b0000 = 0b1111 Link spre comentariu
nico_2010 Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 @PKP98: Citeste asta: http://www.megafileupload.com/aamf/1449355781_Make.pdf Iti va fi de ajutor pentru a te deprinde cu programarea microcontrollerelor. Bafta! Link spre comentariu
nickrvl Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 Pentru Bascom exista ceva asemanator? Link spre comentariu
nico_2010 Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 Nu prea exista. Link-ul a fost indepartat Sau ceva online: http://www.grifo.it/CORSO/uk_BASCOM_AVR/uk_AVR.htm Link spre comentariu
Florian Ciobanu Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 (editat) la primul link nu functioneaza downloadul, eu am cautat cu google si am descarcat fisierul Editat Ianuarie 26, 2016 de Florian Ciobanu Link spre comentariu
nico_2010 Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 Merge si primul link. Link spre comentariu
Florian Ciobanu Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 probabil e de la addblock Link spre comentariu
MifTy Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 nu, nu merge deloc, am încercat şi eu: te aduce pe aceeaşi pagină, timp în care îţi trânteşte reclame din gros.l-am luat şi eu tot cu google, de pe un site de hosting care nu folosea reclame.culmea, era primul în lista google, chit că nu avea nici un fel de adsense! )))))) Link spre comentariu
nickrvl Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 Eu le-am descarcat pe ambele si merg, am si Addblok, mai greu insa trebuie dat de 3-4 ori pe descarca nelogat adica free..... Link spre comentariu
PKP98 Postat Ianuarie 26, 2016 Partajează Postat Ianuarie 26, 2016 (editat) Salutare! Sa luam un exemplu ca asa inteleg mai bine: aTmega8 are 3 porturi B,C,D. Vreau sa fac un LED sa clipeasca la un interval de timp de 500ms. Si acum codul,aleg portul B cu pinul 0. #include<avr/io.h> #include<util/delay.h> int main(void) { DDRB=0b00000001; // Pinul 0 din portul B este setat ca OUT. Daca ziceam DDRB=0b01000000; insemna ca pinul 6 din port B e setat ca OUT , restul sunt IN ,sau cum? while(1) { PORTB=0b00000001; // Pinul 0 e setat ca HIGH adica am tensiunea de 5v pe el ,nu? _delay_ms(500); //Asteapta 500ms. PORTB=0b00000000; //Pinul 0 e setat ca LOW adica am tensiunea de 0v pe el ,nu? _delay_ms(500); //Asteapta 500ms. } } Multumesc ,si va rog sa ma corectati. Editat Ianuarie 26, 2016 de PKP98 Link spre comentariu
ratza Postat Ianuarie 27, 2016 Partajează Postat Ianuarie 27, 2016 Cdul e corect în întregime, inclusiv comentariile, doar că perioada rezultată e de 1000ms (suma ambelor delay-uri). Ledul va clipi o dată pe secundă. Dacă vrei să aprinzi doar ledul de pe PB0, lăsînd ceilalţi pini neafectaţi, faci aşa: PORTB |= 0b00000001; // aici se aprinde_delay_ms(500);PORTB &= ~0b00000001; // aici se stinge_delay_ms(500); Ce se întîmplă în spate? Expresiile cu care setezi şi ştergi bitul 0 sînt echivalente cu: PORTB = PORTB | 0b00000001;PORTB = PORTB & 0b11111110; // pentru că ~0b00000001 = 0b11111110 Deşi e legat de PIC-uri, topicul ăsta te poate ajuta destul de mult. http://www.elforum.info/topic/111858-invatat-programare-de-la-zero/ 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