https://obrazki.elektroda.pl/3874188600_... Zgodnie z propozycją (at)pkaczmarek2 postaram się podzielić tutaj kilkoma pomysłami na rozszerzenia i funkcje firmware OpenBeken IoT, zaczynając "zgodnie z życzeniem" ;-) od rozszerzonego sterownika DS18(B)20. Kod znajduje się w typedef uint8_t DeviceAddress[8]; // wir müssen die...
ależ po co? Przecież... [syntax=C] float ulamek; unsigned short *ple=(unsigned short*)&ulamek; //ZAPISUJEMY! ZapiszU16([adres_w_bajtach],*ple); ple++; //tu przesuwasz wskaźnik o dwa bajty dalej...na starsze dwa bajty zmiennej 'ulamek' ZapiszU16([adres_w_bajtach+2],*ple); ple--; //wrrrrróć ;] ulamek=0; *ple=CzytajU16([adres_w_bajtach]); ple++; *ple=CzytajU16([adres_w_bajtach+2]);...
Pamiętaj, że funkcja _firFilterPut() implementuje bufor cykliczny. Wewnątrz struktury filtra zawsze będzie przechowywanych 'order' próbek. Ogólne użycie dla filtra 3 rzędu (pseudokod): _firFilterPut(ADC) _firFilterPut(ADC) _firFilterPut(ADC) for (i = 1..n) filteredsample usage: b = fir1(n, w Przeanalizuj działanie kodu i wypożycz z biblioteki jakąś...
Nie można w ten sposób, bo short int jest typem całkowitym. Jeżeli nie wykonasz rzutowania go na float i nie przechowasz wyniku jako float to otrzymasz liczbę całkowitą. Lepiej powiedz jakie masz zadanie do rozwiązania.
Witam. Mam pewien problem związany z konwersją zmiennej short do float. Moim zamiarem jest przeliczenie wartości z przetwornika AD na pewną wartość w postaci float. Schody zaczynają się na początku. Puki wartość ADC_out nie przekroczy 700 wszystko jest OK( ADCoutFLT przyjmuje wartość ADC_out ). Powyżej 700, ADCoutFLT przyjmuje wartość 5130. A dziej...
https://obrazki.elektroda.pl/8376286000_... Dzisiaj będziemy rozpracowywać zupełnie nieznany protokół I2C kontrolera LED RGBCW poprzez przechwytywanie i analizę jego pakietów. Użyjemy do tego analizatora stanów logicznych Sigrok, oczywiście zapewniając całemu układowi odpowiednią separację galwaniczną gdyż analizowane urządzenie pracuje...
Stacja Pogodowa ESP8266 + wyświetlacz T6963 https://obrazki.elektroda.pl/7068126200_... Wcześniej stworzyłem stację pogodową przy której były użyte dwa mikrokontrolery Atmega328p (arduino nano) i ESP8266 (NodeMCU) z wyświetlaczem opartym na sterowniku T6963. Na forum https://obrazki.elektroda.pl/1280939000_... Zagadnienie...
https://obrazki.elektroda.pl/8808596700_... Pokażę tu jak łatwo uruchomić MAX31855 z Arduino a potem omówię jego protokół komunikacji. MAX31855 oferuje 14-bitowy pomiar temperatury z zakresu zależnego od użytej sondy, od -270°C aż do 1800°C. MAX31855 oferuje prosty protokół komunikacji oparty o SPI, zasadniczo odczytujemy z niego tylko...
witam zacytuję to co napisałem w swoim poście "Proponuję wstępnie zapoznać się ze specyfikacją struktury zapytań oraz zwracanych wiadomości. Pomoże to w zrozumieniu protokołu komunikacyjnego. Wpisz w przeglądarkę "QPI Device protocol ID Inquiry" a otrzymasz informacje skąd ściągnąć rs232-communication-protocol.pdf." Co do "maliny" to odpuściłem sobie...
Stacja Pogodowa ESP8266 + wyświetlacz VFD https://obrazki.elektroda.pl/1002039200_... Zainspirowany stacją pogody kolegi vanaxis z tematu: https://obrazki.elektroda.pl/3997029100_... Jak nie może sie połączyć to wyświetla ekran poniżej i czeka: https://obrazki.elektroda.pl/4415212900_... Po zalogowaniu...
/* File: main.cpp Version: 1.0 - first version Date: April 7, 2015 License:GPL v2 Digital Bench Power supply http://www.pocketmagic.net/digital-b... ****************************************... Copyright (C) 2015 Radu Motisan <radu.motisan(at)gmail.com> http://www.pocketmagic.net...
ECLIPSE problemy z kompilacją programu , brakowało plików typu h ,więc dodałem je do katalogu ale nadal błąd nie wiem już co jest grane w sieci nic na ten temat nie ma , jak napiszę prosty program np. miganie diodą kompilacja przechodzi bez problemu. Może macie jakiś pomysł , Eclipse mam skonfigurowany zgodnie z tutorialem z Atnela. Poniżej kod programu...
https://obrazki.elektroda.pl/9593307400_... Stacja pogodowa na wyświetlaczu 240x128 ze sterownikiem T6963, Arduino Nano jako "sterownikiem" wyświetlacza i ESP8266 jako źródłem. Uzyskałem wyświetlacz z lekkim uszkodzeniem w postaci nieczynnych poziomych linii, wyeliminowałem te linie wykorzystując odpowiednie graficzne ułożenie (przerwy...
void BL_ProcessUpdate(float voltage, float current, float power, float frequency, float energyWh) {...} Jeśli założymy, że energiaWh jest ujemna, gdy mamy zysk energii, to nie musisz dodawać tam zmiennej. Musisz dodać instrukcję warunkową w dalszej części wiersza, aby oddzielić wartości „wzięte” od „podanych”. Tak, robię to teraz....
Witam, Coś w moim kodzie powoduje, że po jakims czasie mój ARM się wiesza. W programie wykorzystuję między inny rzutowanie z tablicy unsigned char na short, int i float oraz na operację odwrotną z zmiennych typu shortm int i float tworzę tablicę unsigned char. I tu właśnie mam pytanie, bo nie jestem pewiem czy robię to poprawnie. Oto kod, którego używam...
Cześć. Koledzy składam wagę z projektu który znalazłem i niestety na arduino uno zabrakło miejsca . Nie jestem programistą i sam nie jestem w stanie kodu zoptymalizować. Jedynie usunąłem wybór języka i zaoszczędziłem 2% pamięci. Jest jeszcze tylko o 1% za dużo więc ośmielam się prosić o pomoc tutaj na forum. Szkic używa 32856 bajtów (101%) pamięci programu....
https://obrazki.elektroda.pl/3243431700_... https://obrazki.elektroda.pl/9136850500_... Płytka pozwala na montaż powierzchniowy SMT, do zestawu dołączone są złącza szpilkowych goldpin umożliwiające montaż przewlekany lub wykorzystanie płytki stykowej. Do prób z modułem została wykorzysta wersja https://obrazki.elektroda.pl/1372408700_...
Witam Zbudowałem tester wysokiego napięcia który został zamieszczony na tej stronie... https://www.printables.com/pl/model/3471... Układ działa tzn wyświetla jednak na wyjściu B0 nie mam sygnału PWM. Sprawdzane na trzech różnych STM32...
Mam problem z czytaniem liczników przez panel Wintek MT8071ie rejestry czytam i przeliczam za pomocą makro jak poniżej . Jeśli mam jeden licznik jest ok ale jak pojawi się kolejny slave oczywiście z innym adresem i odwołaniem do innego nr.LW to zaczyna się to mmieszać i wyświetla się na przemioan w jednym LW macro_command main() short zmienna_0, zmienna_1,...
Tu jest przykład prostego menu https://starter-kit.nettigo.pl/2017/04/m... . Próbuję zaimplementować, ale otrzymuję komunikat o błędzie: "'ENUM_BUTTON' does not name a type". [syntax=arduino] #include <Wire.h> #include <OneWire.h> #include <DallasTemperature.h> #include <U8g2lib.h> #include <RTClib.h>...
W tej postaci poprzez naciśnięcie OK przechodzi z set Timer1 do imamID i na tym kończy się reakcja na manipulacje enkoderem. [syntax=arduino] #include <Wire.h> #include <OneWire.h> #include <DallasTemperature.h> #include <U8g2lib.h> #include <RTClib.h> #include <AiEsp32RotaryEncoder.h> #include <AiEsp32RotaryEncoderNumberSelector.h...
Ostatnio nic z tym nie robiłem, ale jeśli są takie to oznacza że pracuje się na złych typach danych (np. przy rzutowaniu float na short int trzeba zaokrąglać) ewentualnie przekracza się zakres napięcia wyjściowego.
witam robisz tak: #include <math.h> i w programie obliczasz normalnie np float a; a = sin(90); proste nie?? a teraz lepszy myk jak zapisac duza liczbe probek do pamieci typu float?? procek niestety ma za malo sramu a na 1000 lub wiecej probek...np dla 1024 probek typu float (zajmuje 4 bajty ---double jeszcze wiecej bo 8 :P) potrzeba 1024 *4 =...
Tak z ciekawości spróbowałem z czymś takim:[syntax=c]int main(){ struct { short a, b; } c = {11924, 17267}; printf("Float = %f\n\n", *(float*)&c); return 0; }[/syntax] Kompilator online (gcc, http://www.tutorialspoint.com/codinggrou... wypluł: Float = 243.181946. Czyli nawet by pasowało ;) Ale poczekaj, niech się mądrzejsi ode mnie wypowiedzą.
Witam Mam problem. Potrzebuje skompilować plik CPP ,ale gdy otwieram go za pomocą Visual Studio 2022 , 2013 , lub AVR Studio nie podświetla mi się KOMPILUJ. Druga sprawa: gdzie i jak wgrać biblioteki io.h ,delay.h oraz aux.h ,pwm.h. Poniżej podaje kod i prosiłbym o pomoc, gdyż zaczynam z programowaniem i czytam różne kursy, lecz nic to nie wniosło ....
Też mam zamiar czasem podładować aku bez odłączania ,ale raczej będę to robił przez przetwornice i ładowarkę 230v w obawie właśnie przed tymi skokami napięcia ,wiadomo straty będą dość znaczne ale coś za coś. Nie wiem jaką mocą i napięciem z paneli dysponujesz, że boisz się skoków napięcia. Ja mam 6 paneli 10Wp/12V, takie gabarytowo pasowały mi do...
Używam jeszcze biblioteki <Adafruit_SSD1306.h>, która dosyć sporo zajmuje i szukam ewentualnie jakiejś alternatywy. Co do kodu, to jeśli komuś będzie chciało się go przejrzeć i ktoś coś wyłapie, to wklejam go niżej. Wiem tylko, że jeszcze niektóre powtarzające się funkcje mogę zamienić na jedną zamkniętą w pętli. [syntax=c]#include <SPI.h>...
Witam wszystkich. Jestem początkującym elektronikiem i właśnie buduje mieszadło magnetyczne z wyświetlaczem obrotów. Obrotami silnika steruje napięciowo i chcę za pomocą Atmegi 328 przeliczyć napięcie na aktualne obroty silnika i wyświetlić je na wyświetlaczu 7-segmentowym. Problem polega na tym, że gdy odczytuje napięcie na pinie analogowym (pin 23)...
LC420DUH (PG)(F1) - string 6916L-1682A, 6916L-1683A, 6916L-1684A, 6916L-1685A; 42” V14 Slim DRT REV0.6 1 47 V14 sDRT REV0.8 6 L2-Type 6920L-0507A; 47 V14 sDRT REV0.8 6 L1-Type 6920L-0505A; 47 V14 sDRT REV0.8 6 R2-Type 6920L-0506A; 47 V14 sDRT REV0.8 6 R1-Type 6920L-0504A * all string: 9x LED 3V ( 3xLED it"s sectin) have in string: 3 section with...
Funkcja dokldnie wyglada tak: void DetectSilent(short *pInBuffer,unsigned char *pSilent,int VecSize){ float thresholdFactor = 0.01f; float energyThreshold = 10000000.0f; float DynamicEnergyThreshold=0.0f; int crossnum = 45; int startBCnt=0,stopBCnt=0; short *pBuffer = pInBuffer; unsigned char *pSilentWork=pSilent; float energy = 0.0f; ippsDotProd_16s32f(pBuffer,pBuffer,S...
Dopiero zacząłem programować, proszę o pomoc. Gdy konwertuję klasę na static to program się kompiluje, ale źle działa. Pokazuje jakby adres pamięci a nie wartość zmiennej. [syntax=java]public class zad2{ public abstract class NumberExample extends java.lang.Object { public NumberExample(){} public abstract byte getByteValue() ; public abstract double...
Witam, mam dziwny problem ze zmiennymi podczas programowania Atmega8-ki. Problem polega na tym, że gdy tworzę zmienną typu np. int, long int, unsigned int, to wszystkie te zmienne posiadają zakres short int (-32768 - 32767). Zmienna float również dziwnie się zachowuje zaokrąglając wynik gdy jest dość długi (pamiętałem o zaznaczeniu "floating point"...
W zależności od tego, czy urządzenie zawiera układy logiczne wykonane w technologii TTL bądź CMOS, poziom napięć odpowiadający stanom logicznego zera i jedynki będzie różny dla każdej z rodzin układów. Poniżej przedstawiono projekt sondy logicznej przystosowanej do pracy z układami TTL i CMOS, wykonanej z użyciem minimalnej ilości elementów. http://obrazki.elektroda.pl/7466263900_1...
W ciekawy sposób rozwinął się ten temat, uwzględniając zgłoszone uwagi przygotowałem nową propozycję: https://obrazki.elektroda.pl/1251981300_... Przetestowałem nowy kod sterujący translacją: zamiast opisu mikrostyku S powinien być Z ): https://filmy.elektroda.pl/85_1522660117... Wadą rozwiązania może być cisza w słuchawce abonenta...
do CR0 ładowałem wartość 100 na preskalerze 8, ale i tak program się wieszał. Robiłem test w którym momencie się wiesza i wyszło, że przy TIMSK |= (1 << OCIE0) [syntax=cpp]#include "board.h" #include <avr/interrupt.h> #include <avr/math.h> #include <avr/signal.h> #include <util/twi.h> #include <avr/pgmspace.h> #include...
Mam wrażenie, że problem leży w tej linijce kodu: OCR1A=(short int)(14400*(local_ms/1000)); Chodzi o problem z typem zmiennych -zaznaczyłeś, że operacje mają być przeprowadzane na typie short int który to typ jest typem całkowitym i wyniki operacji pośrednich też będą całkowite. Pewnie i twoje funkcja będzie działać dobrze i dla opóźnień 2000, 3000,...
Rozumiem, że liczyłeś już coś na fp16? Ogólnie spoko feature, ale ilość dodatkowych operacji w rzeczywistych obliczeniach ogranicza zastosowanie triku z 16b. zmiennoprzecinkowym przetwarzaniem (niska rozdzielczość danych). Dodatkowo większość zastosowań z którymi się spotkałem promowała 32b., również sposób organizacji dostępu do pamięci (GTX780). W...
Witam, nie widziałem nigdzie odpowiedzi na moje pytanie (choć może mi udowodnicie ze jest ;) ale szukałem i nic. Nie znam się na programowaniu a projekt robię dla córki. Chodzi o "skaczące ledy" które zobaczyła na tym filmiku: https://www.youtube.com/watch?v=5WP2Tjt9... I tu zaczyna się problem. Wszystko mam kupione i połączone według jego schematu,...
Ja używam trochę innej wersji :) [syntax=c]void MadgwickQuaternionUpdate(float ax, float ay, float az, float gx, float gy, float gz, float mx, float my, float mz) { float q1,q2,q3,q4; // short name local variable for readability float norm; float hx, hy, _2bx, _2bz; float s1, s2, s3, s4; float qDot1, qDot2, qDot3, qDot4; //todo to be improved float...
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....
Taa, ciekawe, który _cast? Tutaj akurat nie ma i nie będzie, żadnego nadzorowania, bo trzeba przekształcić tablicę bajtów na strukturę. Rzutowanie ma tą zaletę, że nie trzeba niczego kopiować. Hmmm masz rację po głębszej analizie nadaje się chyba do tego tylko reinterpret_cast? Co prawda nic nie będzie nadzorował ale łatwiej go odnaleźć w programie...
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...
Witam, Usiłuję napisać program zapisujący dane w wewnętrznym flashu. Mam taki problem, że jak chcę wykonać komendę usunięcia lockbitu z regionu CLB albo zapisać stronę WP to procesor mi się zawiesza. Uprościłem program do poniższej postaci żeby było łatwiej znaleźć przyczynę. No i jak daję którąś z tych komend to dioda nie miga, jak usuwam linijkę z...
Czesć, Chcę oprogramować sobie komunikację z czujnikiem podłączonym do komputera przez zewnętrzny konwerter na RS485. Napisałem sobie krótki program w C++ którym chcę odczytać jego status, aczkolwiek nie odbieram żadnych danych main.cpp [syntax=c] #include <stdio.h> // standard input / output functions #include <stdlib.h> #include <string.h>...
Keborks, funkcja PlaySound wymaga nagłówka opisującego format dźwięku. Musi to być taki nagłówek, jak w plikach wav. Nagłówek ten powinien być umieszczony bezpośrednio przed samplami audio, a jego adres podajesz do owej funkcji. Poniżej zamieszcam przykładowy program generujący i odgrywający ton 2KHz (ustawialny) w czasie jednej sekundy: [syntax=cpp]#include...
Witam zauważyłem, że jak się rozpisuje to później nikt tego nie czyta także krótko: Mam czujnik ciśnienia MS5611 - http://www.meas-spec.com/downloads/MS561... . Bez problemu odczytuję wartości mierzone lecz jest pewien mankament a nawet dwa. Mam problem prawdopodobnie ze zmienanymi: otóż śledzę w debuggerze jakie są wartości różnych obliczeń...
W ramach zajec z programowania mam zawsze do napisania jakis prosty przykladowy programik... Sek w tym, ze najczesciej ucze sie w trakcie pisania tego programu wiec obawiam sie, ze w kodzie moglem popelnic jakies bledy - a jest on sprawdzany i oceniany... zalezaloby mi na tym by bylo w nim jak najmniej bledow zebym dostal troszke punkotow.... Jesli...
Mam napisany prawie cały program ale niestety źle są liczone wartości funkcji co oznacza zle rysoawny wykres praktycznie w tym samym miejscu za każdym razem w tym mam największy problem może ktoś wie jak to poprawić?:| Oto moj kod programu (parabola) main #include <cstdlib> #include <iostream> #include <graphics.h> #include "deklaracje.h"...
Witam mam taki problem, otóż mój STM32F4 bardzo dziwnie się zachowuje. Mój program ma odczytywać z 3 różnych czujników przez I2C dane i przeliczać je. I2C zrealizowane jest na przerwaniach (z najwyższym priorytetem), dodatkowo używam timera 2, by odmierzał czas. Oto kod: [syntax=c]#include "stm32f4xx.h" #include "stm32f4xx_conf.h" #include <stdio.h>...
Witam, Temat ten już był poruszany. Proponuję zobaczyć ten wątek: http://www.elektroda.pl/rtvforum/topic19... W tym przykładzie jest ustawiona tylko obsługa rejestrów typu Input Register. Aby odczytywać rejestry Holding Register należy w kodzie dopisać kilka linii. Poniżej przedstawiam modyfikację, którą ja wprowadziłem w pliku demo.c tego przykładu....
mordaunt short short circuit short tester
prosty programator at89c51 awaria ekspresu philips automat spłukujący
Ekran radia 2 DIN reaguje po lewej stronie po naciśnięciu prawej Nice Robus 600 - 4 mignięcia diody LED - fotokomórki lub STOP