jak widac tak :https://courses.cs.washington.edu/cours... http://forum.allaboutcircuits.com/blog/m... https://msuraj.wordpress.com/2011/09/12/... ta dyrektywa mówi kompilatorowi co to za przerwanie. kolega google daje mnóstwo odpowiedzi "od ręki"
WYjasnienie jest bardzo proste. druga pętla for pracująca na zmiennej 'y' nie powoduje wykonanie zadnej instrukcji w ciele fora, a jedynie modyfikuje ten 'y'. Kompilator optymalizując kod na siłe wywali tego drugiego fora, bo de facto nie robi on nic. Ale jednak jesli uzyje sie przed forem zmiennej 'y', kompilator domysla sie ze ta zmienna do czegoś...
Dla tego dziwnego środowiska wszystko co globalne najlepiej deklarować w osobnym pliku lub klasie. Można także w głównym programie chyba po dyrektywie - [syntax=cpp]#pragma endregion[/syntax] Jako, że jest to tablica dynamiczna to użycie - [syntax=cpp]gcnew[/syntax] najlepiej wykonać gdzieś na początku np tutaj - [syntax=cpp]private: System::Void Form1_Load(System::Object^...
...Czekam na pomoc... Jeden obraz , potrafi zastąpić tysiąc słów :D #include <ioavr.h> #include <inavr.h> volatile unsigned char x=0; #pragma vector=INT0_vect __interrupt void INT0_ISR(void) { x++; } /* ... */ Poczytaj w pliku pomocy o dyrektywach #pragma - one wiele potrafią ;) Piotrek
Witam Przekazywanie parametrów przez rejestry można wyłączyć dyrektywą #pragma NOREGPARMS Osobiście nie stosowałem tego ale wygląda na to, że stosując model pamięci LARGE kompilator do przekazywania parametrów zechce wykorzystać zewnętrzną pamięć danych
Sytuacja byłaby jeszcze jaśniejsza, gdybyś podał konkretne komunikaty błędów oraz komentarz - czy pojawiają się przy kompilacji (i którego pliku), czy w czasie konsolidacji. No i napisz jakim kompilatorem się posługujesz. Ja zacząłbym od usunięcia dyrektyw #pragma once - nie są do niczego potrzebne.
Czy ktos uzywal wstawek asemblerowych w keilu? Uzylem dyrektyw #pragma ASM i #pragma ENDASM. Kompiluje sie le pokazuje warninga. Ktos wie jak go zlikwidowac? #include <sfr51.h> void main (void) { #pragma asm CLR P3.0 #pragma endasm P3_3=0; } warning: assembling .\testasm.src... linking... *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_STARTUP...
ODgrzewam temat. Stos ruszyl. Problemem bylo pakowanie struktur przez kompilator ARM-GCC/ rozwiązanie dyrektywa #pragma pack(1) :] Ale jest problem. Windows "nie łyka" tej irdy. Urządzenie jest wykrywane, jest ikonka ze w zasiegu, ale... nie dziala. Znaczy się działa usługa IrOBEX, i to bardzo dobrze ale ni cholery nie odpala IrCOMM. Węszenie po pakietach...
błąd wywala w cpp: Czy na początku tego pliku CPP masz dyrektywę #include , która włącza odpowiedni plik H z deklaracją funkcji 'flash()'? Natomiast na samym początku pliku H umieść dyrektywę: [syntax=c] #pragma once [/syntax] co uniemożliwi wielokrotne włączanie pliku H w trakcie kompilacji.
Musisz nieco zmodyfikować plik nagłówkowy. Najwidoczniej dyrektywa #pragma once nie działa w Twoim builderze (została dodana w późniejszych wersjach). #ifndef nazwa_pliku_h #define nazwa_pliku_h // cała treść pliku h #endif
Mam prosbe do Ciebie abys napisal mi jak wyglada deklaracja struktury z atrybutem packed. W ktorym miejscu deklaracji dodaje sie ten atrybut. Deklaracja struktury powiina byc przy uzyciu slowa typedef. Jeżeli używasz GCC (w wersji >= 3.x), to może wyglądać to np. tak: typedef struct nazwa { int pole1; int pole2; // .... } NazwaTypu __attribute__((packed));...
Slowko kluczowe extern przed deklaracja obiektu najczesciej stosowane jest w plikach naglowkowych programu. Powoduje ono, ze w tym konkretnym miejscu nie jest przydzielana pamiec dla obiektu, a wiec nie mozna w jednej linijce zdefiniowac tej zmiennej [przypisac wartosci poczatkowej] //naglowek extern char zmienna; //plik zrodlowy zmienna =12; Poprostu...
(...) wiedzi z urządzenia. Szukaj początku ramki. Użyj tego polecenia do odczytania 18 bajtu od początku ramki. ``` char byte = (frame >> 18) & 0xFF; ``` aczkolwiek uważam, że lepszym podejściem jest zdefiniowanie typu struktury (koniecznie packed) i odczytanie tego bajtu jako jej atrybut. Rozumiem Twoje zastrzeżenia, więc spróbujmy podejść...
Witam !!!! Funkcja printf pisze do wyjścia standardowego. Zwykle to co pisze przechwytywane jest po jednym znaku przez funkcje putchar. Musisz ją znaleźć w bibliotece albo napisać własną. int putchar(char c) { // tu wpisz "c" do bufora rs'a return c; } Zwykle kompilator kiedy napotka taką funkcję, nie zlinkuje tej z biblioteki tylko Twoją. Czasem jeszcze...
Wszystkie sprawdzone w wątku metody manipulacji polami bitowymi za pomocą struktur i unii, okazały się równoważne do "tradycyjnych" metod manipulacji za pomocą operacji boolowskich i maskowania bitów. Okazało się wręcz, że działa to szybciej i zdecydowanie poprawia czytelność kodu. Wyżej w temacie został przedstawiony fakt, że Keil wymaga nadawania...
Witam, Mam maly problemik mianowicie mam pewien blok bazujacy na opozniniach na petlach (dla 1-wire) ktory dziala ok (poziom optymalizacji 0) Oraz peien zestaw blokow ktore tez dzialaja ale dla calego projektu ustawilem poziom optymalizacji 2 bo mialem pewne problemy czasowe. Teraz problem mam taki ze dodalem ten blok z one wire do pozostalej czesci...
Witam rozpoczynam przygodę z PIC32. Napotkałem na problem z inicjalizacją systemu (zegar, pll, wdt, etc.). Może ktoś mi wyjaśnić jaka jest idea sekcji PRAGMA? Dlaczego tak? Czy trzeba osobno konfigurować drzewo zegarowe dla poszczególnych peryferiów, np. GPIO? Jakie rejestry są przez to konfigurowane i na jakim etapie pracy CPU - fuse bity, specjalny...
Ja to robię tak: Po stronie uC (w tym wypadku to jakiś ARM): #pragma pack(1) struct registers{ uint8_t zmienna_1; uint16_t zmienna_2; } reg_table; #pragma pack(4) //ARM ma wyrównanie do 4 bajtów #define REG_TABLE_SIZE sizeof(struct registers)//size of registers Po stronie PC: #pragma push() //zapamietujemy istniejące...
AVE... Ja wybrałem PICi, bo chciałem zbudować MIDIBox 64E, a ten projekt oryginalnie był na PICu. Ale projektu w końcu nie zrealizowałem, lecz zająłem się nauką programowania... W latach osiemdziesiątych w Polsce były dostępne systemy mikroprocesorowe, ale ceny były zaporowe dla większości, a i produkcja była ograniczona. Dlatego wielu kupowało komputery...
Osobiście używam avrasm2.exe z minimalnym otoczeniem pod wine. Powód jest prozaiczny - avra jeszcze nie radzi sobie dobrze z preprocesorem C (wyrażenia #pragma itp. użyte w plikach nagłówkowych Atmela), a używam go na potęgę, bo wtedy nie mam problemu z przenoszeniem kodu. Atmel odszedł od dyrektywy ".device" na rzecz odpowiednich deklaracji w pliku...
https://obrazki.elektroda.pl/3029878300_... Witajcie moi drodzy Oto trzecia część mojego praktycznego tutoriala dla ośmiobitowego mikrokontrolera PIC18F2550 od Microchipa i programatora SDCC . W tym temacie najpierw krótko omówię różne konfiguracje oscylatora PIC18F2550 - oscylator wewnętrzny (internal oscillator), zewnętrzny (zegarowy...
Pytanie jest proste: dlaczego to razem nie działa :) Strona projektu: www.sqlapi.com Biblioteka jest przygotowana również pod Borlanda Buildera ale nie moge tego uruchomić. Tzn udało mi się ruszyć program ale nie mam połączenia z bazą. Załączam plik nagłówkowy tak jak nakazuje manual: #include "SQLAPI.h" W myśl przepisu: #include <SQLAPI.h>...
Jako całość OK, a szczegóły: 0. komunikat kompilacji: "startup.c:51:6: warning: optimization may eliminate reads and/or writes to register variables" budzi moją czujność/nieufność 1. Nie widzę powodu wchodzenia najpierw w tryb system, a potem w user 2. Ja zostawiam MCU w trybie system po startupie - nie widzę żadnych zalet w trybie user jeśli nie mam...
Witam, Myślę próbuję, zmieniam i bez rezultatów. Problem wydaje się banalny, choć w moim odczuciu tak nie jest. Program napisalem tak, aby utworzył tablice w pamięci zewnętrznej za pomocą dyrektywy char xdata tablica[]; Nstępnie utworzyłem wskaźniki: wskaznik=&tablica[0]; i=0; while (i<16){ i=i+1; R0=*wskaznik++;...
witam To moje pierwsze zetknięcia z AVR`ami stąd pytanie dla wielu może wydać się banalne lecz raczej nikt mi nie zarzuci, że nie szukalem ani nie czytalem. Przeszukałem całe forum ale o o środowiesku IAR jest bardzo mało postów. Wszystko to co wyczytałem pochodzi z user manulala Iar`a. Problem polega na tym, że po włączeniu licznika/ timera 1 oraz...
https://obrazki.elektroda.pl/9306295500_... Przeciwnik : PIC24HJ128GP502 obudowa 28 nóżkowa DIP wąska . Czemu ten model ?? ano ma na pokładzie dosyć bogate peryferia m.in CAN , DMA , zegar RTC i to mnie zachęciło Dokładna specyfikacja : microchip.com/wwwproducts/en/PIC24HJ128G... Wybrane uzbrojenie przeciwnika : - architektura 16...
https://obrazki.elektroda.pl/5009750700_... Witajcie moi drodzy Oto druga część mojego praktycznego tutoriala dla ośmiobitowego mikrokontrolera PIC18F2550 od Microchipa i programatora SDCC . W tym temacie omówię podstawowe operacje cyfrowego IO na prostych przykładach. Spis części (osobnych tematów) tutoriala Tutorial podzielony jest...
https://obrazki.elektroda.pl/9057253000_... Programowanie procesora to dobrze znany proces. Nawet programowanie procesorów graficznych stało się łatwiejsze dzięki frameworkom, takim jak CUDA czy OpenCL firmy Nvidia. Jednak programowanie macierzy bramek programowalnych - układów FPGA - zawsze było uważane za zadanie dla projektantów...
Każda aplikacja osadzona na ogół zawiera w sobie zestaw funkcji. I nawet najprostsza, na przykład do regulowania temperatury, obejmuje szereg zadań, takich jak odczytywanie danych wejściowych od użytkownika lub z czujnika temperatury/wejścia ADC, wyświetlanie zasobów na wyświetlaczu LCD i sterowanie wyjściem zarządzającym pracą wentylatora/grzałki itp....
oops zapomnialem o ustawieniu #pragma char+ :) Ja mam w kompilatorze ZAWSZE ww. dyrektywe bo nie potrzebuje ujemnych liczb w charze :) I prawdopodobie kod bedzie chodził do 255 znaków bo wiekszosc "komercyjnych" kompilatorów ma domyslnie ustawiona opcje "char is unsigned" Z tego co widać kolega gbr3 uzywa wlasnie takiego "komercyjniaka" bo na avr-gcc...
Działa!!! #1 gdybyście widzieli tego banana na mojej twarzy! #2 ten debugger nie jest jednak lipny #3 dlaczego nie działało? - przez lenistwo... wszystko przez to, że nie inicjowałem uartu ręcznie tylko przez dyrektywe preprocesora "#pragma DEFJ(TIM1_INIT=0xFD) //COM0 - 9600, mnoznik x2 = 19200" służy ona do zainicjowania uarta - czyli ustawienia wartości...
pragma language maszyna dyrektywa dyrektywa maszynowa
indesit czujnik parownika kaseta czyszcząca głowice zapchany ekspres
aceton mycia ekspres bosch ctl636
Lokalizacja uszkodzeń instalacji pojazdu za pomocą próbnika świetlnego Komunikat AL failed na sterowniku MTDC do solarów: przyczyny i rozwiązania