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



Teraz jest 24 mar 2026, o 20:16


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 21 sty 2014, o 22:08 
Offline
Użytkownik

Dołączył(a): 07 sty 2013
Posty: 89
Pomógł: 5

Witam ,
Przyjmijmy , na razie bez dowodu ,iż chcę zrobić coś użytecznego ...

a. Chcę użyć np. ATMega 168
b. Gdzieś w pliku nagłówkowym każe użytkownikowi wybrać timer do obsługi czegoś..
przez wpisanie do #define Moj_Timer ( Timer0 , lub Timer1, lub Timer2 )
c. Pomińmy na razie zrobienie porządku z różnicą bitów konfiguracyjnych
d. Stosownie do wyboru użytkownika muszę użyć odpowiedniego przerwania, ale zawsze od przepełnienia licznika
e. Zatem do wyboru mam TIMER0, TIMER1, TIMER2, z doklejoną końcówką OVF_vector,
f. Tak wyprodukowany string użyć jako nazwę obsługi wybranego wektora przerwania :
gdy wybierze TIMER0 to obsługa przerwania będzie ISR ( TIMER0_OVF_vector)
gdy wybierze TIMER1 -/- ISR ( TIMER1_OVF_vector)
gdy wybierze TIMER2 -/- ISR ( TIMER2_OVF_vector)

ps oczywiście zawsze tylko jedna zgodna z wyborem .
Jeśli ktoś ma dobre pomysły to uprzejmie proszę o podzielenie się . J.P.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 22:10 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Czyli chcesz dać użytkownikowi program który on sam - ten użytkownik - ma sobie skompilować i wgrać do procka?

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 22:16 
Offline
Użytkownik

Dołączył(a): 07 sty 2013
Posty: 89
Pomógł: 5

jeszcze gorzej , żeby sam sobie poustawiał , timery , piny , i co tam jeszcze potrzeba,
a jaśniej to tak np. stworzyć program który użytkownik ( nie ukrywajmy "czujący bluesa") sam sobie skonfiguruje uniwersalną usługę
do swojej konfiguracji płytki , aplikacji itp.

ps . lub najprościej , "bibliotekę" którą wiele razy wykorzystam , konfigurując do rzeczywistej aplikacji ,ale raz napiszę i zapomnę o problemie,
potem tylko skonfigurować i gotowe , jak nie przymierzając biblioteki do LCD , ustawiasz piny , tryb interfejsu i zapominasz ..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 22:21 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Może tak?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 22:24 
Offline
Użytkownik

Dołączył(a): 07 sty 2013
Posty: 89
Pomógł: 5

dzięki , ale to niestety nie przejdzie , przynajmniej nie tego szukam
ps. Timer jest tutaj tylko dla nazwania problemu , chodzi o pewien poziom uniwersalności .

------------------------ [ Dodano po: 7 minutach ]

tak naprawdę chodzi o sklejanie nazw aby uzyskać potrzebny ciąg tworzący nazwę przerwania,
w rzeczywistości ten ciąg będzie się składał z kilku członów , i w różnej kolejności.
zwykły wybór #if warunek Ciąg-znakowy#endif ,
jest teoretycznie możliwy ale tych warunków potrzebuję dużo i nie będzie to eleganckie ,choć możliwe



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 22:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

To może zrób tak
w pliku .h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


a potem w .c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 22 sty 2014, o 00:02 przez jacekk232, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 22:33 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

jp_elek napisał(a):
dzięki , ale to niestety nie przejdzie , przynajmniej nie tego szukam
ps. Timer jest tutaj tylko dla nazwania problemu , chodzi o pewien poziom uniwersalności .

uniwersalność to jedno.
Wydaje mi się, że jednak zbyt ogólnie stawiasz problem.
A na takim poziomie ogólności to pozostaje C ;-)
tudzież inny język programowania.
Generalnie koncepcja ciekawa ale chyba nierealna.
Widzisz. Nawet z uruchomieniem działający przecież bibliotek ludzie mają problemy.
A Ty chcesz dać ludziom szkielet. Ustawiajcie sobie co chcecie i... ma działać.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 22:41 
Offline
Użytkownik

Dołączył(a): 07 sty 2013
Posty: 89
Pomógł: 5

W pierwszym poście napisałem .. na razie bez dowodu, pozostając przy tym warunku
powiedzmy że chcę udostępnić .. Forumowiczom tego forum , dziwne ale moim zdaniem użyteczne narzędzie do rozprawienia się raz na długo z powszechnym , nie tyle problemem, co jałowością powtarzania w kółko tego samego wątku, dającego się "zautomatyzować"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 sty 2014, o 23:44 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Mi się poprawnie skompilowało takie coś:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


To samo krócej
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
sig off ;(



Ostatnio edytowano 22 sty 2014, o 14:20 przez perlon, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2014, o 12:31 
Offline
Użytkownik

Dołączył(a): 07 sty 2013
Posty: 89
Pomógł: 5

Dzięki ,
@perlon
Pierwsza wersja , działa zawsze, druga niekoniecznie - ale z powodów innych niż, niewłaściwy pomysł,
( gdy już wcześniej w pliku io.h ktoś zabawiał się w automatyzację opisu wektorów przerwań ;
wtedy może zgłosić błąd polegający na próbie redefinicji symbolu, rzecz jednak nie dotyczy tematu wprost , zatem obydwie wersje są Ok, poza literówką "PREFIX")

ps. miło uzyskać pomoc od "krajana" , Jawor - Legnica to "rzut beretem :)
J.P.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2014, o 14:21 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Dzięki za zwrócenie uwagi. Poprawiłem tego PREFIX'a. :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2014, o 15:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

W sumie pomsył ciekawy, ale czy sie przez sklejanie skompiluje i będzie poprawnie działać, no nie wiem. Zresztą jak niby kompilator będzie wiedział, że skonfigurował ten timer?
bo jeśli dobrze pamiętam najpeirw jest konfigurowanie timera i właczenie all przerwań, więc musiłąbyś all skonfigurówac, ale jak właczysz TIMSK czy coś tam, to kompilator za krzyczy, nima nigdzie obłsugi przerwania z nazwą wektora.

Moim zdaniem za bardzo polecialeś z fantazja, może kiedyś mikrokonroler będzie miał funckjonalność, w której sam sobie stworzysz przerwanie, oprogramujesz, nazwiesz i co ci tam w duszy gra.

ISR <PAUL_DIRAC_vect >
{
szalony dzień = dzisiaj;
skoro dzisiaj to .....
}

Może kiedyś będziemy pisać wierszem w c2035.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2014, o 16:31 
Offline
Użytkownik

Dołączył(a): 07 sty 2013
Posty: 89
Pomógł: 5

Skompiluje , skompiluje , a nawet przytnie na wymiar..
Przynajmniej po kilkunastu próbach na początek.

w odpowiedzi na Twoje pytanie : rzecz jasna , tak sklejoną nazwę , a precyzyjnie jej człony ,
wykorzystujemy we wszystkim co dotyczy timera , zatem i przy inicjowaniu timera ,
przy pinach - jeśli wykorzystujemy , i w przerwaniu (-ach) itd.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2014, o 21:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2013
Posty: 844
Lokalizacja: Przemyśl
Zbananowany użytkownik

Pomógł: 43

zobaczcie uniwersalny soft do UARTu Antystatycznego, może coś was natchnie ;)

_________________
Klimatyzacja Przemyśl



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: 14 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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