Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 6 lut 2025, o 12:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 30 cze 2014, o 00:39 
Offline
Nowy

Dołączył(a): 30 cze 2014
Posty: 10
Pomógł: 0

Witam, mam dziwny blad, poniewaz robie program ktory bierze w argumencie wskaznik do struktury i odczytuje z niego przebieg efektu jaki maja tworzyc diody w ukladzie z wykorzystaniem rejestru przesuwnego :) Wysle kod i wstawie jakie mam bledy, prosze pomoc poniewaz ja nie wiem juz co tam jest zle, a niby robie wszystko jak w ksiazce, ale jednak cos nie dziala...

Kod:
void ZROBEFEKT(struct efekt *); //* tutaj wyskakuje:
Multiple markers at this line
   - 'struct efekt' declared inside parameter list [enabled by default]
   - expected 'struct efekt *' but argument is of type 'struct efekt *'
   - its scope is only this definition or declaration, which is probably not what you want [enabled by
    default]
*//

struct efekt {
  uint8_t diody[1];
  uint8_t size;
  uint8_t time1;
};

int main (void) {

   struct efekt *wsk,jeden;
   wsk = &jeden;

   jeden.diody[0] = 0b00000000;
   jeden.diody[1] = 0b11111111;
   jeden.size = 1;
   jeden.time1 = 200;

   while(1) {
         ZROBEFEKT(wsk); //* tutaj:
passing argument 1 of 'ZROBEFEKT' from incompatible pointer type [enabled by default]
*//
   }
}

  void ZROBEFEKT(struct efekt * ptr) { //* a tutaj:
conflicting types for 'ZROBEFEKT'
*//
   uint8_t i,k;
   for(i=0;i<=ptr->size;i++) {
      for(k=0;k<=ILOSCDIOD;k++) {
         if(((ptr->diody[i]>>k)&(0x01))==1) ON();
         if(((ptr->diody[i]>>k)&(0x01))==0) OFF();
      }
      ZAPISZ();
      _delay_ms(ptr->time1);
   }
}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2014, o 07:00 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Przede wszystkim zapoznaj się z tym: http://forum.atnel.pl/topic7402.html.
A potem deklarację struktury przenieś przed prototyp funkcji ZROBEFEKT i spróbuj jeszcze raz :-)

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2014, o 07:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27354
Lokalizacja: Szczecin
Pomógł: 1042

warto też rzucić okiem tutaj:

http://mirekk36.blogspot.com/2013/07/st ... adnie.html

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2014, o 17:07 
Offline
Nowy

Dołączył(a): 20 cze 2014
Posty: 1
Pomógł: 0

Czy nie prościej napisać:
ZROBEFEKT(&jeden);



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO