ja mam statki w C# VS 2005 pola zrobione są z buttonów, umiejscowienie w statków znajduje się w macierzy/tablicy tam gdzie statek mam 1 tam gdzie jego brak 0, jedyna trudność podczas gry jest taka że podczas rozstawianai statków obydwoje nie powinni jednocześnie patrzeć na komputer, ale to Ciebie nie dotyczy....
Funkcja [url=http://www.cplusplus.com/reference/... z ctype.h. [syntax=c] for(a = 0; tab[a]; ++a) // ... else if (isdigit(tab[a])) { ++cyfry; } [/syntax] Poza tym żaden strlen tylko tak jak wyżej (pętla trwa do póki nie trafi się NULL czyli koniec stringa).
Jeżeli w funkcji deklarujesz zmienną o takiej samej nazwie jak zmienna globalna, to automatycznie przysłaniasz widoczność tej zmiennej globalnej. W czym problem aby definicję wyrzucić w miejscu, w którym masz zmienną globalną? Możesz też użyć extern, ale to też wymusi definicję zmiennej razem z deklaracją. Lokalnie jeśli chcesz zainicjalizować wiele...
... Bzdury! Inicjalizacja tablicy w postaci char tablica[] = {'a', 'b', 0}; jest 100% poprawnym "napisem" w standardzie języka C - wartość zero (0, '\0') to zupełnie co innego niż znak zero ('0'); 4\/3!!
Czyli jak rozumiem chodzi Ci o to żeby po wywołaniu twojej funkcji następowała inicjalizacja tablicy lokalnej (na stosie) za pomocą wartości w postaci tekstu. Tekst ten musiałby siedzieć w pamięci nieulotnej i za kazdym wywołaniem fukcji musiałby by być kopiowany do twojej tablicy lokalnej. I żeby na dodatek jeszcze działo się w to sposób niejawny (automatycznie...
O to chodzi że nie można utworzyć partycji bez utworzenia tablicy alokacji. odwrotnie - tablicę alokacji plików tworzysz po utworzeniu partycji i to tylko w przypadku FATu. Niby jak mam cokolwiek zapisać, skoro nie można go zainicjować. - to świadczy o problemie z pamięcią. Ponadto skoro HD Tune przeskanował całą pamięć flash, to musi być dostępna?...
błąd jaki zauważyłem to definicja "main" powinna być z dwoma argumentami, czyli "int main(int argc, char*argv[])". Wynika to z faktu, że biblioteka SDL2 podmieni ją na swoją. Dokładniej to SDL definiuje makro "main" jako "SDL_main" i jest to typ funkcyjny dwuargumentowy "int(*)(int,char**)". goto? Niektórzy tego nie lubią i uważają za zło. Jeżeli to...
Witam jak zainicjowac tablice stringiem w funkcji ? Wymyśliłem coś takiego jak poniżej ale niestety program nie zwraca mi nic a moim zdnaiem powinna zwrócić wartość SLOWO:/ #include <iostream> #include <string> #include <conio.h> #include <fstream> using namespace std; char tablica[30] ; char zapis() ; int main()...
http://ideone.com/iImEGU [syntax=cpp]#include <iostream> #include <vector> using namespace std; struct telefony { string marka; float przekatna; float waga; telefony(const string &marka="",float przekatna=0,float waga=0):marka(marka),przekatna(przekatna... {} }; int main() { vector<telefony> tbl={ telefony("cos tam",3.3,155),...
A w następnej kolejności kolega mógłby mi pomóc.
Witam Otóż piszę sobie program, który liczy układ równań metodą Jacoobiego.. Wrzuciłbym cały kod, ale mnie zbiczujecie na maksa dlatego odważę się dać tylko jego fragment, który wiem, że powoduje błąd?(?) [syntax=cpp]//Tworzę macierz D int wierszd; int kolumnad; int tabd[wierszd][kolumnad]; wierszd=0; wiersz=0; for(int wskazd=0;wskazd<kolumna;wskazd++)...
No ale jak zrobisz takie przyporządkowanie o jakim piszesz (bez podziału) to funkcja Reset_Handler ma adres w RAM, więc w tablicy wektorów będzie adres w RAM. Oczywiście zanim ten Reset_Handler się uruchomi, to w RAM nic nie ma - tak więc to nie ma prawa działać... 4\/3!!
Jakoś nigdy nie miałem takiej potrzeby. Mógłbyś podać przykład takiej funkcji?
po co w niektórych implementacjach takich 'rozbiegówek' mamy kod assemblerowy który kopiuje adres stosu do rejestru SP procesora? STM32 może używać dwóch stosów - jednego dla przerwań (nazwanego wyjątkowo myląco "main stack") i drugiego dla wątków (nazwanego "process stack") - a więc i dla "main()". To co jest w tablicy wektorów ląduje w MSP ("main...
Oczywiście przeglądałem plik .lss i jest tam parę spraw do wycięcia, np. ... inicjalizacja .bss Jeśli zmienne nie muszą być inicjalizowane, to może umieścić je w sekcji .noinit ? Po dodaniu atrybutu sekcji .noinit do wszystkich zmiennych globalnych rozmiar kodu wyniósł u mnie po skompilowaniu: 1022 bytes (99.8% Full). 4.5 The .noinit Section This sections...
Kod w obszarze wektorów przerwań jest jak najbardziej bezpieczny, dopóki przerwania nie zostaną włączone. Czasem tak się robi, gdy zaczyna brakować flasha. Stos trzeba koniecznie zainicjalizować, żeby można było używać CALL i RET. RET powoduje powrót do miejsca z którego podprogram został wykonany. call podprogram ; ret wroci tutaj (reszta programu)...
Niestety nie mam żadnego filmiku. Sprawuje się REWELACYJNIE. Za to podrzucę Ci gotowca bo ten na stronie wymaga sporo poprawek i domysłów co gdzie jest. Jest to wersja pierwotna która przechowuje w tablicy RAM. Funkcje których tutaj nie ma robią: LCDINIT - inicjalizacja wyświetlacza LCD_POS - ustawia pozycję: wiersz, kolumna LCD_CLS - czyści ekran LCD_PSTR...
Witam. Szczęśliwie dla użytkowników praktycznie wszystkie wyświetlacze alfanumeryczne LCD obsługuje się tak samo. Ich chipy sterujące są zgodne z HD44780. W skrócie obsługa LCD'ka wygląda tak: - inicjalizacja (zestaw komend sterujących, ustawia się min. sposób podłączenia 4/8 bit, ilość linii itp itd.). Sprawa dosyć dobrze opisana w większości datasheet'ów...
Programik dla AVT3500 z ATTiny2313: ; Henryk Więsyk ; 16.10.2007 ; wersja 1.0 - przerobiona na ATTiny2313 ; Dioda do masy z OC0A ; Wewnętrzny oscylator ustawiony na 1MHz (RC(at)8MHZ + CLKDIV8) .include "tn2313def.inc" ;***************************************... ; Definicje ;***************************************... .def czas1...
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 -...
Formalnie rzecz biorac wartosci inicjujace tablice powinny byc w nawiasach klamrowych. Sprawdzilem Twoj zapis u mnie w Watchu PICLite i wszystko dziala bez zarzutu. BF
https://obrazki.elektroda.pl/7246994600_... Dzisiejszy projekt będzie opierać się o Arduino. Pokażę tutaj jak uruchomić kontroler wyświetlacza/klawiatury ze starego tunera sat w oparciu o jego notę katalogową oraz bibliotekę Wire z Arduino. Poznamy szczegóły jego interfejsu szeregowego opartego o linie SDA i SCL i spróbujemy przygotować...
Nie spodziewałem się, że to zadziała, ale oto wynik OpenBK7252 OTA
https://obrazki.elektroda.pl/5371288300_... Witajcie moi drodzy. Przedstawię tutaj teorię i praktykę implementacji wsparcia protokołu TuyaMCU. TuyaMCU to protokół oparty o UART, służący do komunikacji modułu WiFi z głównym mikrokontrolerem urządzenia Tuya. Protokół ten wykorzystywany jest w wielu produktach IoT, m. in. w ściemniaczach,...
(...) ; commandLength; i++) { 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("%"); W wyżej przedstawionym kodzie istnieje kilka problemów, które należy skorygować,...
DVR HD3804 nie uruchamia się. Dostałem mały rejestrator HD3804 i nie uruchamia się, załączyłem dziennik seryjny, aby uzyskać więcej informacji oraz zdjęcia płyty i komponentów. Proszę, czy ktoś może mi pomóc we właściwym kierunku, aby go uruchomić. U-Boot 2010.06 (20 lutego 2017 - 14:24:07) Pamięć DRAM: 256 MB Sprawdź kontroler spi flash v350... Znaleziono...
Witam wszystkich, projekt powstał na przełomie marca/kwietnia tego roku w wyniku zapotrzebowania na pompkę perystaltyczną potrzebną przy realizacji pracy magisterskiej. Nigdy wcześniej nie miałem do czynienia z elektroniką (nie licząc podłączania diod z rezystorem i prostych zasilaczy na LM7812) a tym bardziej z mikrokontrolerami. http://obrazki.elektroda.pl/2272591900_1...
są to belki na power ledach ,drivery itp.Do tej pory wszystko pracowało przez kilka lat na jednym kanale PWM kótry rozjasniał belki ledowe w ciągu 60 min.Chciłbym to teraz przerobic na 4 niezależne kanały z potencjometrami abym mógł sobie regulować różne pasma Dodano po 21 Chciałbym uzyskać coś takiego[syntax=arduino]// Definiowanie pinów const int...
To był tylko mój dodatkowy opis jak zabierałem sie za ten kod, gdy programujesz chip mkAVRCalculator posiadasz do wyboru opcje zabezpieczajace. Mi chodziło tez by nie blokowac całkowicie procesora i umożliwić wczytanie programu od nowa jesli UID został wykasowany a program zablokowany(tak do testów na początek). https://obrazki.elektroda.pl/5766266800_...
http://obrazki.elektroda.pl/5336859500_1... Projekt został zrealizowany na potrzeby sterowania urządzeniami zasilanymi z sieci 230V , świetnie nadaje się jako sterownik do wytrawiarki lub innych tego typu urządzeń, w których konieczne jest utrzymywanie stałej temperatury. Układ oparty jest o mikrokontroler ATmega8 firmy Atmel , który...
Postaraj się bardziej, zbliż graficzny wygląd do ekranu HD44780, zawrzyj graficzny wygląd z wyświetlacza znaków Aby stworzyć bardziej szczegółowy i wizualnie wierny emulator wyświetlacza HD44780 w P5.js, musimy uwzględnić nie tylko podstawowe wyświetlanie tekstu, ale również graficzną reprezentację pikseli, które tworzą znaki na wyświetlaczu. Dla uproszczenia,...
Ile tych liter ma być? Tylko małe? Jeśli tak to kolejne małe litery przyjmują kolejne kody ASCII od 97 do 122 (97 to a, natomiast 122 to z). Więc jeśli potrzebujesz wypełnić tablicę wszystkimi małymi literami od a do z zaczynać od 11 indeksu (czyli 12 elementu tablicy) to potrzebujesz do tablicę o rozmiarach przynajmniej (122-96)+12 (jeśli to zwykła...
Zgoda. Jednak i tak ekonomiczniej umieścić tablicę we Flashu a potem ją przepisać do ramu. Jeśli jej rozmiar jest duży, to można zaoszczędzić w granicy do 100% zapotrzebowania na flash. Tak też pomyśleli twórcy kompilatorów (przynajmniej CodeVision) i w ten sposób realizowana jest inicjalizacja tablicy w ramie. Zatem popieram kol. elektryka w tezie...
Czyli jeśli w kodzie C inicjuję jedynie wektor powiedzmy ADC_vect, to jedynie w kodzie asemblerowym jedynie .org ADCaddr będzie pozbawione komentarza <__bad_interrupt>. A propos wektorów i tablicy: Czy inicjalizacja tablicy wektorów przerwań jest zależna od typu mikrokontrolera? W literaturze i w poradnikach internetowych widzę, że wszędzie wektory...
Musiałbyś sobie przejrzeć kod malloc() z którego korzystasz - zapewne newlib, to dowiesz się czemu akurat na dzień dobry chce aż tyle. Przypuszczalnie rozchodzi się o to, że malloc() z newliba ma dwojaki mechanizm alokacji - małe obszary alokuje ze specjalnej tablicy małych obszarów, duże - normalnie, poprzez listę i sbrk(). Po pierwszym wywołaniu zapewne...
na końcu stringu będzie znak null, czy trzeba go dodać jawnie? Jeśli ciąg znaków jest w cudzysłowach i jest wystarczająco dużo miejsca, to zero jest zawsze char t1[] = "abcd"; // jest na końcu zero char t2[10] = "abcd"; // jest na końcu zero char t3[5] = "abcd"; // jest na końcu zero char t4[4] = "abcd"; // nie ma zera, brak miejsca char t5[] = {'a',...
http://obrazki.elektroda.pl/3622659500_1... Witam, chciałbym przedstawić swoją prototypową konstrukcję dotyczącą 1wire i słynnych czujników DS18, jak każdy układ powstał z potrzeby. Ten projekt jest Aktualizacją obecne używanego starego dosyć układu AVT AVT5330(8 x DS18) opartego na Attiny2313 - Link do dokumentacji: crontab -e i na...
http://obrazki.elektroda.pl/5066557500_1... Poniższy projekt dotyczy pomysłu który został w części zrealizowany już 10lat temu, ale dzisiaj mógł przybrać nieco inny wymiar, zaspokajając wybujałą wyobraźnię jego autora :). Dotyczy rzeczy całkiem zwykłej, jaką jest „przewodowy dzwonek mieszkaniowy”. Pierwszą odsłoną tego pomysłu...
Nie da sie w calosci napisac startup-a w C(przynajmniej dla rdzenia ARM7) gdyz nie masz z poziomu C dostepu np. do niektorych rejestrow jak CPSR itp.Oczywiscie w niektorych startupach oprocz podstawowych operacji jak inicjalizacja tablicy wektorow itp sa wykonywane dodatkowe czynnosci jak np inicjalizacja niektrorych blokow peryferyjnych jak PLL czy...
Witam, Załóżmy, że mamy zdefiniowaną globalnie tablicę: memmove pod adres w ramie. Chodzi mi o to czy istnieją jakieś czystsze formalnie rozwiązania typu przeładowanie pod pewnymi warunkami wskaźnika tab .
Dzięki za odpowiedzi, mam jeszcze pytanie, w jaki sposób można by zrealizować sekwencyjne wyświetlenie wszystkich znaków na wyświetlaczu LCD? Próbowałem napisać prosty program i kombinowałem w ten sposób, jednakże średnio to działa, ponieważ przesuwają się obydwie linie i na wyświetlaczu panuje chaos. Chciałbym by linia 0 była nieruchoma (podany numer...
Witam. Mam problem z zegarem na wyświetlaczach 7-segmentowych. Minuty po 09 wyświetla 16 zamiast 10, sekundy tak samo. Zawsze tak się dzieje, więc musi to być błąd w programie, ale ja już się poddałem, co może być nie tak. Config PortA = Output PortA = &HFF Config Portd = Output Portd = &Hff Config Portb = Output config portc.0 = output config...
Ok, to postaram się krótko i na temat ;-) Moduł RFM12B podłączony jest do ATMega8 następująco: MEGA8 - RFM12B (16) SS - NSEL (17) MOSI - SDI (18) MISO - SDO (19) SCK - SCK (5) INT1 - DCLK/CFIL/FFIT oraz FSK/DATA/nFFS przez rezystor 10k do Vcc Makro, którego używam dla klarowności kodu: #define cbi(sfr, bit)...
Wartości w już zadeklarowanej tablicy możesz zmienić w każdej chwili przez tablica[indeks]=cośtam. Przy czym taka inicjalizacja jest niewygodna, stąd stosuje się np. strcpy(tablica, "tekst"). Ale... i tak na tym nic nie zyskasz, bo gdzieś te napisy muszą być. Jeśli to są stałe (w sensie samego słowa w trakcie działania programu nie zmieniasz to umieść...
Witam! Mam dziwny problem i od paru godzin nie mogę znaleźć jego przyczyny. Mianowicie nie wiem dlaczego kontroler nie reaguje na zmianę stanu na wejściu PD2. Mam tam podpięty przycisk który ma włączać diodę podpiętą do PD6. Układ działa na 100% pod względem technicznym, ponieważ sprawdziłem go innym programem. Czuję że przyczyna jest gdzieś w napisanym...
Zwróć też uwagę na dekodowanie przy odczycie, bo o ile proste podawanie kolejnych danych z tablicy dla xor przy zapisie wystarczy, to przy odczycie konieczna jest inicjalizacja miejsca startu z takiej tablicy. Najprościej byłoby robić dzielenie modullo "adresu" danej przez długość tablicy szyfrującej. Zamist tablicy możesz też użyć funkcji zwracającej...
witam 1. co oznacza linijka double** data co my w tym miejscu tworzymy? Jest to wskaźnik do tablicy dwuwymiarowej, która przechowuje elementy macierzy. Zrobiono to akurat w ten sposób, aby macierz mogła mieć dynamiczny rozmiar, podawany jako parametry konstruktora. W konstruktorze właśnie następuje inicjalizacja tej tablicy. Jednak uwaga, w kodzie...
no i w pętle masz zwiększaną zmienną i . a jeśli wczytujesz plik, to chcesz go umieszczać od początku tablicy (czyli i=0), czyż nie? Ergo, inicjalizacja wartości tej zmiennej musi nastąpić tuż przed ową pętlą.
No i tak będzie. W tej implementacji dwie cyfry są trzymane w kodzie BCD (Binary Coded Decimal). Więc na bitach 3..0 będziesz miał pierwszą cyfrę (młodszą), a na bitach 7..4 drugą cyfrę (starszą). Więc nie można sobie po prostu robić w pętli "liczba++", bo zauważ, że w momencie gdy np. na bitach 3..0 masz "9" i zrobisz jej ++, to zamiast na bity 7..4...
http://obrazki.elektroda.pl/1852929500_1... http://obrazki.elektroda.pl/5115381900_1... Mimo upływu lat w dalszym ciągu lubię od czasu do czasu odświeżyć sobie w pamięci elektroniczne brzmienia lat 80tych, kiedy to po raz pierwszy miałem okazję usłyszeć „syntetyczną” muzykę pochodzącą z wielkich drewnianych...
Trochę poprawiłem ten Twój program, podłącz przycisk losujący do pinu 6 a drugi koniec do GND bez rezystora 10kOhm (INPUT_PULLUP). Po wciśnięciu i puszczeniu przycisku program wylosuje 5 liczb, zsumuje je i wyświetli wynik. [syntax=c]#include <Wire.h> #include <LiquidCrystal_I2C_Hangul.h> //LiquidCrystal_I2C_Hangul lcd(0x3F, 20, 4); LiquidCrystal_I2C_Hangul...
Dokładnie tak, interesowało mnie dlaczego kod nie działa w takiej sytuacji. Miałem takie problemy z testowaniem własnego kodu po wrzucaniu do ram lub flash naprzemiennie, niestety nie dotarłem do przyczyny i sobie darowałem. Płytka to olimexino stm32 z STM32F103RBT6. Zasadniczo wszystko ma swoje źródło w tablicy wektorów, znajdującej się w pamięci...
Dalej; doczytałem ze ten plik startup jest doklejany do naszego pliku podczas linkowania - bo problem jest umieścić coś przed funkcją main od której program się zaczyna więc nie da się (chyba) zainicjalizować procesora bezpośrednio z "C". 1. Nie przesadzajmy - przy użyciu skryptu linkera i tablicy wektorów możesz sobie tak poskładać program, że zacznie...
Podłączam się do tematu mam taki problem ze chciałbym dodać obrazek BMP umieszczony w tablicy do pamięci programu żeby potem go wyświetlić na wyświetlaczu . Udało mi się to wcześniej zrobić, ale chwile się tym nie zajmowałem i coś jeszcze pozmieniałem i teraz nie ładuje mi do flash-u tylko do ram-u gdzie nie ma za dużo miejsca i wyskakują błędy . deklaracja...
Witam W ramach rozgrzewki przed większym kodem, chciałem sprawdzić działania na poszczególnych elementach tablicy. Chciałem się posłużyć indeksem. W rezultacie po załadowaniu kodu: unsigned char bufor[16]="abcdefghijklmnop... zmiennych 8-bitowych // inicjalizacja LCD lcd_init(); // zapisz na LCD przykładowy tekst LCDxy(0,0);...
Nic jak nic:?: Podstawowe zadania biosu. 1. Załadowanie BIOSów urządzeń - zanim BIOS wykona swój kod, uruchamia znalezione BIOSy innych urządzeń zainstalowanych w komputerze. 2. Przeprowadzanie po włączeniu komputera testów systemu (tzw. test POST - Post On Self Test) - sprawdzenie poprawności funkcjonowania podstawowych urządzeń systemu i danych zapisanych...
Witam, Próbuje usunąć kilka warningów wyrzucanych przez kompilator, tyczących się przypisywania i inicjalizacji niewłaściwych typów ( brak rzutowania ). Nie jestem jednak pewien czy dobrze wykonuje rzutowanie. Mógłby ktoś rzucić okiem? 1. Przypisanie do wskaźnika na funkcję innego typu wskaźnik na funkcję: typy wskaźników: - void (*callback)(uint8_t,uint16_t)...
Cześć, Mam problem z inicjalizacją macierzy przy wykorzystaniu biblioteki CMSIS podczas pisania programu dla Cortex M4. Postępuje według algorytmów opisanych na stronie producenta (dokładniej - zakładka - Matrix Initialization): http://tech.munts.com/MCU/Frameworks/ARM...
*reprezentacja liczb jest stałoprzecinkowa bez znaku Tylko ten termin "stałoprzecinkowa" mi z roztargnienia wyszedł - reprezentowane są tylko liczby całkowite. *** Faktycznie - jest tam błąd z alokacją pamięci, tylko gdzie? int main(int argc, char* argv[]) { char* wpis=new char[32]; char* w=0; char* ops; char op; int dalej=1;...
Witam, Zamieszczam tu kod ktory jest napisa dla PIC24 + zdjecie LCD. Co ma robic ta aplikacja a nie robi: Ma pomierzyc czas miedzy pikami (czas t zaznaczylem na czerwono). Zdjecie osc1.jpg znajduje sie tutaj (4 post od dolu): http://www.elektroda.pl/rtvforum/topic98... Dzieki koledze Freddie Chopin, ktory naprowadzil mie na uzycie IC. Napisalem...
Witam! Nie wiem czy dobrze Cię zrozumiałem... 1. Przerwanie jest OK! 2. W procedurze wyświetlania liczb na wyświetlaczach: void shw( void ) { tu ma być program wyświetlenia liczb - bez żadnego warunku - wyświetla liczby i koniec } 3. W "main": int main(void) { ble ble ble .... //inicjalizacja portow itp while(1) { shw(); } } Program działa tak: 1. Inicjalizacja...
Witam, mam problem z odczytem danych z karty SD do tablicy typu char dopisałem do programu odczyt z drugiego pliku do tablicy zmiennej char, aczkolwiek odczytuje tylko pierwszy znak. co robię nie tak, aby odczytywało całość linijkę do komórki tablicy? {PS. tablica char dlatego, bo pierwsza tablica String ma 47 komórek a druga też by miała 49 komórek,...
Powiedzmy, że interesuje mnie np. adres w pamięci: 0x0C200001. Mogę zrobić zatem wskaźnik, który będzie przechowywał ten adres. Wyglądałoby to w ten sposób: [syntax=c]float * a = (float*)(0x0C200001);[/syntax] Biorąc pod uwagę zacieranie się granic pomiędzy wskaźnikami i tablicami coś takiego będzie normalnie działało: [syntax=c]a[0] = 9.678; a[1] =...
Odnośnie Dm 157 to naprawdę ma wydłużone czasy reakcji niestety, co widziałem jak go podłączyłem do mojego układu który sterował wczesniej innym LCD ( po prostu świrował) jak potrzebujesz to mogę podesłać prosty kod który sam napisałem . Prosty dlatego bo uzywa czterech bitów do sterowania a znaki wpisujesz po prostu do tablicy i gotowe! wyświetla to...
kod jest bez sensu.. za pomocą lpm (load program memory) próbujesz odczytać pamięć RAM, zwiększasz rejestry ZL i ZH niewiadomo po co (psując cały program bo 1->wskaźnik Z jest zwiększany w lpm i 2->inc niepobiera przeniesienia a bonusowo zwiększasz starszy bajt zawsze..), pętle masz jakoś dziwnie sformułowaną.. dane umieszczasz za pomocą .byte...
Hejka! Udało mi się rozwiązać problem, poprawny kod wygląda tak: #include <avr/io.h> #include "delay.h" #include "lcd.h" prog_char text1[]="NAPIS1"; prog_char text2[]="NAPIS2"; prog_char text3[]="NAPIS3"; prog_char text4[]="NAPIS4"; prog_char text5[]="NAPIS5";...
Witam wszystkich. Korzystając z okazji życzę wszystkim szczęśliwego nowego roku. Przechodząc do problemu, z którym nie potrafię sobie poradzić to posiadam zestaw HY-Mini STM32 i potrzebuję napisać obsługę kart sd przez sdio, a konkretnie chcę zapisywać plik txt (jeśli jest to możliwe lub inny możliwy do odczytania na komputerze) na kartę pamięci. W...
oj oj, potrzebne Ci są podstawy języka chyba... żeby nie było niejasności: tab #include <iostream> using namespace std; void wypisz(int tab[2][2]) { for(int i=0;i<2;i++) { for(int j=0;j<2;j++) cout << " [" << tab[i][j] << "] ";...
Dziękuję za zaangażowanie, nie spodziewałem się odpowiedzi. ... To, co napisałeś, powinno w każdym przejściu przesunąć W1..W6 o jeden bit w lewo, wsuwając po jednym bicie z W1_POM..W6_POM. ... Tak, dokładnie tego bym oczekiwał. "wchodzi klatka z bufora" - pewien skrót myślowy. Chodzi o to, że aktualna klatka się przesuwa w lewo co pewien interwał. Równocześnie...
Witam, Korzystam z biblioteki dla protokolu RS232 od MK (#include "MKUART/mkuart.h"). Mikroprocesor jest taktowany zewnetrznym kwarcem 16Mhz, a RS232 ustawiony jest na 9600,bez parzystosci, 1 bit stopu. Napisany przez mnie program ma dzialac nastepujaco: jezeli przez terminal wysle slowo "DANE:KAN1?" to mikroprocesor ma mi odpowiedziec w terminalu "2"...
Witam, cały dzień męczę się z obsługą przerwania od odbioru danych w STM32103RB. Korzystam z biblioteki HAL. Po całym dniu dalej nie wiem jak to ma wyglądać, dostępne example robione są w STM32CubeMX, a ja z tego nie korzystam. W dokumentacji chyba nie potrafię się poruszać bo nie wyiskałem z niej co po kolei trzeba wywoływać aby obsłużyć to przerwanie....
Hej, ostatnio rozwiązywałem ten sam problem, więc może Ci pomogę. Układ max232 podłączyłem tak jak w tym pdf'ie: http://www.btc.pl/pdf/zl3avr.pdf Jako sygnał zegarowy użyłem wewnętrznego rezonatora RC (ustawionego na częstotliwość pracy 1MHz). Jako terminalu użyłem programu putty, którego konfigurację zamieszczam na dwóch screenach: http://obrazki.elektroda.pl/1854750200_1...
Witam Dopiero zaczynam przygodę z avr-ami dlatego chciałem się poradzić bardziej doświadczonych kolegów. W programie chciałem odczytać temperatury z 8 czujników KTY podłączonych do ADC. Odczytu dokonuję w przerwaniu, natomiast wyświetlenia i przeliczenia na stopnie Celsjusza chciałem dokonać w main. Niestety wyświetla mi jakieś dziwne wartości. Może...
Witam Wszystkich! Ostatnio "bawię" się z diodami programowalnymi WS2811 i 2812. Postanowiłem zrobić sobie "tablicę świetlną", np. logo warsztatu, itd. Ponieważ jestem "cienki" w programowaniu, uczę się non-stop, a kolejny projekt daje w kość! Mianowicie, po zrobieniu takiej tablicy, zabrałem się za kod i tu niespodzianka. Programuję diody które mają...
Chodzi mi o to, że mam układ hardware, gdzie segmenty wyświetlacza podłączone są część do portu D, część do Portu B. W necie Jest wiele opisów programów ale wszystkie pokazują jak działa program kiedy wszystkie segmenty wyświetlacza są podłączone do jednego portu. Zaprezentuje kawałki kodu i proszę o modyfikację aby to działało chodzi o idee dla dwóch...
witam mam problem z wywolaniem przerwania od timer1 - od zdarzenia typu CTC, program ma wygrywac melodyjke na buzzerku, przerwanie od timer0 smiga - jest odpowiedzialne za generowanie sygnalu na wyjsciu OC0, a timer1 ma zmieniac nutki - podmieciac liczbe w OCR0 liczba z tablicy melodia... ale nie zmienia i nie moge znalezc przyczyny :/ wydaje mi sie...
Biblioteka ta zakłada skrajne położenia serva o czasie trwania impulsu 544 usec i drugie skrajne 2400 usec Niezgodne z jakąkolwiek normą dla serw. Jak wszystko dla Arduino zrobione na od...... dlatego pisałem aby samemu napisać obsługę serwa. W końcu to nie szczyt możliwości uC wygenerować timerem odpowiednie impulsy. Obsługa timera w trybie PWM jest...
W jakim trybie używasz DMA ? Jak ja robiłem I2S to wykorzystałem DMA w trybie Circular ze zdefiniowanymi przerwaniami od transfer complete oraz half transfer complete. Po wystąpieniu się przerwania uzupełniałem danymi część bufora, która aktualnie nie jest transferowania. Wszystko działało płynnie. W trybie wyzwalania jednorazowego tzn. po wystąpieniu...
Czyli będzie to wyglądało przy deklaracji: ChannelMUX Nie tu mają byc wartosci jakie chcesz wpisać do rejestru ADMUX if(ConversionResults Nie. 3 to przypadkowa zbierzność. << 3 oznacza razy 8. taka przyjałem wartosć o filtra. Moze byc to dowolna liczba większa od 1. wzór wtedy bedzie = (ADCW * (liczba)) - wtedy odejmowanie ponizej powinno byc...
Precyzuje problem: Otóż chodzi o to, że ustawiam przerwanie od zbocza opadającego na końcówce INT1, przerwanie wywoływane jest przyciskiem. W tym przerwaniu chciałem mierzyć temperaturę, a sprawdzałem nawet wyświetlenie napisu jednak zawsze jest to samo układ działa ale po wyłączeniu i ponownym włączeniu zasilania całość chodzi ale po przyciśnięciu...
Udało mi się odtworzyć .wav 22050Hz. Jest bardzo fajnie, muzyczka gra w bardzo fajnej jakości, ALE... słyszę cały czas szum(pierdzenie), który jest jakby nałożony dodatkowo w muzyczce, taki odrębny szum. Jak go wyeliminować? Aktualnie kod odpowiedzialny za odtwarzanie przedstawia się tak: [syntax=c] // Konifguracja muzyczki void Music_Init() { DDRB...
A ktoś z was próbował przesyłać Z GPIO do RAM? Już coś ruszyło, ale ciągle nie do końca. Ruszyło z DMA2 w trybie peripherial-to-memory. Inicjalizacja DMA: [syntax=c] void DMA_init(void) { //Włącza zegar RCC->AHB1ENR |= DMA_STREAM_CLOCK; //Reset/wyłączenie strumienia DMA (kasuje bit EN) DMA_STREAM->CR &=~ DMA_SxCR_EN; while(DMA_STREAM->CR & DMA_SxCR_EN);//czeka...
Witam. Piszę z prośbą o pomoc, bo zabrakło mi pomysłów. Buduję drugą wersję oscyloskopu, tym razem na M32. Właściwie wszystko mam już zrobione, jedynie mam problem programowy z przetwornikiem. Przy pomiarze przebiegu tróktątopodobnego oscylogram wygląda tak: http://obrazki.elektroda.pl/8367276800_1... Nie wiem czemu mi go tak szarpie...
Witam Przepraszam, ale byłem w podróży i dopiero teraz mogłem dodać jakieś fotki. http://obrazki.elektroda.pl/5303606400_1... http://obrazki.elektroda.pl/9403490800_1... Robiłem porządek żebyście coś zobaczyli i wiem że ledy podpiąłem do PD0 i PD1 a w programie mam inaczej, ale to szczegół. Dodano po 3 Tak jak przypuszczałem....
Witam! Mam następujący problem do rozwiązania... Stworzyłem strukturę napisaną w C, która jest szablonem menu wielopoziomowego pewnego programu. Początkowo projektowana była jako klasa w C++ na PCcie, teraz przenoszę ją jako strukturę do C pod AVR. Klasa była prosta, taka żeby łatwo na C przerobić. Problem polega na tym, że składniki struktury menu...
mam problem, a mianowicie nie wiem jak usunąć błąd, aby program dobrze działał. Program ma wybierać język w którym będziemy się dalej posługiwać. Dziękuję z góry za pomoc. W kodzie ( na samym dole w komentarzach ) jest napisane jaki błąd wyskakuje przy const char *phrase = pgm_read_word(¤t_language prog_char NEWLINE[] = {'\n','\r',0};...
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, podczas budowania dalmierza ultradźwiękowego natrafiłem na problem którego nie potrafię rozwiązać, a nawet lokalizować jego przyczyny. Sama procedura pomiarowa, tj, generacja fali i odebranie wygląda dobrze. Problemem jest, że np. mierząc wciąż jedną i tą samą odległość dostaję wyniki typu 43cm, 43cm, 38cm, 39cm, 43cm, itd. [syntax=c]#define...
LD PC, [PC, #-0x0ff0] oznacza, że do PC zostanie załadowana zwartość komórki pamięc spod adresu PC - 0x0ff0. Ponieważ owa instrukcja leży na początku pamięci odjęcie od PC -0x0FF0 spowoduje ze powstanie "ujemny" w postaci 0xfffffxxx. Jeśli LDR PC ... będzie leżalo na adresie 0xF0 po odjeciu 0xff0 wyjedzie wynik 0xfffff100 czyli adres początku tablicy...
Jeżeli masz chęć, to możesz wszystko napisać sam stosując się do tego: 1. Inicjalizacja karty (ew. error service). 2. Odczytanie sektora (bloku) 0x0000:0000 (ew. error service). 3. Wyłuskanie danych dotyczących struktury plików i początku partycji (ew. error service). 4. Wyłuskanie wielkości sektora, klastra, początku tablicy FAT i obszaru danych (kilka...
Kod programu [syntax=C] #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include <avr/interrupt.h> #include "HD44780.h" volatile uint16_t tempw, tempx; volatile uint16_t cz_d, cz_u; char tab1[8], tab2[8], tab3[8], tab4[8]; volatile uint8_t pwm1,pwm2; volatile int wsk_kan=0;//Wskaźnik kanału...
1. Inicjalizacja tablicy: int tab[]={15,2,4565,444,55,6666,88,33,99}; 2. Wypełniasz id[] kolejnymi indeksami: for(i=0;i<9;++i) id[i]=i; 3. Sortujesz w sposób dowolny porównując: tab[id[a]] z tab[id[b]] a wymieniając wartości id[a] z id[b] 4. Wypełniasz ten posort[] wg id[]: for(i=0;i<9;++i) posort[i]=tab[id[i]]; 5. Zamiast tworzyć wyświetlenie...
Witam, Jak (najlepiej na raz) wysylac i odbierac dane z wyzej wspomnianych rejestrow przez sprzetowe spi, przy czym nie jest ich po rowno, wyjsciowych 595 mam 8 sztuk, a wejsciowych 165 sztuk 13. Linia zegarowa wspolna. Zapis dziala ladnie, lecz przy odczycie dostaje same 1 (tzn. kazdy odczytany bajt to 0b11111111). Staralem sie odczytac narazie tylko...
A masz, ale nie w C++, tylko w C, nie kilka, a jeden wątek i nie Borland, ale powinno działać. Wycięte z innego mojego programu, istotne komentarze po polsku napisałem. Jak chcesz więcej wątków (tu jest 1), to potrzeban jest tablica "uchwytów" ( hjakisThread i wskazników pjakisThread ), dla każdego wątku po jednym. Wywołujesz kilka razy funkcję CreateThread()...
Sam już nie wiem co można jeszcze zrobić. Funkcja porównująca ciągi była zmieniana chyba z 10 razy i ciągle nie działa. Dorzuciłem nawet zapisywanie 0 (czyli null) do tablicy odebrane, żeby korzystać z funkcji strcmp . Może zamieszczę większy kawałek kodu i ktoś dostrzeże błąd w kodzie i/lub moim rozumowaniu.. char odebrane[50]; (...)...
oprócz zmiennej temp reszta czyli aż int0_flag jest volatile większa cześć kodu jest z słynnej ostatnio książki na forum. jeszcze nie zdążyłem za dużo pozmieniać [syntax=cpp] /* * main.c * * Created on: 2012-02-14 * Author: Jacek */ #include <avr/io.h> #include <stdlib.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include...
[syntax=cpp]std::vector < unsigned char > Temp_Pakiet; Temp_Pakiet.clear(); //Czyszczenie ze smieci - przy powtornym wywolaniu Temp_Pakiet.resize(Pakiet_odb.size(), 0x00); //Nowy rozmiar + inicjalizacja 0x00 //Procedury wstępne //... unsigned char Dane ; //Zmienna do ktorej bedzie zapisywany pobrany znak z bufora COM if(ReadData(&Dane,sizeof(Dane))...
"Łomatko nie trzeba być geniuszem " ,którego użył "studisat" jest obraźliwe i tylko zaniża poziom forum "dziwną " polszczyzną tak jakby było pisane przez dziecko ,a nie poważnego człowieka. A co jest w tym obraźliwego? Jakbyś pomyślał to byś doszedł do identycznych wniosków. Procesor tego tunera mniam mocy na przerabianie formatów danych. Prędzej obraźliwym...
Unia nie do końca rozwiązuje mojego problemu. Sprawa wygląda tak, że dostaje pomiary z 5 czujników. Jeżeli wybrany czujnik nacisku obciążę jakąś znaną i dużą masą przykładowo 350g, to pojawiają się "piki". http://obrazki.elektroda.net/83_12748870... Liczenie średniej nic mi nie da, ponieważ wynik będzie obarczony błędem. Pomyślałem żeby zrobić...
Mam problem z transmisją temperatury (sczytanej przez czujnik DS18S20) za pośrednictwem USART. Jestem dopiero początkująca w tej dziedzinie wiec proszę o jasne wytłumaczenie ja zrobić aby było dobrze lub o poprawienie niniejszego kodu: inicjalizacja USART'u: // inicjalizacja usartu void usart_Init(unsigned int UBRR) { UBRRH = (unsigned char)(UBRR>>8);...
inicjalizacja tablicy struktur błąd inicjalizacja inicjalizacja wyświetlacz
gniazdo karty pcmcia czujnik przyspieszony zmiana prędkość hulajnoga
wymiana zaworków delphi wymiana zaworków delphi
Jak podłączyć chiński czujnik obrotów do obrotomierza? Sprawdzenie tulei gumowych w osiach przyczepki samochodowej: krok po kroku