Citat:
Vidi ovako, code koji si postavio (verujem da radi) je prilicno jednostavan, ima inicializaciju periferija (RCC, I/O, tajmeri itd) i nakon toga odmah ulazi u konfiguraciju TIM1 periferije i to je sve, dakle kada se upali odmah pocne da vrti tajmer.
hi Miki, bio sam ubeđen da se niko neće javiti. nadam se da si ispravan i zdrav u ovo nezgodno vreme...
ljudi imaju otklon prema arduino ide, kao to nije okruženje za profesionalce itd itd.... meni je sve ok što mi je jednostavno i čini mi posao.
Citat:
Dobra stvar je sto je taj program pisan u stilu CMSIS (to je neki da kazemo low-level pristup) i kao takav moze direktno da se iskoristi u Arduino okruzenju jer su inace Arduinove high-level funkcije pisane u CMSIS, trebalo bi da bude 99% sve isto, ono sto nije isto mogu da budu nazivi registra/flagova ali uz malo kombinatorike i gledanju po header fajlovima moze da se skonta koji je tacan naziv, negde ima crtica, negde nema, fali slovo i tome slicno.
proveo sam dosta vremena pokušavajući da iskompajliram ovaj kod kakav jeste u samom arduino okruženju. iskren da budem - ja i ne znam u kom develope okruženju je ovaj kod od ovog rusa pisan. ali radi mu sigurno jer je dao oscilograme komplementarnog moda i PP moda.
da se vratim na kompajliranje u arduino ide - hmm ne ide ... kompajler se non stop žali , traži ovo traži ono , drž ne daj , prolazi to kroz još 12ak dependency fileova , itd itd...
čisto kao info, evo lista zavisnih datoteka koju ovaj kod poziva:
core_cm3.h
core_cmFunc.h
core_cmInstr.h
ioports.h
ioreg.h
stm32f10x.h
startup_stm32f10x.h
static_assert.h
stm32_ports.h
stm32f10x_conf.h
stm32f10x_gpio.h
i još dvetri koje ne vidim jer ne mogu da nateram tabova udesno više...
izgleda da je jedino rešenje jedna po jedna linija , to kako ti kažeš , i da se gledaju nazivi registara, flegovi itd itd...
Citat:
Dakle kreni sa praznim programom u Arduino i onda dodaj jednu po jednu instrukciju.
U sustini ceo taj code treba da ide u setup(), dakle jednom se poziva da izkonfigurise periferije i to je to.
da. to sam skapirao da čitav kod ide u setup(), a u loop() posle jurim djuti preko promenljive PWM_VALUE.
Citat:
U main() onda lagano kreni sa "korisnickim interfejsom" koji obraduje neke tvoje buttone ili potenciometre i kao rezultat da upisuje nove vrednosti u PWM_VALUE (za menjanje duty).
Menjanje frekvencije je po slicnom principu ali je jedino neophodno da preracunas nove vrednosti za CCR1 i ARR jer su duty i frekvencija medusobno zavisne, ako menjas frekvenciju promenice se i duty.
nemam potove ni butone. u suštini projekat je oko solarnog pretvarača napona veće snage oko 1-2kW. na ADC stm32f103 bi merio ulazne napone solarnog stringa i baterija koje puni pa prema tome kalkulisao djuti kako bi čitav sistem bio u dozvoljenim naponima i radio u mppt tački.
Citat:
To bi bilo ukratko, probaj pa ako zapne pitaj ...
oki.