Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Dupa 20 ani de facultate, am uita...
 Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebui sa vindem imobiliarele ...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 

programator atmega ?

- - - - -
  • Please log in to reply
48 replies to this topic

#37
florinelu

florinelu

    Member

  • Grup: Members
  • Posts: 627
  • Înscris: 05.03.2005
Imi cer scuze ca ma bag printre randuri si eu cu problema mea insa am sucit-o pe toate partile si nu ii dau de cap (programarea elementara a unui Attiny13).
Concret:
Vreau sa fac tutorialul acesta si m-am intepenit la pasul nr. 9, mai exact la comanda "make all" imi da erori despre niste chestii care nu au fost declarate (DRDR undeclared..., PORTD undeclared etc). Codul a fost copiat exact ca in tutorial iar programul cu care incerc sa fac toatea acestea este WinAVR.
/* Blinker Demo */

/* Include useful pre-defined functions */
#include <avr/interrupt.h>	// Defines pins, ports, etc to make programs easier to read
#define F_CPU 100000UL		  // Sets up the default speed for delay.h
#include <util/delay.h>

int main(){

  DDRD = _BV(PD4);			  /* enable output on port D, pin 4 */
	
  while(1){

	PORTD = _BV(PD4); 
	_delay_ms(1000);

	PORTD &= ~_BV(PD4);	
   _delay_ms(1000);

  }

  return(0);
}

Am impresia ca este ceva cu acele linii "include", calea aceea nu este cum trebuie cumva? Sincer am incercat sa pun alte cai, am cautata acele fisere *.h sa le pun in acelasi folder...tot nu merge.
Programatorul este foarte simplu, serial si functioneaza pentru ca am incarcat in MCU hexul pus la dispozitie in tutorial iar ledul clipeste. Insa ma seaca ca nu pot sa compilez dracia aia de program. Sunt incepator habar nu am despre C dar incerc sa fac niste analogii cu altceva ce cunosc (PHP) :rolleyes:

Edited by florinelu, 15 March 2012 - 13:42.


#38
tatarduka

tatarduka

    Senior Member

  • Grup: Senior Members
  • Posts: 3,042
  • Înscris: 30.10.2006
Incearca sa pui
#include <avr/io.h>
sus de tot in fisierul sursa.

#39
florinelu

florinelu

    Member

  • Grup: Members
  • Posts: 627
  • Înscris: 05.03.2005
Am pus si tot acelasi gen de eroare. Uite pun aici ca sa vezi cam ce imi apare:
Compiling C: led.c
avr-gcc -c -mmcu=attiny13 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funs
unsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-proto
hlns=./led.lst  -std=gnu99 -MMD -MP -MF .dep/led.o.d led.c -o led.o
led.c:6:1: warning: "F_CPU" redefined
<command-line>: warning: this is the location of the previous defin
led.c:9: warning: function declaration isn't a prototype
led.c: In function 'main':
led.c:11: error: 'DDRD' undeclared (first use in this function)
led.c:11: error: (Each undeclared identifier is reported only once
led.c:11: error: for each function it appears in.)
led.c:11: error: 'PD4' undeclared (first use in this function)
led.c:15: error: 'PORTD' undeclared (first use in this function)

Nu stiu, trebuie sa mai configurez cumva ceva la WinAVR-ul asta? Caile alea catre librariile alea (sau cum se numesc) fata de ce sunt relative? Fata de folderul in care este instalat AVR-ul? (este C:\WinAVR).

Edited by florinelu, 15 March 2012 - 14:05.


#40
tatarduka

tatarduka

    Senior Member

  • Grup: Senior Members
  • Posts: 3,042
  • Înscris: 30.10.2006
Ar trebui sa mearga. De ce nu folosesti AVR Studio 5?

#41
florinelu

florinelu

    Member

  • Grup: Members
  • Posts: 627
  • Înscris: 05.03.2005
Am si avr studio 4.19. Cand dau build la proiect imi da aceleasi erori. <_< .
Am mai gasit o chestie, am impresia ca eu gresesc ptr ca am folosit un cod scris ptr alt MCU (anumite porturi nu exista la attiny13). Am folosit insa si codul de la acest tutorial si tot imi erori la compilare.

 tatarduka, on 15th March 2012, 13:56, said:

