Wynik funkcji pomiaru temperatury to zmienna typu unsigned long . Także definicja zmiennej temperature jest nieprawidłowa. Dla wyświetlenia 2 pozycji wystarczy odczytać tylko 1 byte (unsigned char). Dlatego też zastosowanie tej funkcji jest nieprawidłowe: [syntax=c]LCDDisplayFunc((int)temperatur... / 10, (int)temperature % 10); [/syntax] Należy rozłożyć...
, przetłumacz poniższy kod z BASCOM AVR na Arduino Uno: $regfile = "attiny2313.dat" $crystal = 8000000 Dim A As Byte a=0 Config Pind.6 = Output led Alias Portd.6 led= 0 Config Pind.0 = Input Portd.0 = 1 Sw Alias Pind.0 do if a >1 then a=0 if sw=0 then bitwait sw, set incr a End If if a=1 then toggle led waitms 100 else led=0 end if loop end Przekształcanie...
Zadeklaruj typy tylko w .h, a przed #include w pliku .c, który ma zawierać zmienne, daj #define extern (puste); możesz też użyć #ifndef extern w pliku .h, żeby pominąć to, co ma być #include-owane przez inne pliki .c, a w tym ze zmiennymi nie powinno być. Przedefniniowywanie znaczenia jakiegokolwiek słowa kluczowego (tutaj: extern) za pomocą preprocesora...
Ok rozumiem. Spróbuj tego. Użyte przerwanie. Można też zrobić bez zależnie od potrzeb. $regfile = "m8def.dat" $crystal = 8000000 Dim Zmienna As Word Dim A As Bit Config Pinb.1 = Output Config Pind.2 = Input Set Portd.2 '============ definicje timera ================================ Config Timer1 = Timer , Compare A = Toggle , Compare B = Disconnect...
Definicja struktury musi być widoczna we wszystkich plikach .c, w których jest używana - stąd najwygodniej umieścić ją w pliku nagłówkowym. Wtedy jest pewność, że we wszystkich plikach .c używana jest jedna i ta sama definicja. Pliki .h to żadna magia - polecenie #include powoduje najnormalniejsze, tekstowe włączenie pliku w miejscu wystąpienia tego...
W AVR GCC wszystkie zmienne globalne i statyczne są automatycznie zerowane i nie ma najmniejszej potrzeby ich inicjalizacji zerami. Jeśli natomiast definicja zmiennej znajduje się wewnątrz funkcji to już trzeba ją samemu inicjalizować. Co jest dosyć oczywiste, bo nie jest wtedy zmienną globalną :) Przy czym istnieje wyjątek - lokalne zmienne statyczne...
Witam! Są następujące przypadki: - Jeśli np zmienna zewnętrzna została zadeklarowana w innym pliku, wówczas w bieżącym pliku musi wystąpić potwierdzenie tejże deklaracji poprzedzone klasą pamięci extern. - dotyczy funkcji w starszych wersjach języka C (K&R). Jeśli definicja funkcji nie jest poprzedzona typem to kompilator przyjmuje domyślnie, że typem...
Dodano po 8 Do While Math.Abs(f) > eps lub Do Until Math.Abs(f) < eps
OK, no to następne podejście z nadmiarowym kodem testowym odliczającym w kółko na ATmega8515 zamiast ADC - wyświetlanie bez zarzutu. Co do tego dziwnie wyświetlanego zera, to może masz zamienione a z g, b z f itp. W tej wersji łatwiej zapanować nad częstotliwością odświeżania segmentów - zbyt duża skutkuje podświetlaniem sąsiednich cyfr, zbyt mała -...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
http://obrazki.elektroda.pl/1661316800_1... Witam ponownie Tym razem chciałbym zaprezentować projekt lżejszego kalibru - zegarek wskazówkowy i termometr zbudowany na AT91SAM7S64. Wykonałem ten projekt, bo chciałem trochę pouczyć się programowej obsługi wyświetlacza graficznego z Nokii 3310, programowej obsługi enkodera inkrementalnego...
(at)ElektrodaBot (at)ElektrodaBot proszę, przeanalizuj ten z załącznik stepgen.c i sprawdź, czy jest on poprawny. A drugi problem to "void stepgen_update(stepgen_t *stg)". Nie wiem, gdzie to wpisać. Bezpośrednia odpowiedź na pytanie Z załączonego kodu wynika, że główny problem dotyczy zarówno niekompletnej (lub błędnej) deklaracji struktur w pliku...
Hej. Wiem że wszyscy jesteście bardzo zajęci i nie macie czasu na zajmowanie się pierdołami ale może ktoś się zlituje i pomoże dokończyć moje bazgroły i uruchomić je na ESP32 jako stronę www z możliwością odczytu i wprowadzania danych które przez I2C będą zapisywane i odczytywane ze sterownika. Tyle udało mi się nabazgrać w sprawiającym masę kłopotów...
Już to zauważył (at)tos18 dziwne rzeczy się z klamrami dzieją. Radzę zacząć używać programów do formatowania kodu, które dość częstą są wbudowane w edytory kodu. Programy te znają składnie języka C i zrobią poprawnie wcięcia zgodnie z regułami języka. Pozwala to szybko rozeznać się w kodzie i wykryć szybko niektóre błędy. Np. czasami się zdarza wstawić...
(...) { stagSerial.write(command ); Serial.print(command , HEX); Serial.print(" "); } Serial.println(); } void displayOxygenPercentage(float percentage) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Tlen: "); lcd.print(percentage, 1); lcd.print("%"); } Podaj pełny kod. Jeśli chcemy, aby regulator PID utrzymywał wartości z przedziału, należy zmodyfikować...
Jak zrobisz cewkę ( zwóje drutu miedzianego) i zaczniesz obracać magnes przed nią to właśnie powstanie napiecie sinusoidalne zmienne. Wynika to ze zmian pola magnetycznego. To samo dzieje się w elektrowniach tyle ze cewek jest 3 ustawione po okręgu co 120 stopni a w środku nie wiruje magnes ,a elektromagnes w wirniku. Mini wersją takiego generatora...
kiedy wciskam przycisk, liczenie czasu nie rozpoczyna się. czy mógłbyś zaproponować inaczej napisany kod? Wstępna ocena dostępnych informacji Analiza podanych przez użytkownika danych: - Problem zgłoszony przez użytkownika: - Po wciśnięciu przycisku, liczenie czasu nie rozpoczyna się . - Użytkownik prosi o propozycję innego kodu, który rozwiąże ten...
przerwanie ustawia flagę na 1. Sprawdź jeszcze raz. Przepraszam za pomyłkę w moim ostatnim komentarzu. Masz rację, Twoje przerwanie rzeczywiście ustawia `odb_flaga` na 1. Przeoczyłem to wcześniej. Z analizy Twojego kodu wszystko wygląda prawidłowo. Jak już wspomniałem, warto upewnić się, że używasz odpowiedniego taktowania zegara do obliczania `MYUBRR`....
Napisz program, który będzie odczytywał prędkość i czas co 0,2s z modułu GPRS i zapisywał na kartę pamięci mikroSD. Ogólnie projekt wykonałem na Arduino Mini + GPS GY-NEO6MV2 Witaj na forum elektroda.pl! Na początek świetnie, że już masz sprzęt przygotowany. Skoro używasz Arduino Mini oraz modułu GPS GY-NEO6MV2, będziesz potrzebował bibliotek do obsługi...
Odbiornik liniowy to taki którego zależność pomiędzy napięciem a przepływającym prądem jest liniowa czyli spełnia prawo Ohma. (czyli ma parametry stałe w czasie można by powiedzieć). Natomiast odbiornik nieliniowy ma charakterystykę z kolei nieliniową (przykładowo zmienna rezystancja w czasie, pod wpływem przepływającego prądu). Żarówka jest odbiornikiem...
ehm, cóż to jest chyba w helpie do avr studio, ale mogę napisać: 1. definicje stałej: .equ STAŁA = WARTOŚĆ 2. definicja zmiennej: .def ZMIENNA = NAZWA_REJESTRU
Prąd przemienny (ang. alternating current, AC) – charakterystyczny przypadek prądu elektrycznego okresowo zmiennego, w którym wartości chwilowe podlegają zmianom w powtarzalny, okresowy sposób, z określoną częstotliwością. Nie musi mieć sinusoidalnego kształtu jak pisze retrofood. Może być dowolny byle symetryczny względem osi OX. Prąd zmienny...
1) Przykład dla "Numerical Input" w GOT. W PLC zmienna typu TIME, w GOT definicja w Label jako typ unsigned BIN32. https://obrazki.elektroda.pl/8363924300_... https://obrazki.elektroda.pl/4780876400_... https://obrazki.elektroda.pl/6376375900_... 2) Fixed Scan to przerwanie o stałym czasie cyklu, można...
Witam wszystkich 1) Mam pytanie o miejsce umieszczenia definicji nowego typu strukturalnego przykład poniżej [syntax=c] struct czas { uint8_t Top; uint8_t Tpw; uint8_t Tpz; }; //---------------- plik nastawy.h --------------------- extern struct czas nastawy; //-------------- plik nastawy.c ----------------------- // definicja zmiennej strukturalnej...
W przypadku zmiennych extern oznacza deklarację, czyli mówisz kompilatorowi tylko tyle ze ta zmienna istnieje nie tworząc jej. Definicja czyli bez extern Tworzy tą zmienną. Podobnie jest z funkcjami ale tam extern ma trochę inne zastosowanie. Deklaracja - mówisz kompilatorowi jak dany twór wygląda. Definicja - kompilator stworzy ten twór.
Zrobienie ze wszystkich pól volatile nie jest dobrym pomysłem z trzech powodów - pierwszy - po co pisać 10x volatile skoro można raz. Drugi jest bardziej subtelny - zdefiniowanie struktury z polami volatile powoduje, że nie jest możliwe stworzenie zmiennej o takim typie, ktorej pola nie są volatile. A to może się przydać - np. skopiujemy oryginalną...
Obiekt to instancja klasy. To, czy zmienna jest obiektem, może zależeć od danego środowiska/kompilatora. Niektóre typy proste pozwalają traktować jak obiekty, inne nie. Aczkolwiek nie jest to stricte obiektem. Niemniej może być jak obiekt traktowany. W innych zaś językach/kompilatorach nawet typy proste są w pełni obiektami.
W pliku "stdint.h" znajdziesz: typedef signed char int8_t; typedef unsigned char uint8_t; Jest to po prostu definicja typów ;) uint8_t to po prostu zmienna unsigned char nic więcej ;) A EEMEM to zmienna przechowywana w pamięci eeprom.
Witam ... czy ktoś potrafi podrzucić jakiś przykład na esp-now jak napisac komunikację pomiędzy dwoma esp jako nadajnik i odbiornik? nie chodzi mi o wysyłanie pomiarów temperatury czy informacji na port szeregowy tylko np: przyciśnięcie przycisku 1 zapala diode 1 do czasu puszczenia przycisku przyciśnięcie przycisku 2 zapala diode 2 do czasu puszczenia...
Liczyłem, że kolega (at)tmf ustosunkuje się do poniższego fragmentu kodu kolegi (at)LED5W, który jest kompletnie bzdurny, zamiast z góry zakładać, że "nie mam racji": Liczyłem, że kolega zamiast stosować epitety, wyjaśni dlaczego coś uważa za "bzdurne". Co do reszty: Skoro zmienna jest typu char*, a nie const char*, to kompilator nie może sobie "założyć",...
Powiem tak jedyny problem jaki mam (pewnie dla Ciebie jest blachy) to żeby używać np include stm32f429xx.h lub core_cm4.h to dodałem je jeszcze raz (skopiowałem z CMSIS do folderu gdzie ich używam ). To mi się tylko nie podoba bo mam teraz dwa razy te same hadery w projekcie, a nie wiem gdzie dodać patch a jak piszę w pliku bezpośrednio ścieżkę to...
Witam, czytając książkę "Język C dla mikrokontrolerów AVR" natknąłem się na stronie 313 na przykład migania diodami led w przerwaniu od timera. Bardzo proszę o wytłumaczenie mi dlaczego w przerwaniu definiowana jest na początku zmienna LED, z tego co rozpisałem sobie na kartce wynika że stan portu b nigdy sie nie zmieni...(chyba ze definicja bylaby...
No i jeszcze jedno pytanie: jak mozna zautomatyzowac proces kopiowania wierszy. Chodzi mi o to zeby skopiowac np co piaty wiersz z danego arkusza. Oczywiscie mozna by bylo wpisac: Range("5:5,10:10,15:15,20:20,25:25").Sel... itd ale mam w arkuszu okolo 1000 takich wierszy do skopiowania wiec troche za duzo roboty, byloby gdybym musial to wszystko "recznie"...
Witam, Mam następujący problem. Buduje sobie lokalizator. Przez USART0 komunikuję się z GPSem (GPS wysyła dane co 1s) i tu komunikacja przebiega jak należy. Natomiast przez USART1 komunikuję się z GSMem. W tym przypadku wysyłanie działa poprawnie, natomiast odebrane dane zawierają tylko dwa pierwsze i dwa ostatnie znaki. Sprawdzałam procka RealTermem...
Witam, mikroprocesor Atmega 8A odczytuje błędne dane z czujnika temperatury MLX90614 wersja 5V Sprawdzone rzeczy: -ciągłość połączeń -napięcie pomiędzy nóżkami zasilania -nowy mikrokontroler -definiowanie innych wejść sda i scl w atmedze - różne adresy zapisu i odczytu zapisu:&B00000000, &H5A odczytu:&B00000001 &H5B -różne napięcia podciągające schematy...
http://obrazki.elektroda.pl/3438606900_1... Kurs: C mamy typy: -podstawowe: typy znakowe, całkowite i rzeczywiste -pochodne: wskaźnikowe, tablice, struktury, unie. Typy i zmienne całkowite http://obrazki.elektroda.pl/5522476200_1... Rozmiary zmiennych danego typu http://obrazki.elektroda.pl/7250805900_1... Użycie...
Kompilator / konsolidator realizuje zmienną tak, jak jest to możliwe. Jeśli zmienna volatile jest lokalna dla funkcji, to może ona zostać umieszczona w rejestrze. Teoretycznie zmienna publiczna też może być zrealizowana w rejestrze, tylko wymaga to wiedzy o całym programie i w dodatku stwierdzenia, że możemy sobie na to pozwolić, bo wszystkie funkcje...
Napisałem funkcję typu Byte, bo nie wiem czy istnieje odpowiednik void'a z C w Delphi. Istnieje. Nazywa się to procedura; eng: procedure (funkcja nie zwracająca wyniku). Trochę kolega przestrzelił z tą funkcją :) To jest definicja żywcem przeniesiona z C i to w dodatku C dla mikrokontrolera. Przekazanie wskaźnika jest jak najbardziej poprawne, ale...
Podpowiedź: Definicja tablicy we fleszu: char WCholereDuzaTablica[1000] PROGMEM = {/*tutaj wartości*/}; I odczyt wartości: Zmienna = pgmReadByte(&WCholereDuzaTablica[... Mega8 ma 1 kB SRAMu, nie wciśniesz tam tej tablicy, bo jeszcze stos i inne zmienne gdzieś muszą się zmieścić.
Witam! Mam problem z timerami w języku C (w moim projekcie) dlatego zwracam się do Was o pomoc. Napiszę od początku, żeby przedstawić o co mi chodzi. Zbudowałem kiedyś sterownik taśmy led RGB oparty na mikroprocesorze attiny2313, w którym za pomocą jednego przycisku zmieniam podstawowe kolory na pasku ledowym (czerwony, zielony, niebieski) oraz ich...
super , dziękii za pomoc , a jeszcze jedno pytanie: to samo , tylko , że z przypisana zmienną np potega "x" i wykonuje "x" * "x" Deklaracja (przed pierwszym użyciem w kodzie): Declare Function Potega( Byval X As Integer) As Integer Definicja (na końcu programu) Function Potega( Byval X As Integer) As Integer Potega = X...
Zrobiłem coś takiego. Dodano po 14 O to efekt.
mamy tutaj rozruch LCd'ka http://mikrokontrolery.net/avr_c_08.htm #define LCD PORTC tutaj 'zmiennej' LCD jest przypisany caly PORTC chcialbym to rozbic w ten sposob? #define LCD^0 PORTC^0 #define LCD^1 PORTC^1 #define LCD^2 PORTB^2 #define LCD^3 PORTC^3 #define LCD^4 PORTC^4 #define LCD^5 PORTB^5 #define LCD^6 PORTC^6 #define LCD^7 PORTC^7 albo: #define...
Witam Kolegów, "Sprowokowany" przez Kolegę mirekk36 wziąłem się za napisanie prostej, nieblokującej funkcji obsługi switcha, która zwraca następujące wartości: - IDLE, gdy klawisz niewciśnięty, - SHORT, gdy wciśnięty przez czas poniżej 50…<500ms, - LONG, gdy wciśnięty powyżej >=500ms, - REPEAT, gdy nadal trzymany (powtarzanie co 200ms)....
Czy ktoś potrafi mi wyjaśnić czym jest sigma w zmiennej zespolonej s? http://obrazki.elektroda.pl/6936921000_1... omega to pulsacja, j - jednostka urojona, natomiast nigdzie nie mogę znaleźć wyjaśnienia co oznacza sigma. Jak rozumiem s to częstotliwość zespolona, czyli sigma będzie częścią rzeczywistą częstotliwości zespolonej. Ale czy...
Dzięki wielkie Dondu :) Wiele Twoich artykułów czytam. Miło mi :) A teraz.... Fujara jestem.... Poprawiłem kod: [syntax=c] /* * main.c * * Created on: 11 maj 2015 * Author: Radek */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define KEY1 (1<<PA0) // definicja przycików #define KEY2 (1<<PA1) #define...
zastosowałem Timer i nie działa, nie załącza mi alarmu wogóle. Zasada jest taka, jeżeli uzbrojony ma dać mi czas na wyjście i ma zacząć czuwać, następnie gdy wykryje ruch ma czekać 6 sekund, jeżeli nie rozbroje w tym czasie ma załączyć syrenę, jeżeli tak wyłącza alarm. [syntax=c] #include <Timers.h> // biblioteka timers #define PRZYCISK 21 //...
W załączniku zrzut z programu. 1. Tworzysz nowy "screen" 2. Tworzysz nowy "button" 3. Wchodzisz w zakładkę "operation" 4. W zależności od potrzeb odznaczasz "Fedbak Tag" 5. Klikasz w "Action for Touch Key" 6. W nowo otwartym oknie jako "Select a Task to add" wybierasz opcję np: "goto screen" i wybierasz numer screena jaki ma otworzyć dany przycisk....
1. Masz błędny tytuł postu - nie chodzi o żadne wstawki asemblerowe, a o łączenie C z asemblerem, czyli program hybrydowy. 2. Po co Ci te moduły i procedury asemblerowe? Kompilator C doskonale sobe radzi z dostępem do rejestrów. 3. .. Zgadzam się z tymi 3 myślami. No i mam jeszcze jedno pytanie czy taka zmienna powinna byś volatile? To jest myślenie...
A co ma średnia zeskładową stałą wspólnego? Ano tyle, że pan doktor na wykładzie nam powiedział, że składowa stała jest RÓWNA wartości średniej przebiegu.. ale taka definicja średnio do mnie przemawia, stąd się chciałem zapytać, jak to poprawnie rozumieć. Z tego co napisałeś, wynika, że przy wyprostowaniu jednopołówkowym, składowa stała jest równa...
Witam serdecznie mam mały kłopot z obsługa przycisku KEY3 jeśli nacisnę klawisz sw3 to zmienna powinna zmienić wartość na 1,a warunek do obsługi klawiszy KEY2 i KEY1 powinien być spełniony, niestety nie działa :([syntax=c]/* * main.c * * * */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define KEY1 (1<<PB0)...
Biblioteki to jeden ze sposobów na pisanie kodu. Z tego co widziałem na forum to właśnie jest to sposób na szybki start, a krytyka jest związana raczej z nieumiejętnym korzystaniem z biblioteki w tym również w przykładach. Za przykład podam tutaj przykład GPIO - IO Toggle (stm32f4_dsp_stdperiph_lib). Definicja zmiennej GPIO_InitTypeDef GPIO_InitStructure;...
Witam, Pewnie sprawa będzie dla was banalna ale ja się z nią zmagam już jakiś czas. Poniższy kod steruje 5 serwami: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define KEY1 (1<<PA0) // definicja przycików #define KEY2 (1<<PA1) #define KEY3 (1<<PA3) #define KEY1_DOWN ( !(PINA &...
Witam wszystkich, Potrzebowałem uruchomić układ z większą ilością termometrów DS18x20, które będą rozlokowane w różnych miejscach domu i poza nim. Część z nich będzie wpływała na uruchomienie ogrzewania, inna część będzie tylko informacyjna. Jeszcze inna będzie miała za zadanie zabezpieczenie elektroniki przed przegrzaniem. Taki w ogólności jest zamysł...
Czyli wyczyszczenie magistrali następuje w pierwszej linijce tej funkcji, tak? Mam cały program i coś jest nie tak. Temperaturę z MCP9700 odczytuje prawidłowo, a z dallasa mam ciągle "cisza". Poza tym wszystko działa bardzo wolno i jak wyjmę kondensator filtrujący spomiędzy pinów MCP9700 to nie reaguje na zmianę napięcia. Procesor to ATmega8 i jest...
Funkcja dlugosc za pomocą pętli for liczy sobie zmienną a od 0 do 255 w celu znalezienia w którym miejscu jest znak pusty. Definicja stringa uzywanego w c: Jest to tablica pojedynczych bajtów unsigned char tekst[x] //xx=ilosc znakow jaki ma maksymalnie przechowywac zmienna tekst Ciąg w tej tablicy konczy sie znakiem pustym, więc trzeba go zlokalizować....
Kolego, C to C niezależnie, czy na mikrokontrolery, czy na PC. Więc ponowię radę - kup książkę do nauki C i ją przeczytaj, zanim zaczniesz coś pisać. Z twojego opisu wynika, że robisz babol na babolu, w dodatku bez zrozumienia co i po co się stosuje. Może to brutalne, ale prawdziwe. AVR Studio używa avr-gcc (czyli WinAVR) do kompilacji projektów w C,...
[syntax=text]Witam książkowy program trochę przerobiony do swoich potrzeb i wyskakują takie błędy jak w temacie. Proszę o jakieś wskazówki. Bo właśnie się poddałem (brakuje mi pomysłu brak wiedz z c), szukałem i w google ale nic nie znalazłem. Zaczyna przygodę z c i się uczę dobra kod programu[/syntax] [code][syntax=c] plik LED4_Plex.c #include <avr/io.h>...
Zacznij od nowa od wyświetlanai w przerwaiu timera - w tym programie wszystko jest źle. Całe wyświetlanie - to jakieś 5 linii kodu - mniej-więcej takiego: [syntax=c] uint8_t wyswietlacz[4]; // cyfry do wyświetlenia umieszczamy w tablicy // definicja tablicy zawierającej definicje bitowe cyfr LED static const uint8_t cyfry[] PROGMEM = { ~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F),....
Witam Może ktoś zobaczyć gdzie popełniłem błąd w tym kodzie? Kod znalazłem na forum. Przerobiłem go troszeczkę, na obsługę dwoma przyciskami. Nie idzie na wyświetlaczu ten bargraph. Gdy przycisnę C6, wpadnie 7% i tak jakby zwiecha procesora: [syntax=basic4gl] $crystal = 16000000 'Deklaracja częstotliwości kwarcu $regfile "m32def.dat" 'deklaracja modelu...
Witam. Próbuje uruchomić klawiaturę matrycową 3x3, Znalazłem obsługę takiej klawiatury tutaj : http://hobby.abxyz.bplaced.net/index.php... No usunąłem zbędny kod do obsługi innych rzeczy, została tylko klawiatura. Chcę uzyskać efekt, że po naciśnięciu przycisku zmienia mi się wartość na wyświetlaczu. Na tej podstawie już będę mógł później...
Ale tutaj volatile nie jest potrzebne ponieważ zmienna licznik jest wykorzystywana tylko w przerwaniu a nie w przerwaniu i programie głównym, dlatego to nic ci nie zmieniło. Za to mogę ci powiedzieć ze 100% pewnością że program napisałeś poprawnie i na 100% działa - a ty co najwyżej źle podłączyłeś diodę LED ;) ... sprawdź i będzie po kłopocie ;) Tzn...
Program dziala zgodnie z definicja typow: typedef Pair<double *, double * > vect; typedef std::vector<vect>StrikeVol... typedef std::map<double, std::vector<vect>, ltstr> TermStrikeVolMap; typedef Pair<double *, double * > StrikeVolPair; StrikeVolVector KVolVect; TermStrikeVolMap VolMap; double...
Zacznę od tego, że program podzieliłem sobie na części. Zaczynałem od skonfigurowania lcd, potem zająłem się odczytem wartości ADC poprzez czujnik wilgotności, następnie ośmieliłem się :lol: poprosić o wskazówkę w stworzeniu prostego menu do projektu i wykonałem to. Dodając kilka udogodnień, zacząłem się bawić z ustawianiem wartości z klawiatury, żeby...
Masz gotowca [syntax=c][code] #include <avr/io.h> #include <util/delay.h> unsigned int pomiar; // Zmienna do przechowywania wyniku pomiaru // LED #define LED_PIN (1<<PD5) #define LED_TOG PORTD ^= LED_PIN //makrodefinicja zmiany stanu diody //Klawisz #define KEY_PIN (1<<PD7) // definicja pinu do którego podłączony jest klawisz...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
Witaj Wykorzystałem Twój kod do wizualizacji Nieco go zmodyfikowałem dodając kilka działań matematycznych Dodałem wyświetlanie w procentach i rozszerzyłem BARGRAF do 255 ponieważ Twój kończył się na 240 "Ustaliłem" wyświetlania zmiennej w % tat by była nieruchoma poniżej zamieszczam kod $regfile = "m8def.dat" $crystal = 1000000 Config Lcd...
Witam ponownie, Znajdując chwilę czasu chciałem trochę poprawić kod jaki napisałem, a w zasadzie napisać go od nowa. W obecnej chwili jestem wstanie odmierzyć dokładnie taki czas jaki jest mi potrzebny za pomocą timera. Lecz niestety pojawił się problem. Poniższy kod mruga diodą co określony czas tylko czas załączenia jak i wyłączenia są jednakowe a...
Szanowni Forumowicze, Bardzo proszę o pomoc! Napisałem program do obsługi diody RGB na podstawie książki "Mikrokontrolery AVR Język C Podstawy programowania" (Mirosław Kardaś), ale utknąłem na problemie zmiany koloru diody za pomocą przycisku. Chciałbym aby po naciśnięciu przycisku S1-S4 wartość zmiennej x, która jest wykorzystywana w instrukcji "switch(x)"...
Witam!!! Sprawa numer 1 to wysyłanie danych. W tym przypadku przekazujemy strukturę do funkcji usbSetInterrupt();. Czym jest struktura możesz poczytać tutaj >> typedef struct{ int16_t dx; // oś X int16_t dy; // oś Y uint16_t buttonMask; // 16 przycisków }report_t; Ta linijka oznacza, że dalej zamiast nazwy report_t używamy reportBuffer>> static...
Dziękuję za odpowiedź. Niestety zbyt słabo rozumiem zasadę działania regulatora PID, żeby móc tam cokolwiek zmienić:/ Mam jeszcze jedno pytanie. Muszę jeszcze go nastroić. Czytałem już w Internecie jak się stroi regulatory ale że tak się wyrażę tylko na czuja. Czytałem też o jakichś metodach Zieglera Nicholsa itp ale są trochę zbyt skomplikowane:P Tylko,...
sorry trochę źle się określiłem co do mojego problemu. Problem wygląda tak że zczytuję dane z przetwornika ADC i dane zczytywane są w momencie przerwania od timera co 5s. Typ danych zczytywanych z ADC to w programie main zmienna globalna: uint16_t ADC1Val; Teraz kiedy funkcja wchodzi do przerwania to chciałbym zapisać wartość tej zmiennej na kartę SD...
ten kod działać działa ale nie do końca tak jak bym chciał działa jak ustawie godzinę na 10:00 godzinę załączania na 9:01 a godzinę wyłączania na godzinę 10:01 to od godziny 9:01 do 10:01 jest załączona a od 10:01 do 9:01 jest wyłączona ale jak dam godzinę załączania na 10:01 a godzinę wyłączania na godzinę 9:01 to dioda jest cały czas załączona dopiero...
Zwracam się do kolegów z taką sprawą. Nie mogę sobie poradzić z bezproblemowym uruchomieniem FreeRTOS + lwip na STM32. Przy kompilacji wywala mi: out/tcp.o: In function `tcp_close_shutdown': C:\ARM\Workspace\test/lwip/src/core/... undefined reference to `tcp_timer_needed' out/tcp.o: In function `tcp_bind': C:\ARM\Workspace\test/lwip/src/core/...
Pierwsza definicja jest poprawna, błędem jest to, że nadużywasz printf'a. %d wymaga na wejściu int'a, który ma 4 bajty, natomiast twoja struktura ma 3 bajty. Jeśli dany procesor wymaga wyrównywania adresów do 4 lub 2, kompilator rozszerzy twoją strukturę o jeden bajt (w tym przypadku po zmiennej sekundy) - ta właśnie wartość może być niepoprawna. Efektem...
Witam nie wiem jak rozwiazac problem z wyswietlaczem 7 segmentowym 4 cyfry a mianowicie wszystko bylo proste jak katody wyswietlacza byly podłączone do całęga portu wtedy stosowalem [syntax=c]PORTC = pgm_read_byte( &cyfry[cy1] );[/syntax] ale niestety w tym układzie co złożyłem pinologia jest następująca segmenty: A -> PORTD3 B -> PORTD1 C...
Witam, Staram się zrozumieć rozkazy w jezyku C do wyświetlacza LCD ze sterownikiem HD44780. Nie moge do końca zrozumieć tej tabelki z rozkazami która jest na tej stronie: #include <reg51.h> // definicja rejestrów 8051, plik nagłówkowy #include <stdio.h> // definicja rejestrów 8051, plik nagłówkowy char xdata LCD_WR_S _at_ 0xfff0; // wpis...
Ficu to musi być na początku. $regfile = "at15def.dat" ' Definicja rejestrów procesora Tiny 15 $crystal = 1600000 ' FCPU $tiny ' Informuje kompilator że ma do czynienia z procesorami ATTiny pozbawionymi RAM, i nakazuje mu nie używać programowego wskaźnika stosu i RAMu. $noramclear ' Było w helpie, nie wgłębiałem się dlaczego? 'Tak deklaruje...
Witam ponownie. Pozwoliłem sobie zmienić temat bo już problemy rozwiązane (chyba) i chcę się z Wami podzielić tym co naskrobałem. // Modelarski regulator dwukierunkowy by Smok #define F_CPU 8000000L /* Częstotliwość kwarcu */ #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define k1 PB1 // definicja portu wyjścia...
jedyne co mogę jeszcze dołożyć to definicja struktury [syntax=c] struct connections { uint8_t detect : 3; //nr. detektora uint8_t triac : 3; //nr. triaka uint8_t setFlag : 2; //znacznik ustawienia fazy }; // zmienna connections ma zapisane w sobie // kolejności występowania faz oraz przyporządkowuje // do fazy detektor i triak volatile struct connections...
Witam Mój problem polega na tym ,że muszę połączyć dwa programy w języku ASEMBLER. Niestety z programowania jestem słaby, a z języka niskiego poziomu to już w ogóle jest masakra. Ogólnie mam za zadanie zrobić mały projekt, który polega na tym ,że trzeba zaprogramować układ ADuC842 tak ,aby wyświetlił on na wyświetlaczu wpisany tekst z klawiatury (podłączonej...
1. void ReadEncoder(); #define GLUE(a, b) a##b #define LEDPORT1(s)GLUE(PORT,s) #define LEDPORT LEDPORT1(LED) #define LEDDDR1(s)GLUE(DDR,s) #define LEDDDRLEDDDR1(LED) a) Co to jest? Coś jak podprogram? Ale dlaczego zakończony średnikiem? Pierwsza linia to deklaracja funkcji, dalsze linie...
Witam ponownie, Nie pokazałem całego kodu nie ze względu na to że ktoś mi go może ukraść jak to napisał kolega ale właśnie z racji tego że jest on napisany przez amatora. Jest to mój pierwszy projekt z mikro kontrolerem oraz językiem C. Wcześniej trochę bawiłem się z PHP oraz HTML i nić po za tym. Dlatego nie chciałem abyście po mnie pojechali... Wracając...
Okej, ogólnie to działa, wielkie dzięki za tamto. Mam jednak dalszy problem troszkę. Ogólnie chcę osiągnąć coś takiego, że wysyłam najpierw z Matlaba liczbę - jakąś flagę, po której uC wejdzie do odpowiedniej pętli. Po wejściu do tej pętli dopiero w niej ma odbierać wysłaną z Matlaba wartość. Czyli np. najpierw wysyłam liczbę równą 2 z Matlaba do uC....
//definicja początkowej wartości timera #define timer_start 6 Rozumiem, że zależnie jaką wartość wpiszę timer będzie liczył od tej wartości tutaj od 6 do 255? czy definicja "timer_start" jest zawsze tak zapisana? etykiecie timer_start przypisano na stałe liczbę. W zależności gdzie tę etykietę użyjesz, będzie ona miała wartość 6. Jeśli więc używamy...
mirekk36 - póki co, może obejdzie się bez angażowania Twojego czasu na analize moich krzaczków ;) Problem występuje także wtedy, gdy wyłączę podświetlenie (w opcjach ustawię na 0). Więc (byćmoże prądożerne) podświetlenie lcd nie jest przyczyną. Po założeniu loga na RSie doszedłem do tego, ze zawiesił się przy odczycie danych z drugiego modułu - czyli...
Witam! Mam problem z zamkiem szyfrowym. Mam taki kod: [syntax=cpp]/* KURS AVR-GCC cz.4 Zamek na szyfr (schemat i opis działania w artykule) układ atmega16 (1MHz) */ /**** PLIKI NAGŁÓWKOWE ****/ #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> /**** DEFINICJE FUNKCJI ****/ /* Inicjalizacja i konfiguracja sprzętu */ void...
Witam Chciałem wykonać małą centralkę alarmową (o ile można to tak nazwać) na początek chciałem uruchomić odczyt klawiatury matrycowej i wyświetlanie postępu wpisywania kodu. Wzorując się kursem języka C z jednej ze stron internetowych przerobiłem zamieszczony tam kod pod mojego Attiny2313 po skompilowaniu i wgraniu programu do uC program się uruchomił...
Załącz plik ds18x20.c, załączyłeś tylko plik nagłówkowy. Potem będziesz musiał zamienić zmienne cel i cel_fract_bits na tablice i będzie ok. Twoim zdaniem utworzenie tablic będzie zbawienne, może to trafne. Od jakiegoś czasu ma pomroczność i nie mogę się skupić, najprostsze rzeczy stwarzają mi ogromną trudność - to chyba przesilenie. A zatem stworzenie/zamiana...
Witam Szanownych kolegów. Nie dawno zacząłem przygode z programowaniem. Zapoznałem się z kursami na wkrętaku, oraz z kursem na Hobby Robot. Narazie wszystko opiera się na symulacji w proteusie, umiem już multipleksować cyfry na wyświetlaczu, lecz nie rozumiem funkcji bin2bcd, i nie umiem tego połączyć z następującym kodem tak, aby to jakoś działało....
A oto działający kod dla bufora 128 bajtów (można zrobic mniejszy, 64 dziala ale tylko przy Clockrate = 4 , Spsr.0 = 1 i samplu do 16kHz) zależny od prędkości z jaką odczytujemy dane po Spi z karty, im wolniej tym bufor musi byc wiekszy, zależy też od częstotliwości próbkowania pliku dźwiękowego, im szybsze tym bufor większy. Wzorowałem sie na przykładzie...
Witam, Mam pewien problem i nie bardzo pomysł na jego rozwiązanie. Mam program zegara i czujnikami dallas18b20 i wszystko fajnie działa. Potrzebowałem uruchomić dodatkowo przetwornik adc i zaczęły się schody. Gdy skonfigurowałem przetwornik program po dojściu do momentu inicjalizacji przetworika się wiesza, a dokładniej wygląda, jakby procek się resetował...
Dwa układy- MAX522-przetwornik C/A i MAX7219- sterownik wyświetlacza 8-cyfrowego. Oba na SPI. I taki programik: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #define MOSI PB5 #define SCK PB7 #define CS1 PB4 // pierwszy MAX522 wybierany przez ten pin #define CS2 PB3...
Napisałem sobie takie oto funkcje do obsługi DS18S20: #include <DS89C4xx.H>// biblioteka uC DS89C430 typedef unsigned char BYTE;// definicja typow danych typedef unsigned int WORD; sfr led_10 = 0x80;// port P0 wyswietla cyfre dziesiatek sfr led_01 = 0xA0;// port P2 wyswietla cyfre jednosci sbit DQ = P0^7; sbit run = P1^0; sbit error_sensor = P1^1;...
Przystąpiłem do lekcji 10. Zrobiłem analogiczne poprawki, jak w lekcji 9, ale niestety również nie mogę skompilować kodu. Poświęciłem praktycznie cały dzień na szukaniu przyczyny. Pojawiają się takie błędy przy kompilacji: http://obrazki.elektroda.pl/4932303600_1... Tutaj zamieszczam kod programu po moich poprawkach: ////////////////////////////////////////...
Witam podaję kod, który działa poprawnie, oczywiście należy go dopasować do swoich potrzeb. [syntax=vbnet] 'Sterownik swiatel V2.2 '10-06-2015 'Roman Biadała $regfile = "m128def.dat" $crystal = 11059200 '$lib "fp_trig.lbx" '******** Ustawienia portów ****************************************... '******** Sterowanie 74HC541 - przekaźniki *************************************...
Przystąpiłem do lekcji 10. Zrobiłem analogiczne poprawki, jak w lekcji 9, ale niestety również nie mogę skompilować kodu. Poświęciłem praktycznie cały dzień na szukaniu przyczyny. Pojawiają się takie błędy przy kompilacji: http://obrazki.elektroda.pl/4932303600_1... Tutaj zamieszczam kod programu po moich poprawkach: ////////////////////////////////////////...
Przykład kolegi Duch pokutuje na tym forum różnymi błędami, jest wiele postów i ciągle użytkownicy forum wzorujący sie na tym przykładzie maja kłopoty ;). Pierwszy błąd jaki masz to że się resetuje to przyczyną jest za mała definicja zmiennej string Ss As String * 6 zobacz: masz string 6 znaków Ty formatujesz tak Ss = Format(ss , " 0.0") czyli masz...
Witam mam mały problemik, napisałem program w C++ a znaczy dopisałem troszke do juz istniejącego i nie wiem czy jest od poprawny. Nie jestem dobry w tym języku a niestety musę w nim napisać program. Zasada działania programu: 1.Wysyłamy pierwszą paczkę ultradźwięków => int sygnal(void) 2.Odbieramy pierwszą paczkę ultradźwięków => void sinus_40_khz(void)...
O kurcze rzeczywiście.Nie przyglądałem się tej bibliotece.Więc tak: Zamiast definicji "i2cwbyte" ---> Zmienne Byte_offset, Error, minuty i godziny DIM Byte_offset as byte(czyli jako bajt) dim error as byte.Dobrze myślę? EHHHh.Mimo tego że mam zdefiniowane te zmienne jako byte, mam błędy na offset i error. [syntax=basic4gl]If S6 = 0 Then Sub Displayalarm()...
definicja zmienna eeprom bascom definicja zmienna rezystancja definicja
lutowanie poznan kontrolka silnik focus miernik naładować
blaupunkt cancheck pralka hisense
Problemy z odbiorem MUX-8 na Sharp LC-40LE730E Głośnik Sharp nie działa bez zasilania - przyczyny