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



Teraz jest 26 lis 2024, o 00:27


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 63 ]  Przejdź na stronę Poprzednia strona  1, 2, 3  Następna strona
Autor Wiadomość
 Tytuł: Re: 1Wire
PostNapisane: 16 sty 2014, o 20:55 
Offline
Użytkownik

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

bielik napisał(a):
Niestety to dopiero początek problemów ;) W swoim projekcie muszę wykorzystać RS232. Wyobrażam sobie to tak, że będę przesyłał po prostu wartość temperatury na komputer. Moglibyście polecić jakąś elektronikę dzięki której będę mógł to zrobić? Najlepiej jakieś rozwiązanie sprawdzone i często używane, tak żeby zminimalizować możliwe problemy :) Bo chyba z programem na komputer obsługującym to nie ma raczej problemu?

A ot i sprawdzone i dobrze wspierane rozwiązanie sprzętowe: http://www.sklep.atnel.pl/pl/p/ATB-USB-RS232/85

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 17 sty 2014, o 02:00 
Offline
Nowy

Dołączył(a): 30 gru 2013
Posty: 21
Pomógł: 0

Wiem, ze to forum atnela i produkty tej firmy sa preferowane, ale ten protukt jest tymczasowo niedostepny. I poza tym drogi. Nie ma jakiegoś tańszego, pewnego rozwiązania?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 17 sty 2014, o 08:36 
Offline
Użytkownik

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

bielik napisał(a):
Wiem, ze to forum atnela i produkty tej firmy sa preferowane...

To nie o to chodzi. Pytałeś o:
bielik napisał(a):
Najlepiej jakieś rozwiązanie sprawdzone i często używane, tak żeby zminimalizować możliwe problemy

A to jest zdecydowanie sprawdzone i często używane rozwiązanie. I na dodatek z jakim wsparciem!!!

A stwierdzenie
bielik napisał(a):
I poza tym drogi.

jest względne.
bielik napisał(a):
Nie ma jakiegoś tańszego, pewnego rozwiązania?

Jest. Możesz taką przejściówkę zrobić sam ;-)

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 17 sty 2014, o 09:42 

Pomógł: 0

DS2490 kupujesz, prasujesz PCB i masz przejściówkę USB to 1wire



Góra
  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 17 sty 2014, o 11:43 
Offline
Użytkownik

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

Pomógł: 101

RS-232/avr serial: http://nettigo.pl/products/387
USB/avr serial:http://nettigo.pl/products/533

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 18 sty 2014, o 19:37 
Offline
Nowy

Dołączył(a): 30 gru 2013
Posty: 21
Pomógł: 0

Dziękuję za podpwoedzi :)
Wykorzystałem urządzenie od znajomego, więc nie musiałem nic kupować. Jednak jak chcę sobie przetestować program 07_UART z płyty to niestety w konsoli wyrzuca mi takie coś. Jakby w ogóle nie widział deklaracji. Mój kolega też pamięta, że miał identyczny problem (już rok temu) i sam już nie pamięta co zmienił. Nie jest to wina sprzętu z tego, co widzę. Pomożecie?

Kod:
**** Build of configuration Release for project 07_UART ****