Incearca sa pui
#include <avr/io.h>
sus de tot in fisierul sursa.
De aici a fost pana la urma, am pus in codul din acest tutorial si a mers. Eu gresisem ca foloseam cod ptr un alt MCU cu mai multi pini insa nici nu stiam de acels include. Multumesc mult!

PS: Un link unde as putea gasi mai multe chestii despre acele librarii (*.h)? Ce si cum se folosesc?

Edited by florinelu, 15 March 2012 - 14:54.


#42
tatarduka

tatarduka

    Senior Member

  • Grup: Senior Members
  • Posts: 3,042
  • Înscris: 30.10.2006

 florinelu, on 15th March 2012, 14:59, said:

PS: Un link unde as putea gasi mai multe chestii despre acele librarii (*.h)? Ce si cum se folosesc?
Ma bucur ca ai rezolvat. Nu sunt librarii biblioteci, sunt fisiere header. O biblioteca este altceva dar fisierul header iti ofera acces la ea.
Aici gasesti detalii despre cele specifice AVR-GCC. Cele standard (C/C++ sunt documentate peste tot):
http://www.nongnu.or...al/modules.html

Edited by tatarduka, 15 March 2012 - 15:07.


#43
florinelu

florinelu

    Member

  • Grup: Members
  • Posts: 627
  • Înscris: 05.03.2005
Salut din nou!  :rolleyes:
Stiu ca topicul asta este despre seria ATMEGA insa am zis sa continui aici cu nelamuririle mele legate de Attiny13 daca tot am cateva posturi mai sus. M-am lamurit cum este cu ledul care clipeste, ABC-ul programarii unui microprocesor.
Codul meu asrata cam asa:
#include <avr/io.h>
 
  #define LED PB4
  #define output_low(port,pin) port &= ~(1<<pin)
 #define output_high(port,pin) port |= (1<<pin)
 #define set_input(portdir,pin) portdir &= ~(1<<pin)
 #define set_output(portdir,pin) portdir |= (1<<pin)
 
 // this is just a program that 'kills time' in a calibrated method
 void delay_ms(uint8_t ms) {
   uint16_t delay_count = F_CPU / 17500;
   volatile uint16_t i;
 
   while (ms != 0) {
	 for (i=0; i != delay_count; i++);
	 ms--;
   }
 }
 
 int main(void) {
   // initialize the direction of PORTD #6 to be an output
   set_output(DDRB, LED);  
	   while (1) {
	 // turn on the LED 
	 output_high(PORTB, LED);
	 delay_ms(20);
	 // now turn off the LED 
	 output_low(PORTB, LED);
	 delay_ms(30);
	 // now start over
	 	 
   }
 }
Acum insa vreu sa complic un pic lucrurile insa nu stiu cum sa abordez problema: vreau ca acest led sa clipeasca comandat de o radiocomanda (de la un avion radiocomandat) mai exact de iesirea PWM unui receptor comandat de aceasta radiocomanda.
Practic nu stiu cum sa fac Attiny sa "asculte" acest PWM si sa aprinda sau sa stinga acel led. Se indura careva si de mine sa imi dea un pont, cum sa incep, ce sa iau la studiat?
Multumesc!

#44
florinelu

florinelu

    Member

  • Grup: Members
  • Posts: 627
  • Înscris: 05.03.2005
Scuze pentru dublul post dar mai am o nelamurire mare:
Datorita ca am stricat (mecanic) un adaptor USB > Serial (era ceva mai de firma si mergea foarte rapid) am fost nevoit sa imi iau ceva de genul asta, probabil putin dai, putin face. Problema este ca desi am testat pe vreo 3 calculatoare (WinXP si Win7) merge fff foarte incet transferul hexurilor in Attiny13. Am incercat sa pun programatorul meu direct pe portul serial la unul dintre calculatoarele testate si merge extrem de rapid (cum ar trebui), ceva de genul, vreo 164bytes incarcati in mai putin de o secunda cu Avrdude. Cu prostia aia de adaptor USB merge la vreo 110 secunde ptr aceiasi 164 bytes. Am incercat sa modific prin device manager baud rate (era 9600)... nimic, nu merge mai repede.
Este prost adaptorul ala, asa-i? Macar sa le dau feedback neutru chinezilor ca vand porcarii, nu cred ca totusi ca daca ar fi fost bun, chiar si sa fi fost un model slab, ar fi mers atat de greu.

