Bardzo kombinujesz, a wyżej masz dokładnie napisane dla dużych bibliotek, na dwa sposoby. Float ma cztery bajty, nie ma sensu w twoim przypadku zamienić go na int, żeby za chwilę zamienić tego inta z powrotem na float. Użyj memcpy (#9), albo ręcznie przepisz wszystkie bajty (#13).
Mała uwaga: memcpy jest rozwiązaniem mniej bezpiecznym niż unia.
Punkt dla ciebie, przyjmuję uzasadnienie. Zajrzyj jeszcze na SO to zobaczysz że tematów z pp jest 5 dziennie każde z pytaniem dlaczego mój program nie działa. Czy pp jest zawsze zły - oczywiście nie - ale trzeba mieć dobre uzasadnienie dla jego użycia (a to są przypadki nieczęste). Zresztą memcpy w niektórych szalonych standardach (co nie oznacza że...
unikanie typedef dla struktur oraz wskaźników (jeżeli komuś się wydaje że przez to kod jest czytelniejszy to zapewniam, że tak nie jest :P) Możesz rozjaśnić? Obecnie w taki sposób tworzę sruktury (używając typedef): użwyanie możliwie wielu funkcji ze standardowej biblioteki, bez wynajdywania memcpy czy memset na nowo (w SPL widzialem taki stuff ;))...
Czy móglby mi ktoś pomóc skompilować ten program #include <stdio.h> #include <stdlib.h> #include <math.h> #include <assert.h> #include <string.h> extern "C" { #include <jpeglib.h> #include <jerror.h> } #include <math.h> /*======================================... /* USER EDITABLE...
A zrób tak: [syntax=c] unsigned char buf[4]; float DNL; buf[0] =USART0_Receive(); buf[1] =USART0_Receive(); buf[2] =USART0_Receive(); buf[3] =USART0_Receive(); memcpy(&DNL,buf,4); [/syntax] Bedzie można sprawdzić, czy aby na pewno odbieramy to co odbieramy, bo często rejestry FIFO płatają figle. BTW: pokaż deklaracje funkcji "USART0_Receive". Nie jest...
To po kolei: EM_A_power to jak widać zmienna float (tu przywołana jako extern), która przyjmuje wynik funkcji IntToFloat. Funkcja umieszczona w szkicu działa od dłuższego czasu, nie działała w wydzielonym pliku; dzięki uwagom kolegi z innego forum okazało się przy okazji, iż w tej formie jest UB, ale o dziwo działała. Tak jak przypuszczałem - "głupi...
#include <stdio.h> #include <memory.h> int main(int argc,char**argv) { float f = 13.1456789; printf("%f\r\n",f); //13.1456789 char *s; s = (char*)&f; //rzutowanie na wskaźnik do tablicy charów float b = *(float*)s; printf("%f\r\n",b); //13.1456789 int i; memcpy(&i,&f,sizeof(int&...
W sofcie musiał byś dopisać tablice. Skompiluj i sprawdź jak to działa. [syntax=c] float GetTemp(u16 Adc,float ku) { const static float dw[] PROGMEM = { // Tablica wielomianu dla termopary J /* 1.978425E+01, -2.001204E-01, 1.036969E-02, -2.549687E-04, 3.585153E-06, -5.344285E-08, 5.099890E-10 */ // Tablica wielomianu dla termopary T /* 2.592800E+01,...
Jesteśmy świadkami, jak cała konstrukcja jest generowana przez AI. Nie tylko kod programistyczny, ale również sposób łączenia elementów. Na razie modele radzą sobie z popularnymi elementami, pewnie kwestia czasu, jak zostaną przetrenowane na datasheetsach elementów elektronicznych. . No właśnie AI kiepsko radzi sobie z Datasheet. Nie za bardzo radzą...
Dobra okazja by to spie.... Jeśli jest to typowa filozofia Arduino, z delayami, odpytywaniem portów w pętli (a nie przerwania), to zabija większą aktywność Jak napisałem - wykorzystuje stack TCP I proste parsowanie stringa. Nie ma w tym magii, proste C portowalne na wiele platform. przyklad kodu parsowania: void parseudp(AsyncUDPPacket packet)...
Witam. Chciałem zbudować proste radio FM na arduino z tego poradnika http://educ8s.tv/arduino-fm-radio-2/.Mam problem z kodem mianowicie podczas kręcenia enkoderem częstotliwość zmienia się z opuznieniem i nie płynnie. Próbowałem już wszystkiego ale niestety nieskutecznie. Enkoder oczywiście sprawny. Biblioteki powgrywane. Kod: [syntax=arduino]#include...
Witam Mam pewien problem po załadowaniu programu do procesora Atmega328 wszystko ładnie działa lecz wyświetla mi znaki na wyświetlaczu w poziomie a nie w pionie w jaki sposób można to zmienić poniżej podaje kod //Die MaxMatrix Bibliothek #include <MaxMatrix.h> #include <avr/pgmspace.h> //Ausgelagerte CHAR Arrays damit dieser Code übersichtlicher...
Temat ucichł i pozostały pytania bez odpowiedzi, to może przybliżę kolegom działanie espnow z wifi. I przytoczę działający przykład takiego połączenia. Nigdzie w oficjalnych źródłach nie doczytałem, że espnow nie działa z wifi. Spotkałem się tylko z opiniami, że transmisja espnow przestała działać po podłączeniu odbiornika slave do wifi. I to też jest...
https://obrazki.elektroda.pl/7393623100_... Witajcie, dziś dla odmiany mała zabawa programistyczna. Przedstawię tu jeden prosty trik na oszczędzanie pamięci przy zapisie typu integer w języku C i nie będzie to po prostu rada w stylu "użyj typu 8-bitowego zamiast 32-bitowego". Pokazany tu typ sam dobierze sobie potrzebną ilość bajtów...
To inaczej: nie wiem jak to się ma do lowpower, ale widziaiłem porównania gdzie taki C++ i zastosowanie algorithm dawało mniejszy kod niż C i for. Sam robiłem nawet na AVR takie porównania i napisanie takiego automatu skończonego w C++ (polimorficznie, używając state machine pattern) dawało w sumie 4 bajty narzutu w zamian za ogrom czytelności. Czy...
Witam, Zrobiłem urządzenie w którym dwa procesory stm32f103 komunikują się między sobą poprzez USART na zasadzie Master - Slave. Urządzenie sobie pracuje poprawnie i po pewnym czasie (losowo raz po czasie np 1min, drugi raz po np 10min) w procesorze master zmieniają się stany bitów PEIE i RXNIE w rejestrze CR1 od USART3, więc wysyła on zapytania, slave...
Witam Siedzę już drugą noc nad samymi timerami, a termin końcowy oddania projektu się zbliża. Problem wygląda tak, że gdy załączę zezwolenie na przerwanie od timera2 zawiesza się cały program (kratki na wyświetlaczu). Potrzebuje drugiego timera do obliczeń a Timer1 generuje przerwanie co 0,5s w trybie CTC. Kwarc 8MHz. [syntax=cpp] #include "board.h"...
Są konkretne powody; pierwszy z nich to czas alokacji, drugi to problemy z fragmentacją pamięci, trzeci to garbage collection. Standardowy malloc w przerwaniu to pomyłka jesli chodzi o czas wykonywania... Przesada - malloc trwa (sprawdzałem) koło 150 cykli - nie wiem gdzie tutaj tragedia... Dłużej może trwać free, zwłaszcza jeśli będzie łączył bloki....
No to się zaczyna, wziąłem się za esp now i mam problem. kod nadawcy: 15:53:32.877 -> 15:53:57.881 -> Last Packet Send Status:Delivery Fail 15:54:02.847 -> Sent with success 15:54:02.895 -> 15:54:02.895 -> Last Packet Send Status:Delivery Fail 15:54:07.848 -> Sent with success...
Co ma branch predictor do wyższości C nad C++? Kolejne odkrycie Ameryki to CCMRAM. SRAM tez ma dostęp w jednym cyklu. Różnica podstawowa polega ba tym ze do CCMRAM ma własne magistrale i nie ma dostepu DMA czyli średnio nadaje się do danych DSP, które to z reguły są właśnie tak zapisywane z ADC np. Tu musiałbyś dodatkowo ręcznie kopiować je ze SRAM....
Witam Od dłuższego czasu walczę z obsługą wyświetlacza jak sądzę opartego na ssd1289 ( co prawda device code odczytywany z rejestru 0x0000 pokazuje 0x0020 ). Wyświetlacz inicjalizacje się poprawnie mogę wyrysować wszystko co chcę ale problem pojawia się w odświeżaniu obrazu. Sądząc po ustawieniu rejestru R25h jest ustawiony na 65Hz/ w nocie nie zauważyłem...
słuszna "opieprzka" , Freddie :))) a więc wygląda to tak : #include "stm32f10x.h" #include "TouchPanel.h" #include "systick.h" #include "LCD/LCD.h" #include "SD_Card/sdio_sd.h" #include "FATFS_V0.08A/src/ff.h" #include "usb_lib.h" #include "hw_config.h" #include "usb_pwr.h" #include "stm32f10x_usart.h" #include <stdio.h> #include "Rtc/RTC_Time.h"...
Witam! Próbuje rozpocząć pierwszą komunikację z wyświetlaczem LCD HY-320 opartego na sterowniku SSD1289. Na podstawie bibliotek ze strony http://obrazki.elektroda.pl/7640696200_1... Ekran toleruje napięcie 3.3V, więc zasilam i mikrokontroler, i ekran napięciem 3.3V. Atmega32A według noty katalogowej jest w stanie pracować na tym napięciu...
Ciągle: "Command not found" : https://obrazki.elektroda.pl/1797394600_... Co robię źlę ? Oprócz tego nadałem prawo wykonywalności plikowi "environment-setup-cortexa9hf-vfp-neon-p... Dodano po 4 Dopisałem do nazyw pilku rozszerzenie .sh i coś ruszyło. Patch node ze strony to standardowy Node.js czy to jakaś scpecjalan...
https://obrazki.elektroda.pl/3743484600_... Witajcie moi drodzy Przedstawię tutaj mojego shielda (nakładkę) na Arduino UNO opartego o układ ENC424j600. Shield ten pozwala podłączyć Arduino do internetu bez żadnego lutowania, a nawet bez użycia kabelków i płytek stykowych. W temacie dam jedenaście pełnych przykładów jego użycia z moimi...
Nie miałem za bardzo czasu ale wracam do nierozwiązanego problemu. http://obrazki.elektroda.pl/7699775600_1... http://obrazki.elektroda.pl/3826926900_1... Tak wyglądają screeny po wywołaniu programu CRCGEN. Pliki wgrane programatorem działają poprawnie a przez bootloader tylko ten krótki (choć po przemieleniu ma także...
Witam, Chciałbym narysować przebieg sygnału mierzonego przez przetwornik A/C mikrokontrolera. Niestety za nic w świecie nie potrafię tego zrobić. [syntax=c]#define F_CPU 16000000UL #include <avr/io.h> #include <avr/pgmspace.h> #include <util/delay.h> #include <stdlib.h> #include <avr/interrupt.h> #include "pcd8544.h" //...
https://obrazki.elektroda.pl/8064219100_... Witajcie, dzisiaj przedstawię jak okiełznać kolejny chiński mikrokontroler WiFi+Bluetooth, a dokładniej W800-C400 od WinnerMicro. Na ten moment można go kupić za około 10 zł, z kolei płytkę startową z nim już za 25 zł i obie te ceny uwzględniają już przesyłkę. Oczywiście nie będę tu korzystać...
volatile memcpy zaokrąglanie float wyświetlać float
uszkodzić hamulec silnik samoczynny włączyć komputer pierwsza uruchomić laptop lenovo
schemat bezpieczników nissan bezpieczniki pompki spryskiwacza
Jak połączyć wyrwane kable wentylatora w Oplu Astra G 1.7 DTI Czarny dym z Diesla przy przyspieszaniu: przyczyny i rozwiązania