make all
Building file: ../MKUART/mkuart.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega168 -DF_CPU=11059200UL -MMD -MP -MF"MKUART/mkuart.d" -MT"MKUART/mkuart.d" -c -o"MKUART/mkuart.o" "../MKUART/mkuart.c"
../MKUART/mkuart.c: In function 'USART_Init':
../MKUART/mkuart.c:36: error: 'UBRRH' undeclared (first use in this function)
../MKUART/mkuart.c:36: error: (Each undeclared identifier is reported only once
../MKUART/mkuart.c:36: error: for each function it appears in.)
../MKUART/mkuart.c:37: error: 'UBRRL' undeclared (first use in this function)
../MKUART/mkuart.c:40: error: 'UCSRB' undeclared (first use in this function)
../MKUART/mkuart.c:40: error: 'RXEN' undeclared (first use in this function)
../MKUART/mkuart.c:40: error: 'TXEN' undeclared (first use in this function)
../MKUART/mkuart.c:42: error: 'UCSRC' undeclared (first use in this function)
../MKUART/mkuart.c:42: error: 'URSEL' undeclared (first use in this function)
../MKUART/mkuart.c:42: error: 'UCSZ0' undeclared (first use in this function)
../MKUART/mkuart.c:54: error: 'RXCIE' undeclared (first use in this function)
../MKUART/mkuart.c:54: error: 'TXCIE' undeclared (first use in this function)
../MKUART/mkuart.c: At top level:
../MKUART/mkuart.c:64: warning: 'USART_TXC_vect' appears to be a misspelled signal handler
../MKUART/mkuart.c: In function 'uart_putc':
../MKUART/mkuart.c:85: error: 'UCSRB' undeclared (first use in this function)
../MKUART/mkuart.c:85: error: 'UDRIE' undeclared (first use in this function)
../MKUART/mkuart.c: In function '__vector_19':
../MKUART/mkuart.c:110: error: 'UDR' undeclared (first use in this function)
../MKUART/mkuart.c:113: error: 'UCSRB' undeclared (first use in this function)
../MKUART/mkuart.c:113: error: 'UDRIE' undeclared (first use in this function)
../MKUART/mkuart.c: At top level:
../MKUART/mkuart.c:130: warning: 'USART_RXC_vect' appears to be a misspelled signal handler
../MKUART/mkuart.c: In function 'USART_RXC_vect':
../MKUART/mkuart.c:134: error: 'UDR' undeclared (first use in this function)
make: *** [MKUART/mkuart.o] Error 1



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 18 sty 2014, o 19:58 
Offline
Użytkownik
Avatar użytkownika

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

Atmega168 posiada inne nazwy rejestrów. Dlatego wywala ci błędy. Ta sama sytuacja co kilka postów wcześniej z konfiguracją Timera0.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 18 sty 2014, o 20:54 
Offline
Nowy

Dołączył(a): 30 gru 2013
Posty: 21
Pomógł: 0

No dobrze... Czyli z tego co widzę w datasheetach i na chłopski rozum myśląc muszę zamienić tak:
UBRRH -> UBRRnH
UBRRL -> UBRRnL
RXEN -> RXEN
... itd.
Tyle tylko, że taki manewr nie pomaga.

------------------------ [ Dodano po: 18 minutach ]

Zamiast n powinno być jednak 0. Teraz mam tak:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 19 sty 2014, o 03:26 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Zrób Clean i Build, a ostrzeżenia wskażą błędne nazwy wektorów przerwań.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 19 sty 2014, o 11:38 
Offline
Nowy

Dołączył(a): 30 gru 2013
Posty: 21
Pomógł: 0

Jest dokładnie to o czym mówisz. Nie wiem za bardzo jak to zamienić. Mógłbyś powiedzieć?
Jeszcze nie jestem pewien w tym miejscu czy dobrze napisałem. Chodzi mi o USBS0
/* Ustawienie format ramki: 8bitów danych, 1 bit stopu */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 20 sty 2014, o 23:50 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

USART_UDRE_vect na USART0_UDRE_vect
USART_TXC_vect na USART0_TX_vect
USART_RXC_vect na USART0_RX_vect

W Eclipse zakładkę z nazwami rejestrów i przerwań włączasz Window->ShowView->Other->AVR->AVR Device Explorer. Są też w specyfikacji w rozdziale Interrupts tylko trzeba dopisać _vect.

Tak ma być dla 1 stopbita:
UCSR0C = (3<<UCSZ00);

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 27 sty 2014, o 23:23 
Offline
Nowy

Dołączył(a): 30 gru 2013
Posty: 21
Pomógł: 0

Trochę dodałem od ostatniego razu; UART i diody jeśli temperatura przekracza założoną wartość max i min. Teraz się męczę z EEPROM. Docelowo chciałbym, żeby wartości temp max i min zapisywały się w pamięci EEPROM. Na razie jednak próbuje zapisać tam znak stopnia. Tylko że w konsoli w ógóle mi się nie pokazuje, że coś jest zapisywane do tej pamięci i jak patrzę w mkACR Calculator na "obrazek" pamięci to też nic tam nie ma. Dodam, że jak uruchamiam program 04_LCD z bluebooka to nie ma żadnych problemów. Zarówno napis, jak i znak są zapisywane do EEPROM. Pomożecie?

Konsola1 (podczas kompilacji)
Kod:
**** Build of configuration Release for project 10_1Wire ****

make all
Invoking: Print Size
avr-size --format=avr --mcu=atmega168 10_1Wire.elf
AVR Memory Usage
----------------
Device: atmega168

Program:    8620 bytes (52.6% Full)
(.text + .data + .bootloader)

Data:        420 bytes (41.0% Full)
(.data + .bss + .noinit)

EEPROM:        8 bytes (1.6% Full)
(.eeprom)


Finished building: sizedummy


Konsola2:
Kod:

Launching C:\WinAVR-20100110\bin\avrdude -pm168 -cusbasp -Pusb -Uflash:w:10_1Wire.hex:a
Output:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9406
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "10_1Wire.hex"
avrdude: input file 10_1Wire.hex auto detected as Intel Hex
avrdude: writing flash (8620 bytes):

Writing | ################################################## | 100% 5.46s

avrdude: 8620 bytes of flash written
avrdude: verifying flash memory against 10_1Wire.hex:
avrdude: load data flash data from input file 10_1Wire.hex:
avrdude: input file 10_1Wire.hex auto detected as Intel Hex
avrdude: input file 10_1Wire.hex contains 8620 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 4.51s

avrdude: verifying ...
avrdude: 8620 bytes of flash verified

avrdude done.  Thank you.

avrdude finished

Kod (może jeszcze dodam, że linijki które wg mnie powinny powodować wyświetlenie znaku stopnia to 7,24,26,85 i np 93)

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 28 sty 2014, o 08:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Widzę że temperaturę przechowujesz w zmiennej zmiennoprzecinkowej double.
Ja u siebie stosuje taki myk że wartość temperatury przechowuje w zmiennej rzeczywistej.
Sądzę że łatwiej będzie ci zapisywać ją do eepromu i porównywać.
Tu masz funkcje jaką ja używam.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 28 sty 2014, o 11:40 
Offline
Nowy

Dołączył(a): 30 gru 2013
Posty: 21
Pomógł: 0

Dobra wskazówka, ale to kosmetyka i o taką optymalizację kodu postaram się jak już będę miał wszystko. Ten EEPROM to ostatnia rzecz, którą muszę zrobić.
Jak kompiluję "swój" projekt, czyli mocno przerobiony 10_1Wire z bluebooka, którego kod jest w moim poprzednim poście to przy programowaniu mikrokontrolera w konsoli pierwsze co się pojawia jest coś takiego:

Launching C:\WinAVR-20100110\bin\avrdude -pm168 -cusbasp -Pusb -Uflash:w:10_1Wire.hex:a

A jak kompiluję 04_LCD to mam:

Launching C:\WinAVR-20100110\bin\avrdude -pm168 -cusbasp -Pusb -Uflash:w:04_LCD.hex:a -Ueeprom:w:04_LCD.eep:a

Czyli nie "podłącza" mi tej pamięci w ogóle jakby. Może gdzieś to w eclipsie trzeba przestawić?

Jeszcze później jak porównuję sobie to co pojawia się w konsoli w tych 2 programach podczas wgrywania to w 10_1Wire brakuje:

Kod:
avrdude: reading input file "04_LCD.eep"
avrdude: input file 04_LCD.eep auto detected as Intel Hex
avrdude: writing eeprom (23 bytes):

Writing | ################################################## | 100% 0.26s

avrdude: 23 bytes of eeprom written
avrdude: verifying eeprom memory against 04_LCD.eep:
avrdude: load data eeprom data from input file 04_LCD.eep:
avrdude: input file 04_LCD.eep auto detected as Intel Hex
avrdude: input file 04_LCD.eep contains 23 bytes
avrdude: reading on-chip eeprom data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 23 bytes of eeprom verified


Już siedzę nad tym od niedzieli i nie bardzo mogę wykminić o co chodzi. Nawet zwykły napisy typu "EEPROM" jak w 04_LCD nie chce się wgrać. Przeglądałem fora, ale nie znalazłem odpowiedzi na swoje pytanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 28 sty 2014, o 11:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

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


------------------------ [ Dodano po: 5 minutach ]

OK masz spojrzałem na wcześniejszy kod :roll:

