Witaj. Spróbuj: [syntax=dos](at)echo off set "s1=$m='[DllImport("user32.dll")]public static extern Int32 SwapMouseButton(Int32 bSwap);" set "s2=public static void SwapMB(){ int isright=SwapMouseButton(1); if (isright != 0) { SwapMouseButton(0); } }';" set "s3=add-type -name Import -member $m -namespace Dll; [Dll.Import]::SwapMB();" set "ps_swapmousebutton=%s1%%s2%%s3%"...
Prosty program w C# , odbieranie i wysyłanie przez port LPT. W załączniku: - Program.cs - wystarczy utworzyć nowy projekt na konsoli w C# i skopiować zawartość, - inpout32.dll - biblioteka, należy skopiować do katalogu "Debug" projektu, - LPT.exe - gotowy program, jeśli podłączycie diodę pod jakiś pin LPT D0-D7 to będzie migać. [syntax=csharp]using...
Nie sprawdzałem czy działa, exe jest tutaj http://mmm777.kilu.de/temp/MonitorOn.exe Źródło: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace MonitorOn { public partial...
Zmienna static w pliku nagłówkowym? WOW. extern poczytaj...
[syntax=csharp] using System; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace TabEdit { public partial class Form1 : Form { private const int EM_SETTABSTOPS = 0x00CB; [DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern IntPtr SendMessage(IntPtr h, int msg, int wParam, int[] lParam); public...
Da się, przy czym trzeba użyć funkcji samego windows. Dodajesz w klasie importy: [syntax=csharp][DllImport("kernel32.dll"... static extern IntPtr GetConsoleWindow(); [DllImport("user32.dll")] static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); const int SW_HIDE = 0;[/syntax] Następnie, w metodzie Main, na samym początku, dodajesz [syntax=csharp]var...
EntryPoint .
To było pisane "z palca" na poczekaniu, nie wymagaj za wiele. Skoro naparza ten klawisz w kółko, to tak widocznie sobie życzył autor tamtego zapytania. Udaje wciskanie klawisza do momentu, aż ten piksel nie powróci do stanu pierwotnego. Jak będzie miał kolor startowy, to przestaje udawać i napis "piksel został zmieniony" znika. [syntax=csharp]using...
C# syntax
Używasz Dllimport-a. Masz tu przykład innej dll jak to się robi: [DllImport("user32", EntryPoint = "SendMessageA")] protected static extern int SendMessage(int hwnd, int wMsg, int wParam, [MarshalAs(UnmanagedType.AsAny... object lParam); pozdrawiam
dzieki wlasnie tez do tego doszedlem a dla tych ktorzy szukaja to [DllImport("kernel32.dll&qu... SetLastError = true, CharSet = CharSet.Ansi)] private static extern bool WriteFile(uint hCommDev, byte[] lpBuffer, uint nNumberOfBytesToWrite, out uint lpNumberOfBytesWritten, ref OVERLAPPED lpOverlapped); [DllImport("kernel32.dll&qu...
Windows nie jest systemem czasu rzeczywistego, a już na pewno nie jest nią platforma .NET :) Jest raczej nastawiony na obsługę zdarzeń. Sam pomiar czasu czy porównanie dwóch czasów zajmuje ileś-tam mikrosekund, więc raczej nie zrobisz super-dokładnego zegara, który się nie będzie rozjeżdżał z czasem. W mikrokontrolerach można sobie wyliczyć ilość cykli...
Trochę czasu minęło od momentu, kiedy postanowiłem zbudować własny inerface I/O na USB. Po wielu godzinach studiowania różnych przykładów z internetu zrobiłem układ oparty na przykładzie z Microchipa. napisałem prostą aplikację w C# sterującą PIC-em. Obecnie działa mam opanowane włączanie i wyłączanie LED-ów z poziomu aplikacji. Problem mam natomiast...
Dowolny serwis GSM albo komputerowy zrobi to pewnie Koledze za grosze, jak Kolega pójdzie z płytką myszy i zakupionymi przyciskami. A jeśli chce się to jednak zrobić "aby było", to można sobie zamienić te przyciski miejscami. Ten prosty programik to zrobi: [syntax=csharp]using System.Runtime.InteropServices; using System; class SwapMouse { [DllImport("user32.dll")]...
No i chyba nie można deklarować zmiennej jako extern a potem definiować jako static. To może niuans, ale taka interpretacja nawet mi nie przyszła do głowy, jak czytałem pytania. :) W każdym razie - w tym samym kontekście, oczywiście, nie można. Ale jeżeli w innym (wewnątrz funkcji czy bloku), to można - będzie to inna zmienna, przesłaniająca definicję/deklarację...
Dzięki, wchodziłem wcześniej na tą stronkę, ale myślałem że jest tam tylko w C++. Myliłem się :) Żeby nikt nie musiał szukać napisze krótko. Wystarczy ściągnąć plik "inpout32.dll" i umieścić go w folderze projektu (w debug, lub relase), a w kodzie programu dodać klasę: public class PortAccess { [DllImport("inpout32.dll", EntryPoint="Out32")] public...
No to radziłbym się zaznajomić z tego typu pojęciami bo są to podstawy. Otóż w języku C mamy cztery klasy pamięci. Określają one widoczność zmiennych oraz czas ich życia. Są to: auto , register , static oraz extern . Wszystkie zmienne deklarowane w funkcji (bez słowa kluczowego static) należą do klasy auto . Zakres ich widoczności oraz czasu życia określa...
hhhm więc tak: znalazłem takie dwa importy: [DllImport("advapi32.dll&qu... CharSet = CharSet.Unicode, EntryPoint = "RegOpenKeyEx")] private static extern int RegOpenKeyEx(IntPtr keyBase, string keyName, IntPtr reserved, int access, out IntPtr keyHandle); [DllImport("advapi32.dll&qu... CharSet = CharSet.Unicode,...
Dzięki za szybką odpowiedź. Wcześniej były podejmowanie próby uruchomienia dll-ki w C#, sama funkcja command (nota bene jedyna udostępniania przez bibliotekę) byłą wywoływana lecz pojawiał się inny problem w dalszej pracy z dll-ka. Jednak na podstawie sposobu podpięcia funkcji command w c# można wnioskować, że rzeczywiście typy TLnId i TStatus to są...
Przepraszam, pomyłka z pośpiechu: Poprawka: Dodano po 2 Coś mi nie działa to importowanie bibliotek z przykładu: Dodano po 4 Poradziłem sobie z zmianą czasu... A jest możliwość pobrania czasu z sieci (internetu) do okna aplikacji w C# ?
Hej, Nigdy się nie bawiłem portem LPT. Kiedyś (parę lat temu) napisałem prosty programik w TurboPascalu komunikujący się z portem dżojstika (w karcie dźwiękowej). Do portu podłączone były 2 druciki, który to następnie dołączony były do 2 blaszek a całość umocowana w framudze drzwi. Druga blaszka przyczepiona była do drzwi i w momencie gdy drzwi zostały...
Dzięki wielkie za odpowiedzi. Sposób marcinj12 działa jak najbardziej. Włączenie procesu trwa jednak chwile, krótką, ale jednak. Sposób antekone także działa, ale natychmiastowo po wywołaniu funkcji [syntax=csharp] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Text; using System.Windows.Forms;...
To, że monitorowałbym cały czas uchwyt i stan okna. W zależności od wywołania skierowałbym np. stan po zminimalizowaniu na DEVMODE/DEVCON z SDK by szybko zmienić rozdzielczość przy pomocy API i w trakcie maksymalizacji czy trybu pełnoekranowego wrócić do niższej. Część kodu dla otwartego notatnika już mam - dla minimalizacji z dowolnego stanu: function...
Witam. Mam problem, którego nie mogę rozgryźć. Do kodowania wykorzystuję C# .net 4. W programie głównym tworzę piaskownicę (AppDomain), która ma uprawnienie typu SecurityPermissionFlag.UnmanagedCode. Ładuję w piaskownicy plik assembly, który do pracy wymaga uruchomienia procedury z pliku DLL (setupapi.dll). Deklaracja w skrócie wygląda tak: "Attempt...
Próbowałem deklarować zmienną nr_trybu w różny sposób (volatile, extern, volatile, static). Nie pomaga. Coś gdzieś zachodzi na siebie. Zauważyłem, że jaką przypiszę tej zmiennej wartość w przerwaniu, taką ona potem przyjmuje w chwili jeżeli nie spełni się opisywany warunek.
W takim razie wygląda na to że SoundStream nie da się zatrzymać jeżeli jest w trybie PlaySycnc(). Możliwe rozwiązania: 1. Sprawdź czy dostajesz to zdarzenie https://msdn.microsoft.com/pl-pl/library... po zakończeniu grania poprzez .Play() wtedy przerabiasz wszystko na tryb asynchroniczny, czyli ładujesz...
W czym rozwiazanie z zamiana *.c na *.inc oraz warunkowa kompilacja w pliku types.common.c jest lepsze od warunkowej kompilacji kazdego pliku types_xxx.c z osobna ? type1.c: [syntax=c] #ifdef TYPE1 //tutaj wszystkie funkcje #endif [/syntax] type2.c: [syntax=c] #ifdef TYPE2 //tutaj wszystkie funkcje #endif [/syntax] Jak chcesz bardziej wyszukanego rozwiazania...
Nie widzą bo nie ma w innych plikach extern a w pliku gdzie się znajdują jest static przy deklaracji. Generalnie ostatnio się dowiedziałem że używanie extern przy rozbudowanym projekcie w C jest błędem. Powinno się właśnie utworzyć prosty interfejs czyli funkcje robiące get i set dla konkretnych danych w strukturach, żeby nie było bałaganu jaki powstaje...
Drogi kolego , popełniłeś szkolny błąd :D W procedurze obsługi przerwania Timer0 masz ... SIGNAL(SIG_OVERFLOW0) //obsługa multipleksowania wyswietlaczy { //extern unsigned char wyswietl[7]; unsigned char licznik;//<-- ********** błąd !!!!!!!!!!! ... zmienną licznik , tyle że jest to zmienna lokalna , czyli istnieje w pamięci...
... Najlepiej tak to zrobić, struct i potem interesujące cię zmienne. Pamiętaj tylko, żeby deklarację zrobić w pliku nagłówkowym, a definicję umieścić w pliku źródłowym - najlepiej static. W deklaracji nie zapomnij także o extern. Wtedy z poszczególnych modułów inkludujesz tylko nagłówek i możesz się swobodnie odwoływać do globalnej struktury. Ale...
Te zmienne które musza zostać przechowane do następnego wykonania loop() musisz zadeklarować poza tą funkcją (jako globalne) Niekoniecznie - wystarczy zadeklarować w funkcji, że są "static", np. "static int zm1 = 123;" - to spowoduje, że początkowo zmienna zm1 (typu int) będzie 123, ale jak się do niej potem wpisze coś innego, to będzie przechowywać...
Ostatnio pisałem autokliker do myszki w C# z wykorzystaniem systemowej biblioteki user32.dll Dołożenie przycisków z klawiatury nie powinno być problemem. Do kompilacji polecam darmowe Visual Studio Community. A poniżej proof of concept dla myszki. Polecam testować np. na hodowanku piesełków :) [syntax=csharp] using System; using System.Collections.Generic;...
Trzeba dodać funkcję: [/code] caddr_t _sbrk (int size) { extern char __heap_start; extern char __heap_end; static char *current_heap_end = &__heap_start; char *previous_heap_end; previous_heap_end = current_heap_end; if (current_heap_end + size > &__heap_end) { errno = ENOMEM; return (caddr_t) -1; } current_heap_end += size; return (caddr_t) previous_heap_end;...
[syntax=c] DCB PortDCB; COMMTIMEOUTSCommTimeouts; HANDLE hPort; const unsigned short const_bufo=256; //maksymalna iloϾ danych odczytywana jednorazowo z portu const unsigned short const_bufn=1024; //wielkoϾ bufora nadawczego const unsigned short const_stos=65535; //wielkoϾ Stosu odbiorczego (maks 65535) const unsigned...
Miało być prosto, zmienna globalna static nie jest widoczna innych plików projektu. Gdy nie jest statyczna mozna się do niej dobrać przez extern.
Proste integracje oparte o rozwiązania publiczne z github. Jako że głownie posiadam JK BMS w wersji v14, v15 i v19 to oparte tylko o rozwiązania tego BMS, dla innych producentów czy wersji BMS też są dostępne podobne projekty. Integrację HA z BMS można uzyskać za pomocą RS485 lub Bluetooth. Dla przykładu weźmiemy Bluetooth bo jest najprostszą i nie...
Witam nie rozumiem do końca takiego fragmentu kodu. Co jest tworzone w pamięci, jakiej wielkości tablica pixels będzie? Co robi "& _main_ram_start;"? W kodzie linkera jest linijka: _main_ram_start = 0x20000000; [syntax=c] extern char _main_ram_start; static struct framebuffer { int w; int h; int bpp; uint8_t pixels[]; }*fb = (struct framebuffer *) &...
Ramka z kamery ma 160*120*2 = 38400 bajtów. Poniżej pokazuję strukturę jaką chcę właśnie przechowywać w pamięci. [syntax=c] extern char _fb_base; static struct framebuffer { int w; int h; int bpp; int ready; mutex_t lock; uint8_t pixels[]; }*fb = (struct framebuffer *) &_fb_base; [/syntax] gdzie _fb_base = 0xD0000000 No i ramkę obrazu wrzucam za pomocą...
Zmienne static są inicjowane przypisaną wartością tylko raz, na początku programu. Kolejne wejście do procedury obsługi przerwania nie powoduje ponownego przypisania im wartości; mają wartość taką, jak po zakończeniu poprzedniej obsługi przerwania.
Nie definiuje się zmiennych z nadana wartością poczatkową w plikach nagłówkowych - co najwyżej deklaruje jako extern. Ewentualnie można inicjalizować w nagłówkach stałe statyczne (static const). Definicje zmiennych globalnych z nadaną wartością początkową muszą być w plikach c/cpp.
http://msdn.microsoft.com/en-us/library/... Niestety to u mnie nie działa, a powód może być taki: This code example defines the following: Platform invoke declarations for the native methods in Windows Embedded CE. A structure to pass to and receive from the native methods. A managed method named ShowMemory, which displays the available memory....
Pliki nagłówkowe zazwyczaj tworzy się, aby umożliwić współdzielenie - typów danych, funkcji, czy zmiennych globalnych - pomiędzy oddzielnie kompilowanymi plikami źródłowymi. Z tego powodu deklarowanie zmiennych globalnych czy funkcji w plikach nagłówkowych jako static z reguły nie ma sensu, bo chodzi nam o to, aby te zmienne były współdzielone, czyli...
Chcę móc dynamicznie alokować pamięć, której rozmiar jest z góry znany, a nie ograniczony stosem. Oczywiście coś jest nie tak, bo nigdy nie dostaję NULL, a przy większej liczbie alokowanych liczb procek się zawiesza (A mój debuger ma dziś fochy i nie odpala ;-( ) W skrypcie linkera za sekcją bss mam: [syntax=c] _heap_size = 256; SECTIONS { ... . = ALIGN(4);...
Hmm... Co do sh_link, to poniżej fragment mojego skryptu, który tego problemu nie ma (przynajmniej u mnie takie "przestawienie" pomagało) . = ALIGN(4); __exidx_start = .; PROVIDE(__exidx_start = __exidx_start); .ARM.exidx : { . = ALIGN(4); *(.ARM.exidx* .gnu.linkonce.armexidx.*); } > rom AT > rom /*...
Po ludzku czyli tak: 1. Zmienne/stałe są TYLKO I WYŁĄCZNIE w plikach źródłowych (*.c, *.cpp, itd.) 2. Jeśli chcesz aby zmienna była prywatna dla danego pliku jej definicję poprzedzasz słowem "static" - teraz każdy plik może mieć zmienne o takiej samej nazwie, ale nie będą się one nakładać, nie ma też możliwości udostępnienia ich "zewnętrznie" wg punktu...
No ale co to zmienia? zrobisz ją static w przerwaniu, czyli będzie miała zasięg lokalny. Teraz, żeby z reszty programu coś widzieć zrobisz globalną flagę, która - uwaga - musi być extern volatile. Gdzie tu sens?
Taki zapis ( definicja )powinien być w jednym pliku C (zmienna globalna) volatile unsigned char stan = CZEKAJ; w pliku headera (chyba sensor.h) tylko deklaracja extern volatile unsigned char stan; w żadnym wypadku nie można dawać w headerze (pliku *.h) includowanym do wielu plików *.c definicji zmiennej statycznej static unsigned char stan = CZEKAJ;...
Musisz niestety troszkę się pouczyć C. Includuje się pliki .h, które zawierają: [syntax=c]/* definicje i makra */ #define STRSIZE 50 /* deklaracje typów */ typedef struct { int a; float f; double d; char c[STRSIZE]; }mytype; /* deklaracje funkcji ale bez definicji (czyli "ciała") */ int foo(int,int, mytype *); /* ddeklarcje extern - zmiennych zdefiniowanych...
W każdym temacie odpowiadam to samo ostatnio, to pewnie dlatego, że nikt nie szuka przed zapytaniem. http://www.elektroda.pl/rtvforum/topic13... Jeden i drugi przykład zawiera stosowne definicje dla heap - __heap_start, __heap_end oraz __heap_size. malloc() z newlib jest niezbyt dobry dla mikrokontrolerów moim skromnym zdaniem - zajmuje ~1.2kB...
caddr_t _sbrk_r (struct _reent *r, int incr) { extern char end asm ("_end"); /* Defined by the linker. */ extern char ram_end asm ("_ram_end"); static char * heap_end; char * prev_heap_end; if (heap_end == NULL) heap_end = & end; prev_heap_end = heap_end; if (heap_end + incr > &ram_end)...
Dzięki za wszystko i cierpliwość. Tu wychodzą moje braki w programowaniu, wskaźniki, przydziały pamięci statyczne i dynamiczne, mapa pamięci uC etc etc...i jeszcze wiele etc... W assemblerze programowałem jeszcze na Commodore 64 (jakies proste gierki w hi res), ale to bylo ze 20 lat temu.Ostatnio proste rzeczy w AVR i od pół roku STM32. No ale do przodu...małymi...
nieulotna to volatile ... Jesteś pewien, że "nieulotna"? oczywiście, że ulotna - mój czeski błąd - słuszna twoja uwaga Dodano po 10 volatile - obojętnie gdzie to tylko wskazówka dla kompilatora, aby nie optymalizować no pewnie, że masz rację że można dać obojętnie gdzie słówko volatile jeśli chodzi o zmienną - tylko nie mów, że wszędzie je dajesz?...
Witam, próbuje od paru dni przypisać statycznej metodzie obsługę zewnętrznego przerwania. W przypadku gdy statyczna metodę umieszczę bezpośrednio w obsłudze przerwania wszystko działa poprawnie: [syntax=cpp] class GPIO { public: static void EXTI_0(void); private: }; void GPIO::EXTI_0() { } extern "C" void EXTI0_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line0)...
Zapis binarnych danych jako string - mistrzostwo! Ma być tak 0b000000000000000000000000 tylko chciałem jako string Dodano po 2 ... co do pamięci RAM na innym forum poradzili k1 Z tym że przypomnę wyraźniej słowa (at)michalko12 , lepsze (czy mniej złe) na zewnątrz, a mi sprawisz przyjemność jak dodasz static ;) *) O wyczerpywaniu statycznej pamięci...
Witam! Próbowałem napisać jakiś prosty program wykorzystujący zmienne dynamiczne, niestety program przestawał działać w momencie wywoływania funkcji malloc bądź sprintf. Podobne przypadki były już tu omawiane, jednak ten jest trochę inny: syscalls.c #include <sys/types.h> #include <errno.h> #include "uart.h" caddr_t _sbrk(int...
Dane przesyłane do tej kolejki są z funkcji TickHook, a wygląda to tak: [syntax=c]char *pcMessage = "Status: PASS"; xHigherPriorityTaskWoken = pdFALSE; xQueueSendFromISR( xLCDQueue, &pcMessage, &xHigherPriorityTaskWoken );[/syntax] Funkcja TickHook jest wykonywana z każdego przerwania systemowego, natomiast dane przesyłane kolejka są raz na określona...
Naprawdę kopiowane są wszystkie funkcje a nie tylko to, które są wykorzystywane? Może to kwestia włączenia optymalizacji? Trochę OT, ale wyjaśnię. W uproszczeniu, w standardowym kompilatorze (np. gcc :wink:), wytworzenie programu wykonywalnego składa sie z dwóch faz: 1. fazy kompilacji .c --> .o (albo np. .s ->> .o) 2. fazy łączenia .o (razy N) -->...
Podaję się, nie mam pojęcie czemu to nie działa: [syntax=c]#define F_CPU (1000000) #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define LED_DATA PORTD #define ANODY_PORT PORTC #define CA1 (1<<PC0) #define CA2 (1<<PC1) #define CA3 (1<<PC2) #define CA4 (1<<PC3) //const unsigned char cyfry[]...
W skrypcie linkera zmieniłem rozmiary stosów : __main_stack_size = 2048; __process_stack_size = 2048; Do projektu dołączyłem biblioteki gcc: #include <errno.h> #include <sys/types.h> oraz funkcję _sbark: caddr_t _sbrk (int size) { extern char __heap_start; extern char __heap_end; static char *current_heap_end = &__heap_start;...
Korzystam z GuiBuildera i emWin na STM32F429i DISC1. Chciałbym automatycznie odświeżać napis (zmienna array) na polu TEXT. Tekst odświeża się po kliknięciu przycisku ale już automatycznie nie wiem jak zrobić. Kod z obsługą zdarzeń od kliknięcia itd. [syntax=c]/*****************************... * * * SEGGER Microcontroller...
Cześć, próbuję właśnie napisać obsługę interfeju USB z użyciem FreeRTOSa (to moje pierwsze spotkanie z RTOSem na mikrokontrolerze). Stworzyłem sobie wątek czekający na semafor ustawiany w przerwaniu, wykonujący kod biblioteki USB. Kod wygląda tak: [syntax=c]#include "stm32f0xx_hal_pcd.h" #include "FreeRTOS.h" #include "task.h" #include "semphr.h" #include...
Słowo kluczowe extern nie oznacza ze coś będzie widoczne w innym pliku, tylko ze pamięć na to będzie zadeklarowana w innym pliku. W pliku .h powinieneś zdefiniować strukturę, natomiast w pliku .c powinieneś dołączyć plik .h i zadeklarować pamięć na nią plik.h ////////////////////////////////////////... #ifndef plik_h #define plik_h /* tutaj wstawiasz...
Witam, Mógł by ktoś sprawdzić czy mój kod jest prawidłowy? Ponieważ nie mogę odebrać danych z Esp przez protokół UART. * * uart.c * * Created on: 11 lut 2021 * Author: admin */ // uart.c #include "prj.h" volatile char uart_buf[MAX_UART_BUF_SIZE]; volatile char uart_rsp[MAX_UART_BUF_SIZE]; volatile int uart_buf_idx =0;...
Mam problem z kompilacją syscalls.c. Projekt dotyczy LM3S6965. syscalls.c wygląda jak poniżej: syscalls.c:27:5: warning: ISO C forbids nested functions syscalls.c:27:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'asm' cs-make: *** [gcc/syscalls.o] Error 1 Co może być powodem? Brak jakiegoś...
Okej, zatem spróbujmy przystosować bibliotekę, którą mi podlinkowałeś do moich ćwiczeń ;-) Skopiowałem pliki EVE.h, EVE_commands.c, EVE_commands.h, EVE_config.h, EVE_target.c, EVE_target.h do odpowiednich folderów w projekcie. Teraz tak: W pliku EVE_target.h trzeba wybrać i włączyć jedną z konfiguracji. Jeśli dobrze myślę to mnie interesuje ta konfiguracja,tak?...
1. Biorę przykład projektu ARM (akurat ten dla STM32, bo posiadane przezemnie LPC2103 ma za mało pamięci flash na te okrutne funkcje printf()) z mojej strony - http://www.elektroda.pl/rtvforum/topic13... 2. Wrzucam do main() następujący kod: #include <stdio.h> #include <math.h> #include <errno.h> #include <sys/types.h>...
Pewnie to coś banalnego przeoczyłem ,ale nie jestem przyzwyczajony do korzystania z bibliotek, zazwyczaj staram się pisać wszystko od początku. Masz rację - przeoczyłeś. Musisz sam określić w jaki sposób enkoder/dekoder będzie zgłaszał błędy kompresji pliku. W tym celu musisz zdefiniować sobie funkcje i struktury odpowiedzialne za reakcję na wystąpienie...
Mój program przedstawiam poniżej, widać że komunikacja i2c działa bo 2CSlaveBuffer I2CWriteLength = 2 zamiast I2CWriteLength = 3. Kiedy miałem 3 otrzymywałem same zera - nie rozumiem przecież zgodnie z tym co pisałeś wysyłam adres 0xD0, adres poczatku pamięci 0, i ponownie adres 0xD0 + 1 czyli 3 ośmiobitowe dane.
Próbowałem, nadać tej funkcji taką samą nazwę, lecz wtedy wyświetla mi błąd wielokrotnej definicji. Poszukałem też implementację funkcji _sbrk z newlib i wygląda ona tak: caddr_t _sbrk (int incr) { extern char end asm ("end");/* Defined by the linker. */ static char * heap_end; char * prev_heap_end; if (heap_end ==...
Udało mi się znaleźć kod wynikowy w C: [syntax=c]/* This is auto-generated code from LDmicro. Do not edit this file! Go back to the ladder diagram source for changes in the logic, and make any C additions either in ladder.h or in additional .c files linked against this one. */ /* You must provide ladder.h; there you must provide: * a typedef for SWORD...
Witam Posiadam wyświetlacz LCD 4x40 ABC040004A00 Piszę w Keilu w C. Mój problem polega na tym, że wyświetlacz nie działa tak jak powinien. W głównej pętli programu wykonuję sekwencję [syntax=c]sprintf(Linia,"----"); lcd_locate(0,2); text_down(Linia); sprintf(Linia,"texttext"); lcd_locate(0,3); text_down(Linia); sprintf(Linia,"----"); lcd_locate(0,0);...
(at)Tadzik ale o co Ci chodzi z tym static inline na końcu bo nie łapię? Taki twór służy "lepszej implementacji makra" w nagłówku. Nie pamiętam jak dokładnie standard mówi ale tak z głowy to z tego co pamiętam z dok. gcc: a. inline to sugestia, jakby co masz jeszcze attribute always_inline b. i tak musi być utworzona kopia tej funkcji, żebyś mógł pobrać...
Mam trochę problemów z tą platformą a szczególnie z jedną rzeczą która mnie mocno denerwuje - brak jakiegokolwiek wsparcia !!! Czekam na odpowiedź z Propoxu i wiem że niedługo się doczekam, ale dzisiaj poruszę to na forum. Mam nadzieję że ktoś rozwiązał problem , który mnie dręczy a mianowicie: - chciałbym sterować portami z częstotliwością rzędu 200...
michalko12: Zmieniłem xHandleTaskLED1, xHandleTaskLED2 na static, ale nic to nie pomogło. xLastFlashTime nie można: error "initializer element is not constant". W keilu żadnej tej zmiennej nie miałem jako static a program działał więc podejrzewam, że nie tu jest problem. Dodano po 4 Smashing: Jak wrzucam Twój program do Eclipsa to się nawet nie kompiluje...
Witam, Mam potencjalnie banalny problem z odczytem stringa z przerwania UART w pętli głównej programu. Kiedy przesyłam przez UART ciąg znaków są one odbierane, jednak przy próbie wyświetlenia ich na wyświetlaczu którego obsługa znajduje się w pętli głównej programu zamiast przesłanego stringu widzę losowe śmieci z pamięci (np. fragmenty danych poprzednio...
Przesadzasz - skoro zastąpienie funkcji _sbrk wyrażeniem return 0; nic nie zmienia, to znaczy, że błąd nie leży w niej. Więc nie mów, że skąpie informacji, bo podaje wszystkie ISTOTNE. Mogę wrzucić tutaj cały startup, cały skrypt linkera, całego makefile'a, cały kod, pełny log kompilacji, pliki map itd, tylko po co? Wiem, że jeśli nawrzucam tutaj kilka...
Playsound() wstawione wg tego poradnika również nie działa :/ http://msdn.microsoft.com/pl-pl/library/... Spróbuje nie tworzyć wątku "ręcznie" tylko użyje komponentu BackgroundWorker Dodano po 43 Najprawdopodobniej odtwarzanie przerywa sama metoda PlaySync. Chyba masz racje kolego. Jestem tego prawie pewny, ponieważ próbowałem na wszelkie...
[syntax=c]#include "common.h" #include "ymodem.h" #include "stm32f10x.h" extern pFunction Jump_To_Application; extern uint32_t JumpAddress; static void IAP_Init(void); void My_Delay(void); uint8_t tab_128[128]; int32_t lenght = 2, tmp, a = 0; uint16_t receive = 0; USART_InitTypeDef USART_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure;...
ENKODER.H To raz. Dwa - nie ma nigdzie sei(); Trzy - jak jest otwarty kolektor to trzeba zrobić pullup na linii wejścia. Napisałeś też push pull więc w sumie nie wiadomo jakie jest wyjście z enkodera. 1) Ile mam błędów? Dlaczego mi to nie zadziała? ( : 2) Czy wyjscia A i B mogę podłączyć zgodnie ze schematem? Czy muszę dodać oporniki? Co to znaczy...
Hej Freddie, tym razem to już mam poważny problem i proszę Cię o pomoc. Problem mam cały czas z przerwaniami. Nigdy mi w sumie tak naprawde nie zadziałaly na tym projekcie od stm. Przerobiłem Twoją tablice wektorów przerwań: /** \file vectors.c * \brief STM32 (STM32F101 - STM32F103) vector table and __Default_Handler() * \details STM32...
https://www.nxp.com/downloads/en/softwar... Rzeczywiście nie rozpisali się w tym doku odnośnie sterowania GPIO za pomocą tej biblioteki, ale to nie jest jakaś tajemnica. Wystarczy zajrzeć do kodu odpowiedzialnego za gpio. [syntax=c]/* gpio_13xx_1.h * (at)brief LPC13xx GPIO chip driver for LPC13(15/16/17/45/46/47) families *...
U mnie (Katowice) z DCF77 nie ma problemu, oczywiście zdarza się, że przez jakiś czas nie działa, ale przecież nie musi - wystarczy że złapie sygnał od czasu do czasu. Z tego co zauważyłem, to strasznie przeszkadza w odbiorze DCF77 komputer. Kiedy miałem zasilane układy przez USB to generalnie był problem, gdy je zasilałem osobno - z sieci lub z baterii...
Mam wrażenie, że do tego jest GOT - moje rozwiązanie: [syntax=c]__attribute__ ((used,section(".header"))) void start() { extern int __bss_start__, __bss_end__, __got_start__, __got_end__; int *ip, ads, gec; static /* const */ int icoa=(int)&icoa; /* icoa = "int containing own address" * &icoa is real address, icoa contains linker address * cannot...
Pisałem gdzieś jak się je włącza, na co Freddie napisał, że są funkcje w CMSIS, które z resztą na forum też już wklejałem. [syntax=c]/** * (at)brief Enable Interrupt in NVIC Interrupt Controller * * (at)param IRQn The positive number of the external interrupt to enable * * Enable a device specific interupt in the NVIC interrupt controller. * The interrupt...
(at)tarwirdur, nie badałem jeszcze problemu z nagrzewaniem się LN882H i nie wiem, czy mój jest gorący, czy nie, z doświadczenia wiem, że musisz włączyć PowerSave 1, aby zmniejszyć ogrzewanie. Mamy zaimplementowany PowerSave na różnych platformach, zobacz nasz poradnik: [youtube]https://www.youtube.com/watch?v... W skrócie jest to...
1. Jak wspomniałem komendy gdb wziąłem z innego projektu, a że nie znam dobrze gdb więc konfiguruję wszystko metodą prób i błędów. Zamieniłem zatem soft_reset na reset_halt i tez działa. Zostawię tak jak poleciłeś. 2. Kod startup'a nie jest mojego autorstwa, był razem z paczkami od Luminary (albo z dema FreeRTOSa). //**************************************...
Aaaa, hehe, driver do it9135 ma ograniczenie ilości otwartych pidów przy 12Mbit USB. Poszukaj w źródłach czegoś w stylu: props->adapter[0].fe[0 ... = 5; zmień na 31 i skompiluj od nowa. Mumu powinien zacząć działać. W kernelu 3.3 jest to w "drivers/media/dvb/dvb-usb/it913x.c". ================= update =================...
Witam, mam dwa pliki projektu w C: interrupt. i main.c (dla uproszczenia). interrupt.c: static volatile TFrame Frame ={0}; SIGNAL (SIG_INTERRUPT0) { (...) //m.in. zmienia sie struktura Frame } main.c: extern TFrame Frame; void main (void) { (...) sei(); while (1) { if (Frame.state...
Witam, walczę z tym i nic. Teraz mam błąd związany usbTxLen, gdy w main,.c jest 'extern uchar usbTxLen' wywala taki błąd D:\Projects\proteus\USB_avr2\usb_lpt... all avr-gcc -Wall -Os -DF_CPU=12000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wstrict-prototypes -nostartfiles -ffreestanding...
Jakiś fizyczny sposób załączenia przerwania timera przerwaniem od INT0 . Szukam i nie mogę znaleźć żadnych przykładów ani bardziej szczegółowego opisu jak to ugryźć , we wcześniejszych odpowiedziach nikt nie napisał dlaczego nie można używać delay w przerwaniu a w prostej wersji programu nie wpływało to na działanie. Teraz mam bardziej rozwinięta wersje...
Hmm, zarówno zmiana optymalizacji, jak i dodanie atrybutu nie pomogło. Próbowałem nawet wywalić deklarację z pliku h, i w każdym pliku c dodawać extern inline void funkcja( void ); , żeby poszukał funkcji na zewnątrz, co prawda kompilacja przebiegała bez błędu, jednak dalej funkcja nie była rozwijana. N.B. to kompletnie bez sensu. Kompilator...
Semafor tworzony jest w pliku w którym inicjalizuje urządzenie: [syntax=c]static void vWIEGAND_Init(uint8_t channel,uint8_t size){ vhWIEGAND_InitPins(channel); if(channel == CRIF_CHANNEL_ONE){ pEXTI9_5_func = vhCRIF1_WIEGAND_ISR; pCRIF1_Buffer = pvPortMalloc(size); CRIF1_BufferIndex = 0; CRIF1_BitAmmount = size; if (xCRIF1_Semaphore == NULL) vSemaphoreCreateBinary...
Witam, Wszystkie tablice w moim kodzie większe niż 10 elementów ma jako zmiemme globalne. W funkcjach nie tworzę tablic wiekszych niż parę elementów. Oto przykład takich tablic: #define MB_MAX_QUEUE_SIZE 1024 #define MB_MAX_FRAME_SIZE 256 #define MB_MIN_FRAME_SIZE 5 typedef struct _MbPbFrame { unsigned char MBRxQueue[MB_MAX_QUEUE_SIZE];...
(at)pkaczmarek2 , właśnie znalazłem coś dziwnego i mogłem wyjaśnić wiele problemów. wygląda na to, że skrypt nie bierze pod uwagę niektórych pustych systemów. Oto przykład, który zmodyfikowałem w poleceniu DeepSleep, aby uniknąć pętli rozruchowej. (podejrzewałem, że system wykona skrypt przed zakończeniem rozruchu) static commandResult_t CMD_DeepSleep(const...
Akurat funkcje te są zdefiniowane i wywoływane w jednym pliku... Możesz pozbyć się __inline lub lepiej poprzedić deklaracja static, np. -fgnu89-inline Kiedy usuniesz __inline uC będzie za każdym razem skakał do adresu gdzie znajduje się funkcja, zamiast wstawiać ciało za każdym razem kiedy funkcja jest wywoływana. Poczytaj https://gcc.gnu.org/onlinedocs/gcc/Inlin...
Pod poniższym linkiem jest biblioteka do obsługi SI4463 w wersji Arduino, jak i "czystej" AVR w C. https://github.com/zkemble/Si446x I jak jej użyć? Nie ma żadnej sensownej instrukcji do niej, a w przykładach jest tona kodu i nie wiadomo co robi. Inne biblioteki dla Arduino pozwalają wysyłać dane pisząc kilka linijek kodu. A co za problem dołączasz...
Witam Napisałem sobie procedure dla ATmega2560, która w zalożeniu ma zwracać liczbę wolnej pamięci jaką może zająć stos. Niestety nie działa do końca tak jak bym sobie tego życzył... Nie rozumiem dlaczego wartosć __stack nie ulega zwiększeniu (a w zasadzie zmniejszeniu zgodnie z kierunkiem rozrastania sie stosu) wraz z alokowaniem porcji danych. Algorytm...
Witam, Mam pewien problem z dynamiczną alokacją pamięci. W momencie gdy wykonuję dynamiczną alokację pamięci poprzez "new", program ląduje w FaultISR(); Środowisko: procesor: lm3s6965 gcc: bleeding-edge-toolchain (linux) syscalls.c od Freddie Chopin Organizacja pamięci jaką staram się ustawić: http://obrazki.elektroda.pl/7477258900_1...
Tak jak przypuszczałem - już następny problem ze wskaźnikami: Jak przekazywać wskaźnik ? To skrócony do minimum kod: [syntax=c] flagi.h //*********************************** static struct wire{unsigned char fc; unsigned char serial[6]; // nr serial unsigned char crc; char text[9]; // opis urz. unsigned char sub_zero; //...
Wracając do przerwań, zgodnie z obietnicą wrzucam przykładowe definicje interfejsu klas opartych na przerwaniach. Pierwsza obsługuje timer i umożliwia wywoływanie z opóźnieniem lub cyklicznie podanej funkcji, lub wywoływanie jakiejś akcji: 1 #ifndef _TMFTIMER_H 2 #define _TMFTIMER_H 3 4 #include <stdint.h> 5 6 #ifdef __AVR__ 7 #include <avr/io.h>...
progmem extern static eemem static proszek
nissan qashqai obroty silnika muzyk pendrive samsung mruga dioda zasilania
internet mobilny internet mobilny
Jaki zasilacz do Lenovo M83 z GTX 750 i Pentium G3220? Przewidywanie wyniku meczu Polska-Szwajcaria 2025 w piłce ręcznej