Myślę, że punkt pierwszy jest bardziej adekwatny. A konkretnie proponuję przy takich założeniach powrót do źródeł czyli zamiast przerwania, machanie pinem. i inteligentne wplecenie tego w całość reszty programu.
To po prostu udaje SPI i nie pracuje w żadnym standardzie bo nie ma w tym żadnej logiki. Jak machasz pinem LPT to macha pin SPI
Zacznijmy może od tego, że jak chcesz machać pinem z częstotliwością 1MHz to do tego celu wymyślono PWM - to co chcesz zrobić może w końcu Ci się uda, ale to generalnie jest całkowicie bezsensowne, bo ten układ nie będzie miał mocy żeby zrobić COKOLWIEK innego. 4\/3!!
Jeśli chcesz użyć jeden pin - jeden czujnik, to prościej użyć np. LM35 i ADC. Dla DS musisz zmodyfikować używaną bibliotekę, aby mogła machać kilkoma pinami. Najprościej odszukać funkcje odpowiedzialne za machanie pinami i zmodyfikować je tak, aby pobierały jeszcze jeden parametr - nr pinu. Aby nie pociągnęło to konieczności modyfikacji reszty funkcji,...
Przykład jak tego nie robić, zużycie prądu jest karygodne jak na układ który ma tylko machać pinem.
Jeśli się uczyłeś LPC11U68 to pewnie umiesz "machać pinem". Weź sobie jakąś typową bibliotekę do HD44780 jakich dużo w necie i zamień sobie kod w części odpowiedzialnej za machanie pinami. Co do pinów 5VFT to odpowiedź brzmi tak - możesz podłączyć układ w logice 5V. Co prawda układ w stanie Hi wystawi tam 3.3V ale to wystarczy aby zidentyfikować to...
Jeżeli komuś zależy na szybkim "machaniu" pinami na AVR z Arduino HAL, to polecam bibliotekę [url=https://pololu.github.io/fastgpio-a... Ustawianie i czytanie pinów odbywa się bez blokowania przerwań i zdecydowanie szybciej.
Machaniem Pinem nie da się sprawdzić faktycznej prędkości. Większe prędkości machania pinem mógłbyś osiągnąć tylko na timerze. Wbrew pozorom zapalenie diody potrzebuje więcej niż jednego cyklu (przy softowym sterowaniu)
Pinem SS gdzieś machasz? 4\/3!!
(at)atom1477 Jeśli ja wygeneruje przerwanie co 1 ms, to muszę mieć potem możliwość coś zrobić, czyli w przerwaniu muszę chociaż zmienną inkrementować, albo zrobię toggle pin i połączenie z głównym MCU przez INT0 tak jak pisałem post wcześniej . Mam kwarc 20ppm i nie jest on wystarczająco stabilny, dlatego poszedłem na DS3231 i źródło timera od T1....
Proszę o informację czy moduł NodeMCU v3 posiada sprzętową obsługę I2C. Jest to ESP8266, więc nie posiada sprzętowych kontrolerów I2C. SDA/SCL możesz ustawić na dowolnych GPIO, ale sama komunikacja odbywa się w trybie "bit-banged", czyli machanie pinami :) ESP32 posiada dwa sprzętowe kontrolery I2C.
Problem? No właśnie... To jest taki "problem" jak to, że przy pełnej prędkości w Bugatti Veyron opony zużyją się w 15 minut (*). Jeszcze N-I-G-D-Y nie odczułem tych mitycznych braków prędkości machania pinem, tak więc raczej nie wzdycham po nocach do tych super 8051 które machają pinem z prędkością światła. Jakoś bardziej przemawia do mnie FPU i wydajność...
No i dokładnie tak chcę zrobić tylko nie NPN a PNP (i dawno bym już zrobił gdyby nie natłok innych prac). Nie bardzo tylko wiem jaki rezystor wstawić oraz próbuję zrozumieć jak to działa z naładowanym kondensatorem. A dlaczego nie NPN? Z naładowanym kondensatorem to nie działa. Wcześniej pisałeś o kondensatorze i przewodzeniu prądu. No to jest odwrotnie...
Czemu uparliscie sie na machanie pinem. Przecież to Ty się uparłeś na machanie pinem i wciąż traktujesz to jako wyznacznik "wydajności". Tak jakby patrzeć na samochód przez pryzmat tego przy jakiej prędkości na pierwszym biegu masz odcięcie... Jaka jest użyteczność takiego wskaźnika? Czy na podstawie informacji że "subaru impreza na jedynce rozpędza...
Machać pinem pewnie można, ale sensownego całego przebiegu z taką częstotliwością na pewno nie da sie wygenerować. Raczej tylko prostokąt. Pozdr
Zresztą jak chcesz zmierzyć częstotliwosć timera to prościej chyba machać pinem i zmierzyć tę częstotliwość.
14:20:25.471> X 14:20:26.405> X 14:20:27.342> X 14:20:28.340> X 14:20:29.276> X 14:20:30.211> X 14:20:31.147> X 14:20:32.084> X 14:20:33.099> X 14:20:34.033> X 14:20:34.969> X 14:20:35.967> X Teraz widać że timer nie dochodzi do 1 sekundy. Ale te wartości markera czasowego pochodzą nie z programu lecz z systemu operacyjnego, tak? Więc włóż je sobie......
"Machać" pinem potrafi ? Wie co oznaczają zapisy: 1. zmienna &= wartosc; 2. zmienna |= wartosc;
Nawet gdyby SPI nie było (nie chce mi się zaglądać do PDFa) to o BitBangingu kolega pewnie słyszał. Takie rzeczy to na Arduino. Nie będę machał pinem jak można użyć interfejsu sprzętowego. Jak DMA obsłuży sprzętowe SPI? Ponadto nie każdy ARM ma BB i po co BB jeśli machać pinem można bez tego? 60 centów za 16MB, znajdź procek z takim flashem w podobnej...
zdania doprowadzają do jedynej IMO słusznej konkluzji w tym wypadku: Arduino. Arduino to ślepa uliczka. W mojej ocenie, Arduino traktuje uC jak Z-8 (CPU + GPIO) czy 8051 gdzie ze sprzętu to głównie proste timery i UART. ZERO wykorzystania sprzętu! Bo co wspierają biblioteki Arduino? UART z malutkim buforem w RAM, I2C to samo. SPI bez bufora, bez przerwań....
Zauważyłem, że jak nie dodałem warunku while((SPI1->SR & SPI_SR_BSY) == 0) obraz był przekoszony, czyli były błędy w transmisji. I właśnie o tym piszemy od początku - jakiekolwiek modyfikacje dotyczące SPI (np. w Twoim przypadku machanie pinem CS) w przerwaniu od zakończenia transmisji DMA _nadawczego_ są błędem i tyle.
Jak koledzy napisali zaletą jest prostota. Na domyślnych ustawieniach niewiele trzeba by machać pinami, w przeciwieństwie do np. ARM gdzie trzeba skonfigurować dużo więcej rzeczy. Inna sprawa, że raz skonfigurowany ARM będzie pozwalał na machanie pinem praktycznie tak samo prosto jak AVR :) 5V to taki średni plus, są ARM pracujące z takim napięciem...
Arduino to kobyła, na rejestrach traciłbyś mniej-więcej połowę czasu na pracę w ten sposób. A pozostaje jeszcze nakładka od arduino, inne źródła przerwań i obsługa wejścia ;) Ewidentnie masochizm, zwłaszcza jeśli chodzi o zwykłe machanie pinem. Nie prościej zrobić wstawkę w c/asm ? 6 linijek kodu i zapominasz o tej sprawie.
Wiele ARMów ma ograniczenia dotyczące max. częstotliwości machania pinami, i dotyczy to zarówno bezpośredniego sterowania pinem, jak i interfejsu do danego pinu podłączonego. Dobrze że producenci komputerów tego nie czytali - mogliby porzucić architekturę x86 na rzecz ośmiobitowców! (; Czy naprawdę dla kogoś jest istotne, czy pinem można machać ręcznie...
Włączamy przerwanie funkcją na przykład: [syntax=c]NVIC_EnableIRQ(TIM7_IRQn);[/sy... Funkcja do obsługi przerwania: [syntax=c]void TIM7_IRQHandler(void) { if(TIM7->SR & TIM_SR_UIF) // if UIF flag is set { TIM7->SR &= ~TIM_SR_UIF; // clear UIF flag // machamy pinem }; };[/syntax]
Jeszcze inna sprawa, to kwestia testów. Machanie pinem to mało sensowny test, tak samo jak wykonanie 1000x mnożenia. Myślałem, że nie znając architektury jak autor wątku (czyli pisząc program bez wykorzystywania specyficznych cech danego procka) a chcąc je na szybko porównać, można machnąć pinem, następnie wykonać milion jakichś operacji i znowu machnąć...
Odwrócenie było moim pomysłem jak zrobić napięcie ujemne ale pewnie to był tylko jeden sposób. Bardzo mnie interesują również inne sposoby jak to zrobić. Ujemne ci potrzebne czy przemienne? Możesz przecie "machać" pinem procesora w zakresie 0..5V (w uproszczeniu) - a składową stałą odciąć kondensatorem...
Ano trzeba zatrudnić np. 74HC00 do multipleksowania i machać jakimś pinem w celu przełączania.
iedyś układy pomiarowe, a nawet napędy realizowało się na 8 bit i bogatych torach analogowych. Może więc wróćmy do tranzystorów lub lamp. Kiedyś przecież ....a jeszcze wcześniej układy mechaniczne. Dodano po 57 Tylko imć LChucki wyskoczył z porównaniem machania pinem w warstwach abstrakcji Mogę dać przykłady obsługi SPI, I2 itd.
Mam ustawiony timer na 4kHz [syntax=csharp]cli(); TCNT1 = 0; TCCR1 = 0; OCR1C = 249; // 4000 Hz (16000000/((249+1)*16)) OCR1A = OCR1C; TCCR1 |= (1 << CTC1); TCCR1 |= (1 << CS12) | (1 << CS10); TIMSK |= (1 << OCIE1A); sei();[/syntax] W przerwaniu timera machałem pinem [syntax=csharp]ISR(TIMER1_COMPA_vect) { //licznik timer1 przepełnienie...
Wielkie mi nieba, zapis do rejestru zajął mniej niż call funkcji To jest oczywiste, niemniej mało kto się spodziewał tego, że proste "machanie pinem" może mieć taki narzut. A wystarczyłoby żeby kolega Grzegorz zalinkowane filmy obejrzał, albo nawet tylko przejrzał ten ostatni będący analizą właśnie tej konkretnej funkcjonalności i byłoby jasne, że...
To akurat wiem, bo uzywalem LPC1114 zasilanego 3,3 V do sterowania wyswietlacza na HD44780 zasilanego 5 V. Autor tamtego tematu napisal: "Na wyjściach będzie max 10kHz." Wydaje mi sie, ze pull-up do 5 V bedzie mial uzadnienie przy "wiekszych" czestotliwosciach machania pinem. Wtedy uklad TTL na wejsciu nie bedzie blednie rozpoznawal poziomow logicznych.
I tak to ocena jakości procesora na elektrodzie zeszła do poziomu porównania ceny kitu :-( Procesor jak procesor. Ma 16 bit. To więcej niż 8 które część osób uważa za zupełnie wystarczające do większości zastosowań. To także mniej niż 32, które niektórzy uważają za niezbędne minimum nawet do machania pinem. Jak pisał BD jeśli interesuje się low power...
Coś tam piszę w utopijnym języku jakim jest "Bascom", i wiem że to jeszcze bardziej wydłużyło by czas pomiarów, i machanie pinem ale jak to mówią tonący brzytwy się chyta ;) Myślę że poradził bym sobie ze sterowaniem mosfetem za pomocą jakiegoś attiny13, a mimo kiepskiego czasu "reakcji" skoki napięć nie zdążyły by upalić docelowego odbiornika. Niemniej...
Z perspektywy tej dyskusji wyjaśnia się cel stosowania przez niektórych producentów pary rejestrów do ustawiania/ kasowania bitów, mimo bit bandingu. Przykładowo PIOx_BSRR/BRR u ST. Konsekwentne pociągnięcie dalej i mapowanie każdego rejestru na REG_CLR, REG_SET i REG_INV jak mają PIC32 wydaje się więc logiczniejsze jako sposób na atomowy dostęp do...
aby nie zmieniać nawyków programistów - którzy nie lubią radykalnych zmian. Bardzo ciekawe, bo właśnie wielu programistów AVR nie polubiło się z xmega bo były dość radykalne zmiany zarówno funkcjonowania peryferiów jak ich konfiguracji. Zatem nowe tiny i nowe mega NIE machają pinem jak Atmega8 czy Tiny2313 ;) Machają pinem jak Atxmega32D4 i Atxmega128A3U...
Raczej nie znajdziesz gotowca w Bascomie. Niemniej jeśli umiesz "machać pinem" to kod nie powinien stanowć dla Ciebie problemu. Komunikacja z HT jest prosta, jeśli nic nie czytasz z układu a w zasadzie nie ma takiej potrzeby, to jest to po prostu transmisja SPI: https://obrazki.elektroda.pl/4525256000_... Sama inicjalizacja jest prosta....
STM32 USB-FS-Device library. To jest to cudo: usb_pwr.c masz funkcję void Suspend(void) - profilaktycznie unieszkodliwiłbym jej, na czas testów, te kawałki które odpowiadają za "sleep" procesora. ---- Co do poszukiwania przerwania - wydaje mi się, że najłatwiej byłoby je namierzyć umieszczając w procedurze obsługi "machanie pinem" :)
Nadajnik możesz to zrobić w oparciu o timer, na którym ustawisz sobie określony zegar - np. te po rz ądane 250 kHz. Być może musisz ustawić 500kHz - aby wyłapywać nie tylko czas cyklu, ale i jego zbocze narastające i opadające. Potem budujesz sobie kolejkę danych (bufor fifo) - która stanowi podstawę dla timera - do "machania określonym pinem". Wysłanie...
Witam, Chciałem się dowiedzieć od użytkowników uC STM32F103 jaką maksymalną częstotliwość osiągacie zmieniając w pętli stan pinu z wysokiego na niski. Mam pewien problem z wydajnością i wydaje mi się, że coś robię nie tak. Zegary mam wszystkie ustawione maksymalnie i jestem przekonany, że za wolno "macham" pinem. U mnie jest to: stan niski - 164ns stan...
Tak dokładanie, trzeba by w tej pętli: = value / 8; // Skopiuj do kubełków po kompresji vRImag [/i]
Niestety to nie spowodowało, że wyświetlacz się zainicjował. O strobie CS juz był. Na pewno nie zdejmujesz go za szybko? Co zrobić z pinem reset LCD? Próbowałem machać tym pinem w różne strony, pozostawiać na 0, jak i na 1, a także pozostawiać nie podłączony, i nadal nic. Przeczytaj dokumentację LCD. W 99% przypadków aktywny poziom jest niski. Przy...
Dla 1-wire krytyczna jest pojemność linii. To nie są szybkości i stromości zboczy, które stwarzają jakieś super problemy z odbiciami, więc topologia gwiazdy jakkolwiek nie pomaga, nie powinna też aż tak przeszkadzać. Masz oscyloskop? To może pomóc. Jeśli nie to - określ jakiego typu powstają przekłamania. Jeśli problemem jest odczytywanie 0 zamiast...
Struktura protokołu kompatybilna z I²C Hmm... to bardzo ciekawe. Nie wiem czy dobrze rozumiem, ale można to powiesić na samym pinie SDA od I2C i mieć komunikację zrealizowaną sprzętowo? Oczywiście o tyle o ile, bo I2C i tak ma mnóstwo warunków obsługiwanych programowo, żeby w ogóle działał ;) W dokumentach, które znalazłem, nie pokusili się o...
Problem z arduino (zarówno w wypadku avr jak i esp32 / 8266) jest taki że mnóstwo tam laików. Najlepiej jeśli nie jesteś w stanie odfiltrować względem jakości weź przykład z wykorzystywanej biblioteki. Ogólnie tam nie ma standardów, więc nie masz co liczyć na odgórnie narzucony sposób wykorzystania czegoś Np https://github.com/milesburton/Arduino-T...
Skoro dioda świeci jak machasz ręką, to problem jest natury sprzętowo-konfiguracyjnej. Masz jakiś rezystor podciągający na tym pinie? Jeśli nie, to czy włączyłeś wewnętrzne rezystory podciągające? 4\/3!!
No jak byś znał zasadę działania zwykłego wyświetlacza hd44780 to byłoby Ci łatwiej zrozumieć że z tym Twoim to wszystko jest niepotrzebne ahahahahaha. Normalny wyświetlacz ma piny RS,EN i D0, D1, D2 ..do D7. Jest też pin RW, ale użytkowo jest opcjonalny więc go pominę. Pin RS słuzy do wyboru czy przesyłane dane to komenda czy znaki. Pin EN służy do...
zbytnio przekombinowałeś swój projekt No rozumiem, że to tak może wyglądać, ale to jest efekt ponad 2 lat pracy nad tym sterownikiem, wykrywania różnych problemów "w terenie" . W sumie jest już 3 czy 4 wersja (właśnie ta z wprowadzonym dodatkowym układem zabezpieczającym) i kilkadziesiąt działających urządzeń. Taka "nadmiarowa" pozornie ochrona jest...
Wiem ile to 20/2, ale z jakiejś przyczyny nie zlicza pełnej połowy, o czym wspomina autor. http://mdiy.pl/miernik-czestotliwosci-na... Ja go sobie tak przerobiłem aby wyświetlać na lcd od nokii, lub słać dane po spi do innego MCU, w moim przypadku do xmega, bo jej timery są chyba jakieś skopane albo tak przekomplikowane że nie umiałem...
Źle zadeklarowałem pin, na którym jest podpięta dioda. Powinno być #define LED1 (1<<25) Faktycznie przy pętli wykonującej się 1000000 razy mruganie jest ledwo zauważane, zwiększenie na 10 milionów dało satysfakcjonujący efekt. Ponieważ dopiero raczkuję i nie mam jeszcze dobrze przeczytanego user manula dla LPC1768, to nie wiem z jaką częstotliwością...
1. Jeżeli przy braku wysyłania nośnej 36kHz na wyjściu TSOP masz stan wysoki, a podczas wysyłania nośnej masz stan niski to znaczy, że jest OK. 2. W jakim celu tak komplikujesz funkcję przerwania wykonującą zmianę pinu na przeciwny - wykorzystaj ostatni kod z mojego poprzedniego postu. 3. Najważniejsza jest jednak uwaga BlueDraco dot. sensu machania...
No jak to? 1. Za wolno machają pinami. 2. Ciężko znaleźć w DIP 3. Ciężko znaleźć na 5V 4. Najczęściej mają za małą wydajność prądową pinów 5. Brak EEPROM Poza tym umiem liczyć tylko do 10 ;-) Albert
(at)kamyczek - słabo znasz sprawę Do (at)koczisws . Układ jest wstępnie skalibrowany. Bajt kalibracji znajduje się w rejonie sygnatury i jest automatycznie wpisywany do rejestru zarządzającego oscylatorem OSCCAL. Wiec teoretycznie nie musisz tego robić. Można o tym poczytać w minutę. Otwierasz PDF do Tiny13 i w wyszukiwarce wpisujesz OSCCAL - kieruje...
Pisałem wcześniej, że generalnie się da, ale nie bezpośrednio :) Da się w taki sposób: Szukasz w nocie, które DMA na którym kanale i źródle ma TIMx_Trig - to będzie nasz timer który wyzwala transfer. (Na F4 chyba tylko 4 timery mogą być takimi wyzwalaczami) 1 Bierzesz tenże kontroler i na odpowiednim kanale/źródle ustawiasz adresy peryferium (IDR),...
ja zrozumiałem, że autor chce "wstrzyknąć" impulsy w linie sygnałowe enkodera. Może nie doczytałem, albo autor mógłby dopisać, jaki ma zamysł. Dokładnie tak. Radyjko nie zapamiętuje poziomu głośności przy wyłączaniu i standardowo ustawia na 15 (bardzo cicho) przy ponownym włączeniu. Mój zamysł: Po włączeniu radyjka wstrzykuje programowo impulsy poprzez...
Przy okazji jest biblioteka dla ESP8266 i PCF8574: https://github.com/WereCatf/PCF8574_ESP Wiem, przerobiłem ją nawet na swoje potrzeby. Ja napisałem taką do obsługi encodera przy pomocy pinów w PFC. Takie sobie, biorąc pod uwagę, że w ESP8266 nie ma kontrolera sprzętowego I2C i cała komunikacja jest emulowana programowo przez machanie pinami. Jakie...
https://obrazki.elektroda.pl/2143173200_... W Loop mam w uproszczeniu taki kod : Takie opisy są guzik warte. Podaje się kod: includy, inicjacje i użycie. Jeśli kompilator wyrzuca jakieś błędy to wkleja się cały komunikat. na atmega8 softserial nie działa Nie wiem czy na arduino jest jakiś lib który nie korzysta z przerwań PCINT, może...
Eh R-MIK, R-MIK. Poczytałbyś w Helpie do czego służą makra to byś w ogóle głosu nie zabierał. Makro działa jak coś wstawione INLINE i ma za zadanie wyręczyć Cię od pisania w kółko tego samego. Przy wyświetlaczach, jeśli chce się osiągnąć jakąś wydajność to wypada czasem coś zrobić INLINE a nie budować funkcji do machania pinem WR. Potem nie ma problemu...
Poćwicz sobie poszczególne operacje bitowe w kursie C wraz z kompilatorem online Cmaniak: http://mikrokontrolery.blogspot.com/2011... Możesz tam ćwiczyć także symulując Atmega8 (patrz przykład w zakładce Przykłady CManiaka). Dodatkowo: http://mikrokontrolery.blogspot.com/2011...
Zeby kolega nie pomyślał że mi projekt się nie podoba. Podoba się jak najbardziej. Po prostu ja (i pewnie kolega tmf, ale nie chce wypowiadać się za niego) wypisałem swoje przemyślenia. Projekt dziala zgodnie z zamierzeniami autora i realizuje sensowną funkcję - więc nie ma mi się co niepodobać, zresztą plusa kliknąłem :) Widomo, rozmawiamy, bo zapewne...
Na koniec argumentacja typu "ludzie to lubią" to już poniżej krytyki. Fiata 125p też lubią co nie czyni z niego auta nowoczesnego ani dobrego. Z jakiegoś powodu najpopularniejsze Arduino to UNO. W przeciwieństwie do PRL teraz jest wybór ale z jakiegoś powodu widzę potwory w postaci 2 x UNO zamiast MEGA. Z czego to wynika? Trzeba zapoznać się z projektami....
Nie neguję samego użycia UARTa tylko porównywanie rozwiązania w którym większość roboty odwala sprzęt do czysto programowego machania pinem. Ale nieważne. co innego jak się steruje 500led i w tym czasie odbiera dane DMX. Wysłanie danych dla 500 led to 15ms Ta moja procedurka obługi LEDów jest nieblokująca (w ograniczonym zakresie o czym dalej), więc...
Źle rozumiesz prace tego pinu! Nie ma takiego SPI gdzie CSy będą same chodzić w górę i w dół w zależności od tego czy nadajesz czy nie... CSem musisz machać sam!! . Przeciez piszac kod dokladnie wiesz, kiedy rozpoczynasz transakcje po SPI, więc cięzko tam jedna linijka kodu tego CSa ręcznie ustawić do masy?... Ustaw ten pin jako standardowe wyjscie...
(at)wojtek6000 Te diody niczemu nie służą i nic nie zabezpieczają. Jeśli podłączysz DS'a odwrotnie to i tak będzie podłączony odwrotnie ze wszystkimi tego konsekwencjami. Rezystor 4k7 przy zasilaniu 5V jest zupełnie ok. Pomysł z jakimkolwiek zabezpieczeniem ESD jest dobry. Na schemacie nie ma RS485. Natomiast takie podłączenie DSów, każdy do osobnego...
Faktycznie coś za optymistycznie chciałem :) Mam inny pomysł, który jednak osobiście niezbyt mi się podoba... ale działa. W przykładzie są tylko dwa kanały, ale dołożenie dwóch kolejnych jest bezproblemowe. Uruchomienie licznika jest w przerwaniu SysTicka tylko po to, aby odbywało się cyklicznie. Machanie pinem PA5 w celach "synchronizacji". http://obrazki.elektroda.pl/5897283800_1...
Sytuacja wygląda następująco: W wersji HAL 2.5.2 dla ESP8266 komunikacja Master-Slave po I2C działa, aczkolwiek z drobnymi błędami i powtórzeniami transmisji - sprawdziłem to z użyciem Twojego kodu z pierwszego postu, z użyciem NodeMCU oraz Wemos D1 mini. Master Slave nie działa . Z list dyskusyjnych wyczytałem, że problem dotyczy nowszego NonOS-SDK,...
Łap bo jak zaczniesz z tym Multimaster to się nigdy z tego nie wygrzebiesz a odkrywasz tu koło na nowo :D Po pierwsze nie zauważyłem wcześniej, że już skonfigurowałeś Serial in 0. Błędem natomiast jest jest używanie Serial out 0 a potem zamiast to wrzucić do bufora to wycinasz po jednej literce ze stringa i nadajesz pojedynczo... Po prostu napisz Print...
jednak chciałem skupić się na celu a nie oprogramowywaniu na niskim poziomie każdej funkcji. Widzisz, niestety kluczem do wydajności jest zejście do niskiego poziomu. Jeśli już nie całego projektu, to przynajmniej samej obsługi LCD. Ja np. w swoim projekcie, gdybym uznał, że bazuję tylko na gotowcach to bym pewnie teraz siadał ze swoją grą na Raspberry-PI(at)700MHz...
trudno uwierzyć że czerwone LEDy działają a zielone juz nie... chyba że faktycznie nadal machasz pull-up'em zamiast wysterowywać pin portu...
Skoro robisz komunikację po I2C to te definicje możesz wyrzucić - one są przydatne przy machaniu pinami IO.
Hehe, dzięki za obszerny komentarz :) To, że aby dokumentacja jakoś wyglądała trzeba się napocić oraz że niestety często biblioteki musisz strugać sobie sam, to niestety doskonale wiem :-/ Wielokrotnie poprawiam biblioteki do Altiuma, bo albo komuś nie chciało się zrobić sensownego modelu 3D w bibliotece, mimo że jest dostępny online na stronie producenta,...
Jeżeli chcesz wywołać przerwanie software'owo, to ustawiasz pin jako wyjście i odpowiednio machasz portem z poziomu kodu.
Nie chcę jej przenosić na inny pin. PA6 mi pasuje. Szukam bo nie wiem dlaczego nie działa PWM. Mam cały czas 0 na wyjściu i to niezależnie od TIM_CCER_CC1P. Jeżeli ustawię PA6 jako zwykłe wyjście to mogę bez problemu machać tym pinem. Dodano po 30 Identyczna konfiguracja tyle, że dla TIM4_CH1 na PB6 działa. Dodano po 30 Wiem, że posądzanie kompilatora...
Cena co prawda 2x droższa niż wspomniany STM32, ale za to mamy 2 kanały. Tak czy inaczej ten DAC nadal paradoksalnie jest nieco wolniejszy od ATMegi machającej pinami :D
Może nim peryferium jest gotowe do machania pinami to trzeba mu coś dorzucić do pieca? :D Nie konfigurowałem jeszcze CANa na uC.
Wszystkie wyświetlacze mają te same parametry, na początku trochę eksperymentowałem z wartością rezystorów na bazie/kolektorze tranzystorów, bo te grzały się lekko. Potem sprawdziłem i okazało się, że nie wchodziły w stan nasycenia. Najlepsze wartości takie RB = 24 k, RC = 100k. Sam program sterujący dla wszystkich wyświetlaczy jest identyczny, różni...
No to kiepsko. Przeczytałem sobie kilka razy rozdział o GPIO aby znaleźć informacje maksymalnej szybkości odczytu "danych wejściowych". Wiem, że maksymalna prędkość 50 MHz w przypadku pracy jako wyjście jest nieosiągalna przez proste machanie pinami. W przypadku wejścia czytam, że: "The Input Data register (GPIOx_IDR) captures the data present on the...
Najprościej to podłączyć je przez JTAG i w debugerze AVR Studio sobie machać pinami. Można też sobie napisać stosowny programik, ale to mniej wygodne.
Można prosić o podanie dokładnego modelu? Mea culpa - Raspberry Pi B+ (BCM2835 700 MHz/512MB RAM) / choc już teraz widzę, że taktowanie bedzie problemem... Dlaczego łączenie par w skrętce miałoby pomóc sygnałowi sterującemu LEDy? Przecież nie jest to sterowanie prądowe. Myslalem o spadkach napiec na GPIO, jakby nie patrzec polegaloby to wtedy na "machaniu...
"Przez które funkcje?" -nie rozumiem pytania. Na przykład przez funkcję która wkłada/wyjmuje z listy. Ten kod ma chronić współdzielone zmienne przed równoczesmym zapisem / (odczytem podczas zapisu). Zapisy i odczyty moą być robione zarówno w głownej pętli programu jak i w przerwaniach. Mógłbyś mi podać przykład użycia tego kodu żeby powstała data race?...
Nie odpisałeś, jaki ma być interfejs we/wy. Czy uda Ci się wykorzystać interfejs SPI? Jeśli nie, procesor będzie pochłonięty machaniem pinami. Przerabiałem taki temat.
Jak dla mnie I2C w STM32 działa doskonale... Owszem, w erracie jest opisany jeden problem, ale wraz z rozwiązaniem, którym nie jest ręczne machanie pinami. 4\/3!!
Wydaje mi się, że nie dobrze zrozumiałeś co to jest One Pulse Mode, dlatego masz problem z konfiguracją W tym trybie nie ma konieczności wyłączenia timera poprzez: TIM2->CR1 &= ~TIM_CR1_CEN; bo on sam się wyłącza (przestaje liczyć) zgodnie z ustawieniami. Ja do tego zadania użyłbym trybu PWM i zrobił to jak w kodzie: https://obrazki.elektroda.pl/6412232700_...
michal5123 : nie no rozbawiłeś mnie swoją wypowiedzią :D Z DS czy bez niego, postąpić trzeba tak samo. DS jedynie ułatwi zadanie bo w nim pisze jak trzeba postąpić. A jak już, to trzeba programator równoległy a nie HV. Po trzecie programu do ATMegi żadnego nie wgrasz bo właśnie wgrywanie sobie teraz zablokowałeś. Delphi się nie programuje. To Delphi...
(at)Pong.Chu - tylko co ludzie robią na raspberry? Jeśli machają pinami to tak samo zrobią na banana, na orange, na nano. Jeśli korzystają z SPI, I2C, 1wire, UART to zrobią tak samo na banana, orange, nano. Nie ma co przesadzać, większość rzeczy działa od razu albo wymaga niewielkiego dostosowania. Przypinanie się do konkretnego SoC i wersji kernela...
Słuchajcie, a jak to jest z machaniem pinami? O pierwszych siódemkach z Philipsa czytałem,że wolno machają stanami na wyjściach GPIO. A jak to wygląda w STM32? 2 cykle zegara na zmianę stanu (tak samo jak w AVR i nie-antycznych LPC). Przy taktowaniu 72MHz miałem przebieg 18MHz na pinie. Co do prefetch buffer - no to jest taka jednak proteza. Przyzwyczajaj...
Nawet głupie machanie pinami to już nie PORTD|= i PORTD&=^ a zwyczajnie PORTD.OUTSET= i PORTD.OUTCLR= ... Do tego dochodzi np. pull-down którego w starszych Atmegach nie ma oraz alternatywne funkcje, których w starszych atmegach również nie ma. Timery zupełnie inaczej się konfiguruje, ADC podobnie, dystrybucja zegara też, uśpienie, przerwania ... mnóstwo...
Prosze - Zgodziłbym się, że rzeczywisty czas na wysłanie danych przy machaniu pinami byłaby 2-krotnie większy ale nie przeszło 5-krotnie. Gdzie leży problem ? Jestam wlasnie napisane, ze roznica jest pieciokrotna :D
A ja się nie zgadzam z Tobą, bo o ile nawet założymy że taki Willem powinien powstać, to nie powstał. A skoro nie powstał o mamy tylko tego starego. Starego który wymaga jedynie machania pinami aby zadziałał. I tego machania pinami nie daje mu przejściówka USB-LPT. Czyli winna jest przejściówka. Gdyby pinami machała, to Willem by przecież z nią działał....
Ah, czyli problem z kategorii "sztuczne" - trzeba coś zrobić, musi być super-ultra-szybkie, ale użyć należy układów które nie są super-ultra-szybkie w tym co trzeba zrobić. Your call... Zrozum, że żaden mikrokontroler nie jest przystosowany do machania pinami z wysokimi częstotliwościami, a już na pewno nie te nowoczesne i szybkie. Swoją drogą to Twój...
Żeby nie tracić czasu na bezsensowne kombinowanie a później nie czekać Bóg wie ile na zaprogramowanie. U mnie na FT2232 wgrywanie 50KB trwa kilka(naście) sekund. Na ft232 będzie WIELOkrotnie dłużej. USB nie jest dobre do machania pinami.
Kurs jest ok. Jako referencje polecam "Język ANSI C" Kernighan and Ritchie, jest tam wszystko w pigułce, ale informacje są tam tak zwarte, że początkujący się raczej z tego nic nie nauczy. Chociaż gdy już umiesz C i potrzebujesz czasem tylko coś tam zobaczyć, to nie ma lepszej książki. Do nauki polecają książkę "K. N. King - Język C" ale osobiście jej...
Przejrzałeś choć mój makefile i opcje tego pluginu przed pytaniem? W moim makefile opcje odpowiedzialne za to są podane WPROST - ffunction-sections (kompilator), -fdata-sections (kompilator) i -gc-sections (linker) - teraz tylko je znajdź w parametrach plugina. Są tam na pewno, bo osobiście pisałem patch'a, który by je tam dodawał. Pozatym, ile razy...
Nie wiem ale wydaje mi się Ci chyba nie cgodzi tylko o "manglowanie" pinem? :) A ile dajesz radę "manglując" LPT? Zresztą do generowania prostokąta masz PWM a nie machanie :)
Z ta częstotliwością to weź przeczytaj jeszcze raz to co napisałeś i przemyśl to... :/ Dobrze to przemyśl. A do ADC nie podpinasz kwarcu tylko podajesz mu sygnał zegarowy (np z generatora). To z jaka szybkością możesz "machać" pinami IO powinno byc w DS atmegi, a jak nie ma to sprawdź doświadczalnie.
Witam 10 bitów to 1024 kombinacji - chcąc mieć dokładność 0.1 stopnia daje to rozpiętość 102.4 stopnia w idealnym przypadku dopasowania napięć a skoro chcesz zakres od -35 stopni celcjusza zobacz jaką wtedy pt1000 będzie miał rezystancję - daj ją w szereg z czujnikiem (niekoniecznie przy nim ale tak żeby przepływał przez nie ten sam prąd co przez czujnik)...
natomiast to, że się nie da to nie moje słowa, więc czemu tak pogrubiasz? Jesteś początkujący, chcesz pomrugać diodami - ale dość mocno, i (lub) masz urządzenia które do niego podłączasz na 5V. Bez sensu pchać się w LPC, który ma 10 razy mniejszy prąd wyjściowy niż ATMEGA i jest na 3,3V - choć oczywiście się da. A poproszę o dokumentację dla początkującego...
Czy ja wiem, czy taki rozwiązany? Raczej zatuszowany. Prędzej, czy później (oby wcale) nie wróciło to ze zdwojoną siłą, i procesor się zawiesi robiąc komuś krzywdę bądź wyrządzi szkody materialne (uszkodzi siłowniki itp od zawieszenia i nie kontrolowanego machania pinami). Ja bym szukał dalej. Coś musi być skoro LCD szaleje. Masz oscyloskop? Sprawdź...
Witajcie. Mam pytanie co do obsługi pinów SSEL w przypadku korzystania z SPI0 i SPI1. Jeśli chodzi o SPI0 to wiem, że należy w rejestrze PINSEL pozostawić pin SSEL jako GPIO i kiedy trzeba machać nim ręcznie. Czy w przypadku obsługi SPI1 (SSP w trybie SPI) też trzeba podobnie robić?
OK. To tak - po pierwsze - transmisja USB na ATmega8 jest napisana, wystarczy wgrać - http://www.cesko.host.sk/IgorPlugUSB_RS2... i to faktycznie działa. Dalej - można i bez mikrokontrolera, ale potrzebujesz RS232 lub LPT albo coś, co pozwoli ci machać pinami tak, jak chcesz ty, a nie standard transmisji. Czyli jeśli...
zworka pinem zablokowany ekran pinem ekran zablokowany pinem
becker europa szron tyłu lodówki wyczyścić laptop zalać
irobot stacja przestawiony rozrzad
Klawisz z dwoma kółeczkami w BMW E39 - funkcja AUC Zmiana kondensatorów w wzmacniaczu WS432: 6800µF i 1000µF