------------------------ [ Dodano po: 11 minutach ]

Nie wiem jak w twoim przypadku, ale jakbyś chciał wgrać coś do eepromu już na etapie wgrywania programu to musisz zajrzeć do eclipsa Properties - AVRDure - Flash/EEPROM - i wybrać from build.


Autor postu otrzymał pochwałę

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 28 sty 2014, o 12:31 
Offline
Nowy

Dołączył(a): 30 gru 2013
Posty: 21
Pomógł: 0

I gra gitara :D Czyli intuicję już miałem dobrą, bo domyślałem się, że coś w opcjach eclipsa należy zmienić. W sumie podstawowa rzecz pewnie, ale nawet z podstawami u mnie słabo, bo się wziąłem od razu za bardziej zaawansowany projekt na zaliczenie nie mając wcześniej z tym do czynienia. Dzięki! ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 28 sty 2014, o 12:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Cieszy mnie że mogłem pomóc ;)

Widzę że powoli zagłębiasz się w temat z tym czujnikiem.
Tak wyprzedzająco zaraz staniesz przed tematem zapisu wartości ujemnych do eeproma :?:
Ja nad tym chwile musiałem pomyśleć ale nie wyprzedzam.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 01:09 
Offline
Nowy

Dołączył(a): 19 cze 2014
Posty: 18
Lokalizacja: Wrocław
Pomógł: 0

Witajcie.

Pozwolicie, że podepnę się pod istniejący temat, bo mam podobny problem z programem do pomiaru temperatury.

Próbowałem przenieść kod z niebieskiej książki na Atmegę328 jak i Atmegę8. Niestety bezskutecznie. Tak jakby program nie wykrywał czujnika.
Przerwania i timer działają - przetestowane na diodzie. Na LCD pokazuje "error". Nawet ponumerowałem sobie te błędy. Zrobiłem także "diodowy debugger" na pinie PB1 i program się nie zawiesza.
Skonfigurowałem porty w dołączonych bibliotekach - czujnik podłączony do PC5, oraz ustawiłem maksymalną liczbę czujników na 1.
Myślałem, że jak u poprzednika jest włączony dodatkowy dzielnik częstotliwości DIV8, ale na Atmedze8 bez dzielnika program także nie śmiga. Wszystkie potrzebne połączenia na płytce są, bo przetestowałem kilka razy multimetrem.
Skończyły mi się pomysły, więc proszę o pomoc. Może coś przeoczyłem?

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


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


(Laurkowy?) schemat: :)
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 02:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Zapytam tak podstawowo, w pliku onewire.h odpowiednie definicje w tym miejscu zmienione?:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


z Niebieskim pozdRowieniem,
Doman89


------------------------ [ Dodano po: 2 minutach ]

Kolega po co Ci dławik na zasilaniu Vcc? Do AVcc rozumiem... oraz kondensatory aż 47uF? Myślę, że 4,7u lub 10uF wystarczy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 07:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Używasz Aref. Zmien z portu a na inny np b. Pozatym jak kolega wyżej co to za dławik wogóle co to za zasilanie ?

Usuń c3 l1 l2 i na porcie a będzie śmigało.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 11:23 
Offline
Nowy

Dołączył(a): 19 cze 2014
Posty: 18
Lokalizacja: Wrocław
Pomógł: 0

@doman89 - Ja tak podstawowo napiszę, że tak. W książce jest to pogrubione nawet, że ciężko przeoczyć. :)
Bawiłem się ADC przy okazji pomiaru temperatury, bo chciałem początkowo termistor użyć, ale zdecydowałem się na dallasa. Stąd zapomniałem odłączyć Aref'a. Zmieniłem kondensatory z 47uF na 10uF

@majster - Aref już odłączony. Pin zmieniony na PB0 jak i deklaracje w bibliotece onewire.h. Zasilanie z programatora USBAsp jak na razie. Za niedługo sobie zrobię mały moduł na stabilizatorze.

Odłączony Aref, wywalone dławiki, zmieniony pin i dalej "error".



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 12:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

To jeszcze pytanie z tych "prostszych" (mam nadzieję, że kolega się nie obrazi :P ale często są takie błędy ;)).