Edited by florinelu, 06 April 2012 - 23:13.


#45
tehnics

tehnics

    acolo unde vara-i zi la miezul noptii

  • Grup: Senior Members
  • Posts: 30,845
  • Înscris: 01.11.2005
Depinde ce are inauntru...in general are un FT232 si inca ceva care emuleaza RS232 ( +15v/-15V ). Am si eu ceva asemnator, doar ca la mine schimbarea baud-rate-ului functioneaza corect. Nu l-am folosit pentru programare...doar pentru Rx/Tx...si merge f bine.
Posibil sa fie chinezarie mai de proasta calitate ( cred ca asta e un pleonasm ).

Edited by tehnics, 06 April 2012 - 23:20.


#46
nan6941

nan6941

    New Member

  • Grup: Members
  • Posts: 6
  • Înscris: 26.04.2008
Buna ziua!vreau si eu sa fac un Programator ISP pt familia 8051 (AT89S8252,AT89S8253...) cu memorie flash (cu
8051),imi puteti da ceva idei,scheme?vreau sa il programez cu keilvision,se poate?multumesc

Edited by nan6941, 10 May 2012 - 12:57.


#47
fcovei

fcovei

    New Member

  • Grup: Members
  • Posts: 6
  • Înscris: 29.06.2011
Va salut domnilor!
Am inceput si eu de cateva saptamani sa studiez programarea in limbaj de asamblare in AVR Studio 4.
Posed o placa STK500 si am de realizat un proiect ce include AtMega 8515.
Proiectul constra intr-un dispozitiv de cronometrare in trei faze cu comanda de semafoare a tragerii intr-un poligon.
In pauze intra pe afisaj un ceas de timp real, care trebuie sa functioneze si in background in timpul cronometrarii.
Limbajul de asamblare il stapanesc din vremea lui Z80, mnemonica nu difera mult, problema mea este alta:
-unele instructiuni sau rutine se vad ca fiind functionale in simulator dar in realitate nu functioneaza.
-in anumite situatii unii biti de port (cum ar fi EEWE, write enable EEPROM) nu accepta in simulator instructiunea sbi, dar in realitate merge si altele...
Care este problema, am nevoie de parerea unui om cu ceva experienta, sunt bug-uri ale AVR Studio sau altceva?
Va multumesc.

#48
hajliparli

hajliparli

    Member

  • Grup: Members
  • Posts: 906
  • Înscris: 03.02.2011
Salutare tuturor, am mai lucrat cu microcontrollere dar mai putin cu programarea lor, am mai si programat dar cu programatorul dedicat insa acum am dat de o problema la telecomanda masinii mele, am un atmel ATA892U intrebarea mea... ar merge sa ma leg la el cu usbasp?
Ideea e ca as vrea sa copiez din el, in cazul in care se distruge sa am ce trebuie ca sa il inlocuiesc :P
Daca nu merge cu acest programator cu ce as putea sa ma leg la el?
Pe acasa mai am ceva arduino, ceva programtor de pic (nu cred ca merge).
La usbasp am ramas putin in pana ca am pinii mosi miso sck, carenu ii gasesc la atmel-ul meu :( sau nu am eu datasheet-ul corect.

#49
edy_wheazel

edy_wheazel

    Superior Member

  • Grup: Senior Members
  • Posts: 51,023
  • Înscris: 31.07.2007
Am impresia ca ... nu. De la Atmel seria "89" ii CISC, in timp ce alea programabile ISP ("Arduino friendly" sa zic asa) is RISC. Daca nu ma insel si alea din seria 89 puteau fi blocate la citire, deci ii posibil chiar cu un programator dedicat sa nu poti sa-l citesti.

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate