-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
-for-mail
From: "roxy" <k...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: WinAVR - Pytanie do znawcow C
Date: Fri, 14 May 2010 21:22:40 +0200
Organization: http://onet.pl
Lines: 103
Message-ID: <hsk7u8$a77$1@news.onet.pl>
NNTP-Posting-Host: 91.214.36.65
X-Trace: news.onet.pl 1273864968 10471 91.214.36.65 (14 May 2010 19:22:48 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Fri, 14 May 2010 19:22:48 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-EsetScannerBuild: 7097
Xref: news-archive.icm.edu.pl pl.misc.elektronika:588491
[ ukryj nagłówki ]Mam pytanie dlaczego zmienna Ki oraz Kp (s->Ki oraz s->Kp) wchodzaca w
sklad struktury s_pid przyjmuje losowe warosci wewnatrz funkcji
RegulatorNextStep;
Przedstawiam ponizej zawartosc plikow zrodlowych
Dodam tylko ze problem rozwiazalem ale nie moge sobie wytlumaczyc tak
dziwnego zachowania kompilatora. Rozwiazanie problemu polegalo na
przeniesieniu tworzenia struktury (struct s_pid pid;) z wnetrza funkcji
main() na zewnatrz jej (globalna).
********
plik main.c
********
#include "pid.h"
...
main(1);
{
...
struct s_pid pid; // jezeli przeniose to strukture na
zewnatrz funkcji main
// to program wykonuje sie
prawidlowo
...
InitReg(&pid,40,1,0);
...
while(1);
{
...
err=RegulatorNextStep(&pid,i_set,current);
...
}// end while
}// end main
***************************
plik pid.h
***************************
#ifndef _PID_H_
#define _PID_H_
struct s_pid
{
signed int Kp;
signed int Ki;
signed int Kd;
signed long sigma;
signed int delta;
};
void InitReg(struct s_pid *s, signed int Kp, signed int Ki, signed int Kd);
signed int RegulatorNextStep(struct s_pid *s,signed int set,signed int mes);
void RegulatorReset(struct s_pid *s);
#endif
*****************************
plik pid.c
**************************
#include "pid_flt.h"
...
signed int RegulatorNextStep(struct s_pid *s,signed int set_value,signed int
measure_value)
{
...
p_term=(s->Kp) * error;
i_term= (s->Ki * s->sigma)/8;
...
lcd(s->Kp); // !!!!!! dla czego mam losowe wartosci???
lcd(s->Ki);
...
return (signed int)out;
}
void InitReg(struct s_pid *s, signed int Kp, signed int Ki, signed int Kd)
{
s->Kp=Kp;
s->Ki=Ki;
s->Kd=Kd;
s->sigma=0;
s->delta=0;
}
****************************************************
**************************
__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur wirusow
5103 (20100510) __________
Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.
http://www.eset.pl lub http://www.eset.com
Następne wpisy z tego wątku
- 18.05.10 23:53 MrWebsky
- 18.05.10 23:59 Konop
- 19.05.10 21:09 Adam Dybkowski
- 22.05.10 14:13 roxy
- 22.05.10 16:01 Artur M. Piwko
Najnowsze wątki z tej grupy
- Telewizor przestał widzieć sygnał z anteny
- LED
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
Najnowsze wątki
- 2024-05-20 Fiat wymyślił i zaprojektował Citroena Ami? ;)
- 2024-05-20 Nowe obowiązkowe wyposażenie samochodów
- 2024-05-20 Telewizor przestał widzieć sygnał z anteny
- 2024-05-20 Opole => Consultant/Implementer Comarch ERP XL <=
- 2024-05-20 Białystok => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-20 Warszawa => Java Engineer <=
- 2024-05-20 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-05-20 Zielona Góra => Engineer R&D Mechanic <=
- 2024-05-20 Zabrze => Junior HelpDesk <=
- 2024-05-20 Warszawa => Key Account Manager <=
- 2024-05-20 Warszawa => Programista Full Stack .Net <=
- 2024-05-20 Kraków => Senior .Net Programmer <=
- 2024-05-20 Kraków => Programista .Net - Senior <=
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami