analizator napisał(a):
I wtedy kompilator dopiero zwrócił mi (nawet nie błąd) ostrzeżenie, że w tym działaniu nastąpi przepełnienie typu. Do licha, jak to możliwe? Wszak wynikiem tego działania jest zaledwie 2 000 000 a ten typ danych (4 bajty unsigned) mieści liczbę nieco ponad 4 miliardy.
Ale ty nie doczytałeś sobie o tzw "domyślnej promocji do int" ... a warto:
http://atnel.pl/domyslna-promocja-do-typu-int.htmlwtedy byś zrozumiał, że wystarczy to zapisać tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i obliczenia przejdą poprawnie
------------------------ [ Dodano po: 1 minucie ]analizator napisał(a):
Zastosowałem typy uint16_t i teraz soft działa dobrze.
A widzisz ?

bo to właśnie ma bezpośredni związek z tym co napisałem wyżej - "domyślna promocja do int czyli do typu 16-bitowego"
------------------------ [ Dodano po: 4 minutach ]analizator napisał(a):
To jak to jest w końcu, czy te „średniowieczne” mikrokontrolery nie obsługują nawet typów 4 bajtowych? Kompilator niby obsługuje te typy, w książce niebieskiej są przedstawione jako zdatne do użytku, a w realu nie działają?
Niestety to co tu wypisujesz to średniowiecze ... bo zamiast się zastanowić i pomyśleć ... "kurczę pewnie o czymś nie wiem - warto dopytać" ... to wyciągasz jakieś sobie banialuki z głowy ...
Polecam ci tę książkę i to zdecydowanie:
http://atnel.pl/mikrokontrolery-avr-jezyk-c.htmlZ tego co piszesz to ją niby masz .... ale widać, że jak część osób przeleciałeś jak burza po wybranych rozdziałach uznając, że nie ma co czytać całości no i wychodzi co wychodzi .... A ja w tej książce piszę i podaję przykłady jak radzić sobie z obliczeniami zmiennoprzecinkowymi bez typów FLOAT, bo można. A jak się uprzesz już na obliczenia zmiennoprzecinkowe to
1. zaraz się zdziwisz i zaczniesz narzekać, że STRASZNIE wzrosło zużycie FLASH
2. że obliczenia zaczynają wolniej działać niż ty się spodziewałeś
a zajrzyj że sobie na mój blog:
http://mirekk36.blogspot.com/2013/04/ec ... float.html i zobacz jak to się robi żebyś mógł na własne oczy zobaczyć, że działają obliczenia na typach zmiennoprzecinkowych w AVR
Książka ale po przeczytaniu całości wiele ci wyjaśni o tym jak podejść do programowania mikrontrolerów właśnie - szczególnie gdy jesteś przyzwyczajony do programowania obiektowego na PC i nie rozumiesz na tym etapie jak np w takim małym procku zorganizować sobie Zdarzeń (EVENTs), Timerów programowych, czy funkcji zwrotnych (Callback) - a można i to spokojnie .... i ta książka właśnie też o tym traktuje i wprowadza czytelnika w taki sposób programowania ...
------------------------ [ Dodano po: 11 minutach ]analizator napisał(a):
A są w ogóle jakieś ATTiny, które normalnie (jak np.: choćby te stare Pentium) obsługują obliczenia zmiennoprzecinkowe i tak dalej? Przepraszam ale jestem programistą PC’towym i tu mi brakuje jakby to powiedzieć
No to właśnie IDEALNIE widać, że jesteś programistą PC'towowym ... a tacy zwykle się załamują gdy nagle ktoś im wyjmie obliczenia zmiennoprzecinkowe - to jakby im wyjąć dywanik spod nóg. Gdy tymczasem na takich małych 8-bitowych prockach wręcz warto unikać jak ognia obliczeń na typach zmiennoprzecinkowych. Ale UWAGA!

.... nie oznacza to że nie da się mieć obliczeń w wyniku których trzeba przedstawić liczby zmiennoprzecinkowe bo się da! i to bez typów float i double a TYLKO w oparciu o typy całkowite

... hmmm dziwne to pewnie dla ciebie co?

.... a da się .... i to dość prosto ....
Widzisz ? Wszystko się prawie da - tylko trzeba zrozumieć ideę jak podejść do programowania na małych prockach ... więc jeszcze raz powtórzę po to jest książka BLUEBOOK ... bo w niej masz także pokazane przykłady jak bez zmiennoprzecinkowych obliczeń (które oczywiście są dostępne .... choć ty chyba nawet o tym nie wiesz) .... można uzyskać wyniki zmiennoprzecinkowe w oparciu o obliczenia na typach całkowitych...
To dziwne, zresztą troszkę, że zabierając się za procki i AVR GCC nawet nie zapoznałeś się z podstawowymi typami dostępnymi w tym kompilatorze dla tych procków.... A od tego zwykle się zaczyna.
------------------------ [ Dodano po: 16 minutach ]analizator napisał(a):
kilku fajnych rzeczy poczynając od BIOS’u z obsługą FAT16 np.: do kart SD, 10MB RAM’u, trybu chronionego, i tak dalej.
Pomyśl o skali .... bo schodzisz z GIGANTYCZNEGO systemu np Windows czy Linux na PC czyli na 64 bitowych procesorach wielordzeniowych i wielowątkowych na samo dno ..... do świata mikroskopijnych zwierzątek 8-bitowych ... i co ? chcesz im zapakować na plecy 10 MB RAMu ?

.... Panie panie ... haaalo, puk puuuk .... tu procki np ATtiny2313 mają tylko 128 bajtów RAM ! a ATtiny13 tylko 64 bajty RAM a są i takie bez RAM !!! ... i co? i da radę ....
Da radę i obsłużyć kartę pamięci z systemem FAT32 !, da radę obsłużyć EThernet !!! .... i mnóstwo innych ciekawych rzeczy .... pomyśl jakie to są dopiero ciekawe wyzwania ... żeby tego dokonać na takich mikrusach a nie iść na łatwiznę i robić to pod kontrolą systemu Windows czy Linux
