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



Teraz jest 24 kwi 2024, o 23:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 1 gru 2016, o 11:59 
Offline
Nowy

Dołączył(a): 01 gru 2016
Posty: 22
Pomógł: 0

Witam,

w moim projekcie używam I2C do komunikacji z ekspanderem. Dotąd wszystko działało poprawnie. Odkąd zmieniłem częstotliwość taktowania procka (atmega 328p) z 1MHz na 8MHz nic nie działa poprawnie :) a raczej komunikacja I2C bo z samą atmegą wszystko jest ok. Co może być przyczyną?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 gru 2016, o 12:44 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

Napisz coś więcej (czy biblioteka do i2c z BB czy jakieś inne źródło czy to softwerowe i2c czy sprzętowe) może wstaw kod źródłowy.
bo tak ciężko pomóc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 gru 2016, o 13:27 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

Wstaw to po inicjalizacji I2C:
i2cSetBitrate(100);



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 10:47 
Offline
Nowy

Dołączył(a): 01 gru 2016
Posty: 22
Pomógł: 0

Jest to i2c sprzętowe z Blue Booka.

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


Funkcja ExpWrite używa odczytu i zapisu i2c i na tej funkcji program się zawiesza (służy do zapisu stanu na ekspanderach). Dodam, że przed zmianą częstotliwości taktowania wszystko działało o.O



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 11:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Pull-Upy to daj sprzętowe ... 4K7
nie zawsze wbudowane pozwalają prawidłowo działać magistrali

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 20:58 
Offline
Nowy

Dołączył(a): 01 gru 2016
Posty: 22
Pomógł: 0

Ok, rozumiem. Natomiast nie jest to rozwiązaniem problemu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 21:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

A w projekcie masz określoną nową częstotliwość taktowania ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 22:00 
Offline
Nowy

Dołączył(a): 01 gru 2016
Posty: 22
Pomógł: 0

Pierwsze linijki kodu:
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  
PostNapisane: 2 gru 2016, o 22:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

CzarnyPiotr napisał(a):
#define F_CPU 8000000 


Tą linijkę zostawię bez komentarza .,... - a zresztą w ten sposób sam się prosisz o kłopoty

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 22:05 
Offline
Nowy

Dołączył(a): 01 gru 2016
Posty: 22
Pomógł: 0

Twój brak komentarza jest dla mnie bardzo pomocny i merytoryczny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 gru 2016, o 22:40 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 288
Lokalizacja: Gdańsk
Pomógł: 13

Chodzi o to, że częstotliwość ustawia się w opcjach projektu a nie jako linijkę w programie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2016, o 00:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Piotr, jak Sun zostawia bez komentarza to znaczy ze należy sie przyjrzeć o co chodzi ;)
A chodzi o to, że lepiej tej linijki nie używać bo można sobie napytać biedy.....

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2016, o 22:48 
Offline
Nowy

Dołączył(a): 01 gru 2016
Posty: 22
Pomógł: 0

Dobrze, rozumiem. Nie zmienia to faktu, że dalej to nic nie zmieniło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2016, o 22:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Trochę przewrotnie: powróć do 1MHz - może to zbieg okoliczności że z 1 na 8 i wtedy klapa.
Przynajmniej się upewnisz.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2016, o 02:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Hmm - głupie pytanie, ale - zrobiłeś Clean projektu i pełny build po zmianę częstotliwości?

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2016, o 19:10 
Offline
Nowy

Dołączył(a): 01 gru 2016
Posty: 22
Pomógł: 0

Wszystko zrobiłem. Właśnie to chciałem zrobić ale mam problem (jestem początkujący). Zmianę fusebitów dokonałem w Eclipsie:
Obrazek

Dlaczego nie ma tutaj opcji 1MHz? Czy oznacza to że mój uC nie pracował domyślnie przy czestotliwości 1MHz? Wszystkie źródła jakie czytałem (Blue Book, internet) mówią że domyślnie tak pracują.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2016, o 19:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

CzarnyPiotr napisał(a):
Dlaczego nie ma tutaj opcji 1MHz? Czy oznacza to że mój uC nie pracował domyślnie przy czestotliwości 1MHz? Wszystkie źródła jakie czytałem (Blue Book, internet) mówią że domyślnie tak pracują.


W Atmedze328 nie ma częstotliwości 1 MHz. Tzn nie ma jej bezpośrednio, ale można ją uzyskać.
Ustawiasz generator wbudowany na 8MHz oraz włączasz fusebit CKDIV8. Spowoduje to podzielenie częstotliwości taktującej przez 8, więc uzyskasz dokładnie 1 MHz.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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