Taktowanie w ustawieniach projektu oraz optymalizacja ustawione odpowiednio?

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 12:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

To ja mam prostrze pytanie :)
też mam nadzieję że kolega się nie obrazi ale nie włożył go kolega na odwrót ?

trzymając brzuszkiem od siebie
po lewej GND
po prawej VCC
w środku 1WIRE

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 14:29 
Offline
Nowy

Dołączył(a): 19 cze 2014
Posty: 18
Lokalizacja: Wrocław
Pomógł: 0

Włożony prawidłowo. Jednego jakiś czas temu chyba sfajczyłem, bo przyzwyczajony byłem do widoku od góry. Także na 1000% włożony prawidłowo. :D
Taktowanie w porządku - to jedna z pierwszych rzeczy, które sprawdzam jak coś nie działa. Tylko nie bardzo wiem, co rozumiesz przez stwierdzenie "optymalizacja". Może tutaj jest pies pogrzebany.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 17:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

kolego a to w tym twoim kodzie co to jest ?

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


zaglądnij w pliki biblioteczne bo z tego co pamiętam to tam się też ustawiało przerwania a te powyżej to jest u ciebie babloek


wstaw w jakiś pin leda i zobacz czy pomruga sobie jak go ładnie napiszesz na przerwaniach.

Obstawiam że tam musisz szukać przyczyny

"Przerwania"

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 20:51 
Offline
Nowy

Dołączył(a): 19 cze 2014
Posty: 18
Lokalizacja: Wrocław
Pomógł: 0

A czemu niby babol. Przerwania od CTC działają. Zanim zdecydowałem się napisać zrobiłem test kodu i w procedurze przerwania umieściłem instrukcję migania diodą. Dobrałem tylko odpowiedni preskaler i Fclk, aby miganie było widoczne.

Obrazek

Pogrzebałem w bibliotekach i są miejsca gdzie włączane jest zezwolenie na przerwanie, a także bit zezwolenia jest czyszczony, tylko nie za bardzo jest tam coś do konfigurowania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 21:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

I co kolego dalej nie widzisz babola ?

W 1 linii masz TCCR0A
W 2 linii masz TCCR0B

Teraz widzisz babola? Masz

B

Zamiast

A

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 21:20 
Offline
Użytkownik
Avatar użytkownika

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

No ale Atmega328 ma bity CS0x w rejestrze TCCR0B a nie TCCR0A.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 22:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

majster napisał(a):
I co kolego dalej nie widzisz babola ?

W 1 linii masz TCCR0A
W 2 linii masz TCCR0B

Teraz widzisz babola? Masz

B

Zamiast

A

Namazane ze smarta.


Majster kolego wszystko jest tu w porządku. Troszeczkę się zakręciłeś - patrz nota katalogowa, jakie bity jaki rejestr ;)

Surion napisał(a):
Jednego jakiś czas temu chyba sfajczyłem, bo przyzwyczajony byłem do widoku od góry. Także na 1000% włożony prawidłowo.


No niestety kolego, tego DS'a wystarczy na sekundę odwrotnie podłączyć i już "leży i kiwcy". To chyba jego jedna z niewielu wad. Tak więc jak nawet na chwilę taki czujnik odwrotnie podłączyłeś to nadaje się do kosza. Możesz zrobić test, wyrzucić if-else i tylko pobierać wynik. Jeżeli będzie podawał coś koło 120 st lub 0.06, to znaczy, że właśnie "leży i kwicy" :P

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: 1Wire
PostNapisane: 10 lis 2014, o 22:58 
Offline
Nowy

Dołączył(a): 19 cze 2014
Posty: 18
Lokalizacja: Wrocław
Pomógł: 0

Wiem. Kilkoma źle podłączonymi to chyba pokój można by było ogrzać. :)
Uszkodzony gdzieś tam leży w worku z odpadkami, a używam nowego. Przed wpięciem nowego z 5x sprawdziłem czy dobrze.
Pomysły mi się skończyły co z programem może być nie tak. Jutro jak znajdę czas potestuję z innymi bibliotekami, a w środę chyba kupię kolejne czujniki z różnych źródeł. Może buble dostałem?



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: 63 ]  Przejdź na stronę Poprzednia strona  1, 2, 3  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO