progmem tablica

Znaleziono około 322 wyników dla: progmem tablica
  • [C][Atmega8]presclaler,licznik T1, tablica stałych w PROGMEM

    Obliczenia są +/- poprawne, pod warunkiem, że procesor rzeczywiście jest taktowany 12,8MHz. Domyślnie atmega8 działa na wewnętrznym rezonatorze 8MHz który jest dodatkowo dzielony przez 8. Żeby to zmienić musisz przeprogramować fuse bity. Najlepiej to zacznik od uzyskania częstotliwości 1Hz na jakimś pinie - miganie LED przy czasach rzędu 3,1ms dość...

    Mikrokontrolery AVR   27 Kwi 2009 18:41 Odpowiedzi: 3    Wyświetleń: 2948
  • Jak poprawnie używać PROGMEM z tablicą stringów w ATmega8?

    A nie jest czasem tak, że tablice stringów muszą być inaczej deklarowane, żeby siedziały w PROGMEMie? Nie jest tak. Zwróć uwagę na różnicę między definicją tablicy wskaźników do stringów a definicją tablicy stringów. Tobie się właśnie to pomyliło. char *tab to nie to samo co char tab Tablica wskaźników do stringów musiałaby być inicjalizowana jak w...

    Mikrokontrolery AVR   16 Lut 2012 18:12 Odpowiedzi: 6    Wyświetleń: 1690
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • C - Przekazywanie wskaźnika na tablice PROGMEM do funkcji

    W nawiązaniu do porad kolegi tmf proponowałbym coś w tym stylu (być może strach przed kwalifikatorem __flash wynika z braku przykładów kodu :?: : [syntax=c] // przykład jak używać kwalifikatora __flash do umieszczania // danych w pamięci programu i jak się do nich odwoływać // kod gotowy do odpalenia w symulatorze Atmel Studio 6 // można zaobserwować...

    Mikrokontrolery AVR   07 Lip 2015 18:51 Odpowiedzi: 15    Wyświetleń: 2172
  • [avr-gcc][PROGMEM] - Wskaźnik do tablicy wskaźników na teksty

    A w jaki sposób zmienić lang_polish? Nazwa tablicy jest stałym wskaźnikiem do pierwszego jej elementu (o ile pamiętam z książek i studiów). Nie da się w programie zrobić tak, żeby tablica zawierała elementy znajdujące się pod innym adresem. Żeby uprościć: Sama nazwa tak, ale tu chodzi o to, co trzymasz w tej tablicy, a tam w niej musisz trzymać coś...

    Mikrokontrolery AVR   26 Wrz 2013 20:17 Odpowiedzi: 8    Wyświetleń: 3978
  • [AVR][GCC] wskaźnik w strukturze - przekazanie parametru

    // tablica "napis" znajduje się w PROGMEM - w kodzie jest pgm_read_byte: OK char napis[] PROGMEM = {"test"}; // zmienna "text"również jest w PROGMEM: wywołanie fun(text.wsk) odwołuje się do złej pamięci t_text text PROGMEM = {napis}; zamień: fun( text.wsk ); na coś pokroju:...

    Mikrokontrolery   13 Kwi 2010 19:53 Odpowiedzi: 8    Wyświetleń: 3889
  • REKLAMA
  • AVR-GCC tablica wskaźników na funkcje i ich wywoływanie

    Może coś takiego będzie działać, sprawdziłem tylko, że się kompiluje: // definicja tablicy wskaźników do funkcji void (*f_Function_table[])... PROGMEM = { f_1, ... f_5 } //----------- // wywołanie void (*f)(); // pośredni wskaźnik na funkcję f = (void*)(pgm_read_word(&&...

    Mikrokontrolery   15 Wrz 2007 15:18 Odpowiedzi: 5    Wyświetleń: 4196
  • REKLAMA
  • Wyświetlanie polskich znaków na LCD za pomocą TFT_eSPI, problemy z literą 'ą'

    Autorze, dałem Ci gotowe rozwiązanie, ale nie czytałeś mojego postu uważnie. Nie czytałeś też dokumentacji ( MojaPolskieZnaki18_Bitmaps . Aby wyświetlić tekst funkcją MojaPolskieZnaki18_Glyphs 90(*) wiersz, gdyż tam znajdują się informacje o tym, gdzie w pliku MojaPolskieZnaki18_Bitmaps znajduje się obraz literki "Z". * - 90 wiersz, a właściwie, to...

    Arduino   28 Wrz 2021 19:14 Odpowiedzi: 29    Wyświetleń: 2691
  • [AVR][AVR-GCC] Tablica pod wskazanym adr. w pamięci programu

    PROGMEM tu nic nie da, bo dla linkera ten atrybut już nie istnieje, dla niego jest adres z odpowiednim prefixem określającym lokalizację. Po określeniu sekcji należy jej adres początkowy przekazać poprzez parametr -Wl,--section-start=, lub po prostu zdefiniować nową sekcję w AVR Studio. Napisz co się pluje, że adres wykracza poza SRAM i jak dokładnie...

    Mikrokontrolery AVR   03 Mar 2011 16:14 Odpowiedzi: 18    Wyświetleń: 3985
  • GCC AVR - Tablica wskaźników pusta po przekazaniu do funkcji

    Bzdura, czy przekażesz do funkcji tabela, czy &tabela wyjdzie na to samo - poczytaj o tym jak są przekazywane tabele jako argumenty funkcji w C. A problem leży w tym o czym już pisałem - globalny wskaźnik nie może wskazywać na dane lokalne, które nie są zaalokowane dynamicznie lub ich czas życia nie jest nieskończony jak w przypadku static. Zastanów...

    Mikrokontrolery AVR   09 Sie 2010 21:59 Odpowiedzi: 34    Wyświetleń: 4307
  • Wyświetlanie napisów. Dlaczego wypisuje krzaczki?

    ...I już się ucieszyłem, lecz stworzył się kolejny problem!! Ponieważ napisów jest ok 40-50, to po powyższej zmianie zajęty obszar pamięci data(RAM) nie wynosi już 31,3%, lecz 93,4%. I CO Z TYM DALEJ ROBIĆ:cry::?: Chyba się nie zrozumieliśmy :( Dane możesz umieścić w pamięci programu ... prog_char PM_UST_ZEG[] = "Ustaw zegar: ";...

    Mikrokontrolery   29 Lis 2006 22:07 Odpowiedzi: 16    Wyświetleń: 1953
  • AVR-GCC: Różne wyniki mnożenia w argumentach funkcji w różnych plikach

    Przeniosę to przerwanie i tablice do plików .c. Ale wtedy w pliku głównym .c mam includować plik przerwania .c? Myślałem, że tam inkluduje się tylko pliki .h Nie musisz include'ować pliku .c, a nawet nie powinieneś. W Makefile dopisz go tylko do plików źródłowych (SRC = $(TARGET).c przerwanie.c inny_plik.c itd.) a linker odwali resztę roboty. Zostało...

    Mikrokontrolery   01 Lut 2009 19:47 Odpowiedzi: 55    Wyświetleń: 7151
  • REKLAMA
  • Stacja lutownicza na Atmega8

    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,...

    DIY Warsztat   02 Lut 2023 22:41 Odpowiedzi: 634    Wyświetleń: 285222
  • Czy można zmienić zawartość tablicy PROGMEM w trakcie działania programu?

    Czy da sie zmienic zawartosc tablicy zdefiniowanej w pamieci programu (np char TABLICA [] PROGMEM = " blablabla") podczas dzialania programu?? Wydaje mi sie, ze nie ale chcialbym sie upewnic.

    Początkujący Elektronicy   18 Lis 2009 00:01 Odpowiedzi: 3    Wyświetleń: 768
  • Jak użyć wskaźnika do tablicy PROGMEM w AVR-GCC?

    Witam, Mam funkcję, która odczytuje tablicę zadeklarowaną jako: const PROGMEM unsigned char ikonka[32] = {0xFF, 0x03, 0x05, 0x09, 0xF1, 0x11, 0x11, 0x91, 0x91, 0x11, 0x11, 0xF1, 0x09, 0x05, 0x03, 0xFF, 0xFF, 0xC0, 0xA0, 0x90, 0x8F, 0x88, 0x88, 0x89, 0x89, 0x88, 0x88, 0x8F, 0x90, 0xA0, 0xC0, 0xFF}; i zapisuje ją do wyświetlacza. void...

    Mikrokontrolery AVR   13 Sty 2013 17:23 Odpowiedzi: 11    Wyświetleń: 3765
  • [AVR-GCC] Jak wyświetlić menu z tablicy PROGMEM na GLCD KS108A?

    Tablica menus zawiera wskaźniki do łańcuchów, a nie łańcuchy znakowe, stąd też podając adres elementu tej tablicy podajesz adres wskaźnika, który funkcja próbuje wyświetlić jak łańcuch co jest oczywiście błędem. BTW, ostatnio ściągałeś przykłady do mojej książki - tam masz przykłady ilustrujące takie menu, z wykorzystaniem przestrzeni adresowych, zamiast...

    Mikrokontrolery   27 Kwi 2014 12:15 Odpowiedzi: 3    Wyświetleń: 1461
  • Jak odczytywać tablice PROGMEM powyżej 64kB na ATmega1284?

    Po prostu piszesz const uint16_t __memx Data[] = {...} i zapomoinasz o wszystkim. Dalej po prostu odwołujesz się do Data bez żadnych pośredników - wszystko załatwia kompilator.

    Mikrokontrolery   07 Mar 2017 18:28 Odpowiedzi: 19    Wyświetleń: 1176
  • Błąd w wyświetlaniu grafiki na KS0108 - funkcja i tablica picture

    Bardzo dobra uwaga kol. Sparrowhawk, tablica została wygenerowana przez pixel factory z atrybutem PROGMEM a dostęp do jej bajtów nie może odbywać się tak picture[k] tylko przez te funkcje pgm_read_byte. Nie napisałem tych funkcji więc wydaje mi się że tablica została umieszczona w ram i przepełniłem ram(dobrze kumam?). Zmieniłem def. tablicy na __flash...

    Mikrokontrolery AVR   22 Cze 2017 14:34 Odpowiedzi: 7    Wyświetleń: 1050
  • Jak nazwać tablicę z inkrementacją w C dla PROGMEM?

    Mam takie tablice: lcd_send(pgm_read_byte(&buziaa Mam problem z przekazywaniem nazwy tablicy, Bo najpierw jest odczytywane tablica buzia0, potem buzia1, itp. W jaki sposób zamienić teraz to: &buziaa aby w te miejsce pojawiła się najpierw buizia0, potem buzia1, i nastepnie buzia2 ?

    Mikrokontrolery AVR   23 Maj 2011 13:06 Odpowiedzi: 3    Wyświetleń: 840
  • ATmega16 - optymalna obsługa animacji diod led w C

    To nie ma znaczenia. Każda tablica skompiluje się do binarnej. Wszystko trafi do pliku hex. Czy napiszesz {255,0xFF,0b11111111} to wszystko będzie ta sama wartości. Nigdy nie umieszczałem w programie tyle danych, ale mniej więcej powinieneś zrobić to tak: uint8_t PROGMEM tablica[1000][15] = { {255,128,130,255,128,130,255,128,13...

    Mikrokontrolery AVR   19 Sty 2011 22:01 Odpowiedzi: 15    Wyświetleń: 1998
  • [Bascom][C]Atmega oraz radiowe moduły RFM01, RFM02, RFM12

    [syntax=c]char test[5];[/syntax] Bufor do którego odbiornik wpisuje odebranego stringa (przesyłana jest temeperatura bez przecinka) np 234 to tablica znaków mojego wyświetlacza [syntax=c]prog_char cyferki[15] PROGMEM = { 0x3F,//0 0x09,//1 0x6E,//2 0x6D,//3 0x59,//4 0x75,//5 0x77,//6 0x29,//7 0x7F,//8 0x7D,//9 0x00 //nic };[/syntax] Jak bezpośrednio...

    Mikrokontrolery   20 Cze 2021 23:15 Odpowiedzi: 707    Wyświetleń: 240953
  • [AVR][Atmel Studio] - Wskaźnik na tablicę wskaźników

    Witam, Panowie dziękuję za cenne uwagi. Mam jednak do nich pytanie: [syntax=c]// Definiuje nowy typ - tym razem dla mniejszej wygody typedef char Int8; // Napisy w pamięci programu static const Int8 PROGMEM Text_A[] = {" blebleble1 "}; static const Int8 PROGMEM Text_B[] = {" blebleble2 "}; static const Int8 PROGMEM Text_C[] = {" blebleble3 "}; static...

    Mikrokontrolery AVR   16 Cze 2016 11:21 Odpowiedzi: 7    Wyświetleń: 1395
  • Tablica char, błąd: incompatible types in assignment, kod.

    poprawiłem na: const char *bufor[8] i errory zniknęły ale warning dalej ten sam. Dodanie progmem nic nie daje. Procesor ATMega88.

    Mikrokontrolery   12 Sie 2008 15:07 Odpowiedzi: 14    Wyświetleń: 3272
  • [at90s2313] AVR Studio 4 - Błąd stosu przy tablicy char TABLICA[][6]

    Ten procesor ma tylko 128 bajtow RAM, a twoja tablica ma 6*24=144 bajty. Zainteresuj sie atrybutem PROGMEM i umieszczaniem stalych w pamieci FLASH.

    Mikrokontrolery AVR   27 Gru 2009 08:44 Odpowiedzi: 7    Wyświetleń: 1292
  • [ATmega2560][C] Wskaźniki w funkcji do pamięci programu

    Ok teraz chyba rozumiem, czyli np: [syntax=c]void fun( uint16_t * zm ); fun( &zmienna_flash );[/syntax] tak by wyglądała deklaracja funkcji w której argumentem jest wskaźnik a niżej jej wywołanie w programie. Gdyby chodziło o tablicę w pamięci flash to np: [syntax=c]uint16_t tablica[] PROGMEM = {512,3,1333}; void fun( uint16_t * tb );[/syntax] a potem...

    Mikrokontrolery AVR   18 Kwi 2012 17:13 Odpowiedzi: 10    Wyświetleń: 1452
  • WinAVR: Błąd przy deklaracji tablicy większej niż 32k w ROM

    Dlaczego nie można zadeklarować tablicy większej niż 32k Kompilator się burzy nie o wielkość dostępnej pamięci programu tylko wywala komunikat że tablica jest za duża. ../Task2.c:26: error: size of array 'testX' is too large [syntax=c]uint8_t testX [0x8000] PROGMEM = {}; [/syntax]

    Mikrokontrolery AVR   18 Lis 2011 13:15 Odpowiedzi: 12    Wyświetleń: 1973
  • Błąd kompilacji Arduino Nano: 'FreeSmallFont' jako tablica referencji

    (at)ex-or przyjrzyj się dokładnie tej sekcji kodu w pliku UTFTGLUE.h. Sądzę, że dyskusja jest czysto akademicka i jest to oczywiste ;) Ale nie w deklaracji, nieprawdaż? Tutaj użyte zostało to jako nazwa typu tzn. przynajmniej były takie intencje autora. Masz rację, że tego typu definicje typu się nie robi przez #define, a już na pewno nie w C++ ;)...

    Arduino   04 Wrz 2021 23:19 Odpowiedzi: 11    Wyświetleń: 750
  • Gra Sudoku AVR: Konflikt typów zmiennych w kodzie, kompilacja w Eclipse, biblioteka TFT 2,8

    Z dodatkowych rzeczy, które mógłbyś poprawić to: - stosowanie wielkich liter dla makr for . Mamy 21 wiek i stosujemy co najmniej "-std=c99", więc nie ma potrzeby deklarowania wszystkich zmiennych na początku funkcji enum i stosować zmienne i argumenty tego typu, np: enum class , który wprowadza zakres widoczności, ale musiałbyś wtedy zmienić język z...

    Mikrokontrolery AVR   22 Gru 2021 20:54 Odpowiedzi: 11    Wyświetleń: 888
  • Atmega32: Brak reakcji na przyciski w programie C - analiza kodu

    Dodam tylko że ta tablica nie pomieści tylu znaków: char PROGMEM tab2[] = {"Zmienna:"}; A dlaczego ta tablica nie pomieści tylu znaków? Z czego to wynika że nie pomieści?

    Mikrokontrolery AVR   28 Lut 2011 23:14 Odpowiedzi: 10    Wyświetleń: 1518
  • [AVRStudio] [AVRStudio][C] Deklaracja zmiennych globalnych w ATMega8 - błąd kompilacji

    Dzięki. Zrobiłem osobny plik wyswietlacz.h. Podlinkowałem w main.c i wyswietlacz.c Deklaracja wysw_bufor ../wyswietlacz.h:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PROGMEM' oto tablica: // tablica znaków wyświetlacza unsigned char tab_znakow[20] PROGMEM = { 0b11011101, 0b10000001, // 0 , 1 0b10111100,...

    Mikrokontrolery   13 Lis 2010 00:30 Odpowiedzi: 16    Wyświetleń: 1899
  • Język C dla Atmeli: ograniczenie ilości wpisów w tablicy const char

    Czyściłeś cały projekt? Już chciałem napisać, że to genialna i jakże prosta odpowiedź, ale niestety to też nie pomogło ;( Spróbowałem czegoś innego. Po następującej zmianie: [syntax=c]const char cmd1[] PROGMEM = "PRINT"; const char cmd2[] PROGMEM = "START"; const char cmd3[] PROGMEM = "STOP"; const char cmd4[] PROGMEM = "CLR"; const char cmd5[] PROGMEM...

    Mikrokontrolery AVR   21 Paź 2014 17:24 Odpowiedzi: 12    Wyświetleń: 1743
  • Odczyt danych powyżej 64kB z PROGMEM w C – jak obsłużyć uint_farptr_t?

    Czyli rozumiem,że PGM Space powyżej 64kB nie zadziała nigdy i lepiej sobie tym w ogóle głowy nie zawracać? Planowałem na samych wskaźnikach. Pobrać adres pierwszej tablicy, i potem "ręcznie" zwiększać go co 2048, by odczytać następną tablicę, ale to wymuszałoby znów użycie pgm_read_word(_far). Co z kolei, jak piszesz także nie jest tym, co potrzebuję....

    Mikrokontrolery AVR   16 Cze 2015 12:53 Odpowiedzi: 33    Wyświetleń: 2265
  • Błąd kompilacji w AVR Studio 4 przy projekcie LED Cube 4x4x4, Makefile 80

    Przecież to nie jest funkcja, tylko tablica w pamięci programu. Czyli zawsze jak uzywam dyrektywy Progmem to mam pisać {};

    Mikrokontrolery   05 Gru 2011 11:04 Odpowiedzi: 14    Wyświetleń: 4022
  • ATTiny2313, C – jak przechowywać dużą tablicę w pamięci flash zamiast SRAM?

    Robię sobie tablicę unsigned char tablica To zależy od kompilatora. Dla avr-gcc trzeba dodać do deklaracji PROGMEM i do odczytu używać makr pgm_read_byte/word itp. W przypadku IARa wystarczy _flash.

    Mikrokontrolery   27 Maj 2006 09:44 Odpowiedzi: 2    Wyświetleń: 1148
  • [AT90s2313] [AT90s2313][C++] Nieprawidłowy odczyt pgm_read_byte() w C++ dla LED 4-cyfrowego

    Wyniki do 1,2,3 i 5 dało się przewidzieć, ale test 4 dużo rozjaśnił: w hex'ie widać, że tablica znajduje się pod adresem 0x252 (ciąg "C0F9A4...") a kompilator wstawia adres 0x60 co może wskazywać, że tablica pomimo zastosowania prog_uint8_t ląduje w pamięci ram (inicjalizowana z pamięci flash) 6/ Spróbuj dodatkowo dodać atrybut PROGMEM 7/ Sprawdź, czy...

    Mikrokontrolery AVR   13 Wrz 2009 18:01 Odpowiedzi: 13    Wyświetleń: 2835
  • Sterowanie ogrzewaniem przyczepy kempingowej - kod Arduino

    Witam, Dostałem ostatnio ogrzewanie przyczepy kempingowej z uszkodzonym sterownikiem. Chciałbym je zastosować do mojego garażu. Muszę zrobić prosty sterownik do tego ogrzewania i znalazłem program, który trochę przerobiłem. #include <OneWire.h> #include <DS18B20.h> #include <LCD.h> #include <LiquidCrystal_I2C.h> #define ONEWIRE_PIN...

    Arduino   27 Paź 2019 04:40 Odpowiedzi: 5    Wyświetleń: 639
  • [WinAVR] Jak uzyskać dostęp do struktury w pamięci programu w WinAVR?

    Poczytałem trochę manuala do avr-libc dołączonego do najświeższego WinAVR i jak byk pisze tam, że aby zadeklarować i zainicjować tablicę łańcuchów w pamięci programu trzeba osobno zadeklarować samą tablicę jak i stringi ... Natomiast jeśli chodzi o struktury to powyższa reguła nie znajduje zastosowania! Ależ znajduje: tmf polega na stworzeniu typu...

    Mikrokontrolery AVR   15 Paź 2012 15:57 Odpowiedzi: 15    Wyświetleń: 2781
  • Umieszczanie łańcuchów znakowych we FLASH - step by step

    Dzięki! Działa :) Dodano po 17 Mam jeszcze dodatkowe pytania odnośnie makra PSTR i pochodnych z użyciem __flash. Definicja PSTR to: compound literal qualified by address-space qualifierpamiec_flash . Nie wiem o co chodzi kompilatorowi, przecież wyraźnie zaznaczyłem, że tablica ma się znaleźć we FLASH. 4. Z kolei makro #define PGM_STR1(X) ( (const __flash...

    Mikrokontrolery Początkujący   10 Mar 2018 10:51 Odpowiedzi: 2    Wyświetleń: 870
  • Jak odczytać dane z tablicy 2D w pamięci flash AVR-GCC?

    Teraz ja nie rozumiem do końca o co chodzi z 'zewnętrznością' ;). Jeśli chodzi Tobie o klauzulę extern, to została dodana po to, aby tablica widziana była we wszystkich plikach projektu. A co do odwoływania, podam przykład. Jeśli tablica zapisana jest w RAM-ie, to działaja poprawnie co nastepuje: void LCDPutchar(unsigned char ch) { unsigned...

    Mikrokontrolery   28 Sie 2005 21:49 Odpowiedzi: 4    Wyświetleń: 3791
  • [AVR] [AVR][C] Błąd przy pgm_read_word w funkcji zmiany języka programu

    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};...

    Mikrokontrolery AVR   16 Lis 2009 15:56 Odpowiedzi: 11    Wyświetleń: 2010
  • Jak prawidłowo umieścić dane w tablicy, a ją w pamięci programu?

    [syntax=c]int pocz = 10; PROGMEM const byte dane_code[] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16... }; byte dane_ram[20] ; void setup() { Serial.begin(9600); } void loop() { for (int i = pocz; i < pocz+10; i++) { dane_ram[i]=dane_code[i]; Serial.print(dane_ram[i]); } delay(2000); Serial.println(""); } [/syntax] Próbuję umieścić dane w tablicy...

    Arduino   14 Lut 2017 22:53 Odpowiedzi: 4    Wyświetleń: 612
  • Atmega328 - Jak poprawnie umieścić tablicę tekstową w pamięci programu?

    Witam. Chcę upakować tablicę tekstową ( około 3000 bajtów ) w pamięci programu. Tablica ma taki wygląd. Próbuje ją deklarować tak jak widać w poniższym oknie ale efekt jest mizerny. [syntax=c] const char *trans[][3] PROGMEM = { { "L1 tekst" , "0x00" , "L1-tekst opis" }, { "L2 tekst 2" , "0x80" , "L2-tekst opis" }, ..... { "L90 ostatni tekst" , "0x33"...

    Mikrokontrolery AVR   05 Wrz 2016 16:14 Odpowiedzi: 1    Wyświetleń: 1194
  • ATmega 16 - Jak przenieść 4KB struktury do zewnętrznego EEPROMu?

    Jak wgrać do EEpromu 4KB danych ? Miałem tablicę ok. 1.5 KB (czcionki). Tablica umeszczona była we FLASHu. Skopiowałem ją do EEPROM bez problemu. Teraz chcę skopiować "strukture" ok 4 KB( całe menu do wyświetlania). Do SRAM sie nie mieści. Czy mogę umiescic ją we FLASHu np: struct dane PROGMEM menu[]={ ......};? Pytanie: Jak sobie poradzić, aby przenieść...

    Mikrokontrolery AVR   20 Lut 2015 15:44 Odpowiedzi: 8    Wyświetleń: 1917
  • [avr-gcc] tablica 128 bitów - sposób utworzenia: struct?

    Można też ładnie zoptymalizować dostęp do poszczególnych bitów: static const PROGMEM bit_masks[8] = { 0x80, 0x40, 0x20 ... }; inline bool getBit(const uint8_t memory[], uint8_t bitnum) { const uint8_t cellIndex = bitnum / 8; const uint8_t maskIndex = bitnum % 8; return memory[cellIndex] & pgm_read_byte(&bit_masks[maskInd...

    Mikrokontrolery   05 Gru 2009 11:25 Odpowiedzi: 13    Wyświetleń: 3194
  • Ocena kodu AVR: dwa efekty LED na przerwaniu, sterowanie jednym przyciskiem, zmienne m i t

    Rozwiązałem problem ze zmienna, podaje cały kod jeszcze raz, jeśli ktoś ma chwile zerknąć na obsługę przerwania czy tak może zostać, oczywiście zostanie mi poprawić kod na czytelniejszy i kilka innych małych zmian. Dołączyłem jeszcze kilka ledow, wiec doszła mi jeszcze jedna tablica oraz zmienna "d" która służy do opóźnienia wczytywania danych z tablic,...

    Mikrokontrolery AVR   14 Gru 2011 18:39 Odpowiedzi: 12    Wyświetleń: 1477
  • [ATtiny2313][C/AVR STUDIO 5] Tablica stałych coś nie działa tak jak chcę

    Witam wszystkich serdecznie. Mam oto taki problem. Próbuję sterować świeceniem diody LED podłączonej do wyjścia PWM mikrokontrolera. Sterowanie odbywa się w ten sposób, iż podstawiam do rejestru OCRx używanego kanału PWM wartość i to powoduje, że dioda podpięta do tego kanału świeci z określoną intensywnością. Tak wszystko działało. Ale to mi nie wystarczało....

    Mikrokontrolery AVR   09 Cze 2011 15:30 Odpowiedzi: 4    Wyświetleń: 1704
  • [AVR][C][RTC-PCF8583] dni tygodnia, deklaracja tablicy znaków

    Zadeklaruj stałą tablicę w PROGMEM, a ze struktury odnoś się przez wskaźnik.

    Mikrokontrolery   03 Kwi 2013 22:42 Odpowiedzi: 7    Wyświetleń: 2826
  • [Atmega32][C]Odtwarzanie PCM przez PWM. Częstotliwości.

    A teraz pytanie o to kiedy używać PROGMEM "tutaj": const unsigned char data[] TUTAJ= { 0x2E,0x73,0x6E,0x64,0x00,0x00, Bo program ruszył bez tego? Chyba ma to znaczenie przy optymalizacji kodu? Mam nadzieje że używasz PROGMEM, to słówko wywołuje to że twoja tablica zostanie zapisana w pamięci programu czyli we flashu, a nie gdzieś w RAMie....

    Mikrokontrolery AVR   18 Sty 2011 14:24 Odpowiedzi: 37    Wyświetleń: 5945
  • AVR-GCC - błąd initializer element is not constant przy deklaracji zmiennej

    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...

    Mikrokontrolery AVR   27 Sty 2014 11:14 Odpowiedzi: 11    Wyświetleń: 1845
  • Jak skonfigurować WiFi w przełącznikach Zamel przez ESP8266?

    Na początku uszczupliłem kod do wejścia jedynie w tryb konfiguracyjny: funkcja_trybu_konfiguracyjnego() wykonuje się tylko raz, dlatego pętla do-while jest pusta w końcu zabrałem sie za przeniesienie bibliotek. Na początku spróbowałem po prostu w ten sposób: https://obrazki.elektroda.pl/5661741000_... Jak zamiast danej biblioteki...

    ESP8266 i ESP32   22 Gru 2019 13:27 Odpowiedzi: 18    Wyświetleń: 2223
  • m8 [c] ATMEL STUDIO - dziwne zachowanie odczyt z PROGMEM

    Przepisałem kod z książki tmf'a, ze strony 231 dotyczący wyświetlania multipleksowego. Z początku miałem kłopot ze skompilowaniem przykładu w ATMEL STUDIO bo kompilator sygnalizował błąd Error 1 variable 'DIGITS' must be const in order to be put into read-only section by means of '__attribute__((progmem))' Rozumiem to w ten sposób, że zmienne DIGITS...

    Mikrokontrolery AVR   26 Gru 2012 22:47 Odpowiedzi: 20    Wyświetleń: 3099
  • [ATmega32] Jak zaimplementować menu wielopoziomowe na ATmega32 w C przy użyciu Eclipse?

    [syntax=csharp] enum{ 0, menu1, menu2, menu3, menu4, menu11, menu21, menu31, menu41, ustaw1, ustaw2, ustaw3, ustaw4}; unsigned char menu_stage [13][4] PROGMEM = { // ok esc prev next {0,0,0,0}; {menu11,menu1,menu4,menu2}; //menu1 {menu21,menu2,menu1,menu3}; //menu2 {menu31,menu3,menu2,menu4}; //menu3 {menu41,menu4,menu3,menu1}; /menu4 {ustaw1,menu1,menu11,menu11};...

    Mikrokontrolery   11 Gru 2014 20:44 Odpowiedzi: 6    Wyświetleń: 1122
  • Pixel Factory - generator fontów graficznych LCD (do C)

    No to jest kolejna wersja : 1.0.0.5 teraz w przypadku konieczności generowania fontu binarnego tworzony jest nawet dodatkowy plik źródłowy w którym możemy sobie przetrzymywać nazwy plików na karcie pamięci SD. Dlaczego ? powód jest banalny no i znowu kolejne ułatwienie sobie pracy, bo przecież PetitFat nie może korzystać z LFN (długich nazw plików),...

    DIY Konstrukcje   07 Lis 2013 07:31 Odpowiedzi: 43    Wyświetleń: 22229
  • [M162][GCC] - Jak umieścić strukturę w pamięci programu FLASH?

    Witam. Piszę program z obsługą MENU i w tym celu stworzyłem strukturę: Dodano po 2 Wystarczy zamiast: [syntax=c]const menu_item menu[] = {...[/syntax] wpisać: [syntax=c]const menu_item menu[] PROGMEM = {...[/syntax]

    Mikrokontrolery AVR   01 Paź 2012 15:13 Odpowiedzi: 2    Wyświetleń: 1632
  • AVR -składniki struktury (klasy) rozdzielone na flash i sram

    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...

    Mikrokontrolery   25 Paź 2007 20:47 Odpowiedzi: 12    Wyświetleń: 3514
  • Używanie różnych bibliotek w zależności od potrzeby w tym samym kodzie ESP32

    Chciałbym się odnieść do linku https://www.elektroda.pl/rtvforum/topic3... w którym w skrócie udało się zrobić cos takiego, że w zależniści od bajtu nr 0 w pamięci EEPROM ESP wchodzi albo w tryb konfiguracyjny, gdzie tworzy sieć wifi do wprowadzenia parametrów dla docelowej sieci wifi. Po zapisie ESP32 sie resetuje i wchodzi w tryb normalnej...

    Arduino   21 Gru 2019 15:57 Odpowiedzi: 1    Wyświetleń: 495
  • ATMEGA [C] - Przechowywanie nazw portów i pinów w tablicy lub strukturze

    Coś może w takim stylu. Kod wyrwany z większej całości i trochę zagmatwany. Jest to fragment kodu do tablicowania wyjść w zespole wyświetlaczy 7-segmentowych LED. Fragment dotyczy wspólnych anod/katod ale jest również w podobnym stylu do obsługi poszczególnych segmentów podpiętych do różnych/dowolnych portów i pinów. Większość rozwiązań wykorzystuje...

    Mikrokontrolery AVR   14 Lip 2014 19:12 Odpowiedzi: 7    Wyświetleń: 2025
  • [C] Dziwna tablica znaków i jej działanie (skalowanie)

    Witam. Ostatnio analizuję kodzik z tej stronki: http://hobbyelektronik.org/Elo/AVR/3510i... Zastanawiająca jest tu tablica znaków. Mianowicie zapis nie wygląda tak jak standardowo, czyli dla każdego znaku jest np zapis ośmio-bajtowy, tak że nawet rzędy pikseli o wartości 0x00 są zapisywane do tablicy, przez co jest marnowane miejsce. Tu wygląda...

    Mikrokontrolery   01 Gru 2009 17:57 Odpowiedzi: 2    Wyświetleń: 2005
  • [ATmega16] Wyświetlenie znaku klawisza na wyświetlaczu LCD

    Witam kolegów. Po długim boju z poprawnym skomunikowaniem klawiatury komputerowej PS/2 z mikrokontroleram stanałem na rzeczy teoretycznie prostej, ale która troche mnie przerosła. Mianowicie chcę przekształcić kod odebranego klawisza na znak i wysłać tenże znak na wyświetlacz LCD. Na początku zdefiniowałem tablicę znaków, co próbowałem robić na dwa...

    Mikrokontrolery   01 Kwi 2010 22:15 Odpowiedzi: 4    Wyświetleń: 1593
  • Zliczanie impulsów enkodera 100 impulsów/obrót – AVR, wyświetlacz nie reaguje

    1. void ReadEncoder(); #define GLUE(a, b) a##b #define LEDPORT1(s)GLUE(PORT,s) #define LEDPORT LEDPORT1(LED) #define LEDDDR1(s)GLUE(DDR,s) #define LEDDDRLEDDDR1(LED) a) Co to jest? Coś jak podprogram? Ale dlaczego zakończony średnikiem? Pierwsza linia to deklaracja funkcji, dalsze linie...

    Mikrokontrolery AVR   27 Gru 2012 23:08 Odpowiedzi: 20    Wyświetleń: 4416
  • Matryca LED [atmega8][C] przesuwanie tekstu

    dzięki za odp, masz racje chodziło mi o zatrzask, a dektywacje wyjścia mogę w moim układzie łatwo przerobić bo moge sterować bezpośrednio wejsciem OE w 74hc595; Teraz odnośnie tablicy znaków, to znalazłem taką na pokrewnym temacie: Temat Wyświetlacz LED - Mega32 Użytkownik xamrex ////////////////////////////0 1 2 3 4 5 6 7 8 9 : ; < = > ? (at)...

    DIY Poczekalnia   30 Mar 2013 23:30 Odpowiedzi: 17    Wyświetleń: 14170
  • [Atmega8][C] - Obsługa wyświetlaczy 7 LED - pierwsze starcie, krytyka programu

    Trochę sobie zaoszczędzisz kodowania jak popatrzysz jak wygląda korekcja BCD przy dodawaniu binarnym. Te wszystkie ify nie są potrzebne - poczytaj o BCD. Po wykonaniu standardowej operacji nad liczbami w kodzie BCD należy sprawdzić i w razie potrzeby skorygować wynik. Dla dodawania i odejmowania korekcja będzie potrzebna wtedy, gdy dana grupa bitów...

    Mikrokontrolery Początkujący   23 Lip 2012 11:45 Odpowiedzi: 18    Wyświetleń: 2729
  • Obsługa wyświetlacza TFT 3,5'' (ILI9327_8) pod zwykłym C

    Sprawa rozwiązana. Moje oko nie dostrzegło, ale miernik na zwarcia tak- zwarcie pomiędzy dwiema nogami Xmegi SMD. Po przeskrobaniu układ ruszył i teraz mogę podzielić się wersją na Xmega. W stosunku do wersji na AVR AtMega, zmiany są takie: Procedura setup() jest następująca: [syntax=c] void setup(void) { OSC.CTRL=OSC_RC32MEN_bm; // włączenie oscylatora...

    Mikrokontrolery AVR   10 Sty 2016 14:25 Odpowiedzi: 15    Wyświetleń: 2211
  • AVR - błąd ../main.c:20:2: warning: '__progmem__' attribute ignored [-Wattribute

    Próbujesz utworzyć tablicę z atrybutem PROGMEM jako zmienną lokalną, jest to sprzeczność i dlatego dostajesz ostrzeżenie od kompilatora. Przenieś tablicę na zewnątrz funkcji main (żeby była globalna).

    Mikrokontrolery   12 Sie 2012 15:04 Odpowiedzi: 3    Wyświetleń: 2103
  • Avr wynik dzialania przetwornika AC na postac dziesietna

    pisze programik w C ( nie jestem programista) dla atmegi88 moj problem to wywolanie odpowiedniego elementu z tablicy ktory jest wyswietlany na ekranie telewizora w postaci cyfry dziesietnej - odpowiadajacej wartosci z przetwornika AC static unsigned char cyfry[10][11][5] PROGMEM = //static unsigned char cyfry[10][11][5]...

    Mikrokontrolery AVR   14 Sty 2009 08:36 Odpowiedzi: 11    Wyświetleń: 1284
  • V-USB (AVR USB) Tanie urządzenie USB w oparciu o AVR

    Na początku jest to z pewnością zagmatwane. Postaram się to wyjaśnić najprościej jak potrafię. Cała konfiguracja połączenia znajduje się w opisie Hid. Urządzenie informuje system jakie dane jest w stanie przyjąć. Poniższy przykład Hid Descriptor informuje komputer, że urządzenie służy tylko do wymiany danych z komputerem. PROGMEM char usbHidReportDescriptor[22]...

    Mikrokontrolery AVR   07 Gru 2014 12:39 Odpowiedzi: 181    Wyświetleń: 84653
  • [ATmega32][C] Kurs progamowania w C z EdW Lekcja 10

    Przystąpiłem do lekcji 10. Zrobiłem analogiczne poprawki, jak w lekcji 9, ale niestety również nie mogę skompilować kodu. Poświęciłem praktycznie cały dzień na szukaniu przyczyny. Pojawiają się takie błędy przy kompilacji: http://obrazki.elektroda.pl/4932303600_1... Tutaj zamieszczam kod programu po moich poprawkach: ////////////////////////////////////////...

    Mikrokontrolery AVR   18 Sty 2011 20:05 Odpowiedzi: 2    Wyświetleń: 2037
  • Matryca LED 32x8 - Jak wyświetlać fonty z pliku fonty.h?

    Dobrze. Plik 'fonty.h' wygląda następująco http://obrazki.elektroda.pl/9227716000_1... zrobiłem dla każdego wiersza tablicę... [syntax=cpp]uint8_t napis0[]={0x89,0xcf,0x3e,0x88}; uint8_t napis1[]={0xda,0x28,0xa0,0x90}; uint8_t napis2[]={0xaa,0x28,0xa0,0xa0}; uint8_t napis3[]={0x8b,0xef,0x38,0xc0}; uint8_t napis4[]={0x8a,0x2a,0x20,0xa0};...

    Programowanie   20 Maj 2015 18:02 Odpowiedzi: 7    Wyświetleń: 1164
  • Lampka RGB by molszewski

    Dzięki wszystkim za opinie. Oddałem dziś projekt został oceniony na 5;] Dokonałem kilku zmian w programie więc wrzucam nową wersję: http://obrazki.elektroda.pl/8149391200_1... Jeśli już eliminujesz drgania styków programowo i w dodatku z użyciem timera, to mogłeś się pokusić o tak samo zrealizowane opóźnienia. Mnóstwo pamięci pożera...

    DIY Konstrukcje   08 Maj 2013 16:15 Odpowiedzi: 24    Wyświetleń: 20742
  • [ATmega32] Błędy kompilacji w kursie C dla ATmega32 z avrlib 1.6 na ZL3AVR 16MHz

    Przystąpiłem do lekcji 10. Zrobiłem analogiczne poprawki, jak w lekcji 9, ale niestety również nie mogę skompilować kodu. Poświęciłem praktycznie cały dzień na szukaniu przyczyny. Pojawiają się takie błędy przy kompilacji: http://obrazki.elektroda.pl/4932303600_1... Tutaj zamieszczam kod programu po moich poprawkach: ////////////////////////////////////////...

    Mikrokontrolery AVR   05 Maj 2011 11:04 Odpowiedzi: 18    Wyświetleń: 5350
  • [C] Jak powiększyć czcionkę 5x8 na wyświetlaczu KS0108B w języku C?

    Witam, Mam następujący kod: [syntax=c]void GLCD_putchar(char c) { char *ptr=(char*)font5x8+(6*(c-32)); for(uint8_t i=0; i<5; i++) { uint8_t px=GLCD_ReadByteFromROMMemory(ptr++); if(color==0) px^=0xFF; GLCD_WriteData(px); } if(color==0) GLCD_WriteData(0xFF); else GLCD_WriteData(0x00); }[/syntax] [syntax=c]// font.h // // Tablica czcionek 5x7 // #include...

    Mikrokontrolery AVR   13 Kwi 2012 10:01 Odpowiedzi: 8    Wyświetleń: 1137
  • PCF8583 z ATmega8 - brak odmierzania czasu, ustawienia kwarcu i kondensatora

    Po podpięciu PCF mogę ustawiać / pobierać czas, niestety nie jest on w inny sposób zmieniany przez ten układ. w skrócie : PFC nie odmierza czasu. Kwarc 32k, kondensator 33piko. Zegar podłączony na płytce stykowej tak jak na schemacie, tylko pod ATmege8. Kod : w mainie w nieskonczonej petli jest pobierany czas i wrzucany na wyswietlacz. rtc.h [syntax=c]...

    Mikrokontrolery AVR   20 Lut 2013 12:00 Odpowiedzi: 2    Wyświetleń: 1383
  • [c] Jak uniknąć ostrzeżeń o niejawnej deklaracji funkcji w AVR Studio + GCC?

    Pisałeś w temacie: http://www.elektroda.pl/rtvforum/topic18... I zastosowałem się do tego w taki sposób: Plik: main.h extern unsigned char reset_MCUCSR ; // zapamiętanie flag powodu restartu systemu extern unsigned char DDT_stan ; // flagi stanu urządzenia #define DDT_ON_OFF 0 // bit 0 - włączone / wyłączone extern unsigned char SOUND_stan; //...

    Mikrokontrolery   14 Lis 2010 12:32 Odpowiedzi: 12    Wyświetleń: 3215
  • [C] Jak zmienić czcionkę z 5x7 na 6x8 lub 12x16 w kodzie C?

    Cześć, Do tej pory używałem czcionki 5x7. Kod do niej: [syntax=c]void GLCD_putchar(char c) { uint8_t orig_y=GLCD_y; char *ptr=(char*)font5x8+(5*(c-32)); uint8_t tmp_x=GLCD_x; uint8_t tmpcolor=color; for(uint8_t i=0; i<6; i++) { uint8_t tmp_y=orig_y; uint8_t tmp; if(i!=5) tmp=GLCD_ReadByteFromROMMemory(ptr++); else tmp=0; for(uint8_t y=0;y<8;y++)...

    Mikrokontrolery AVR   30 Mar 2012 08:38 Odpowiedzi: 3    Wyświetleń: 1317
  • Obsługa UART i klawiatury na PS2 - Atmega8 błędy

    Witam Zbudowałem sobie na jednej płytce stykowej Dodano po 4 Przeczytałem na stronie radzio.dxp.pl, że w zmiennej znak otrzymuję kod klawisza, a nie kod ascii i po to jest plik scancodes.h aby sobie zamienić kod klawisza na znak. Jednak dla przykładu: SPACE - hex:0x20 znak klawisza:29, a gdy klikam spacje na klawiaturze Telly mate wyświetla mi literę...

    Początkujący Naprawy   04 Wrz 2011 18:34 Odpowiedzi: 1    Wyświetleń: 1674
  • [GCC]Położenie funkc. w progr. odwoł.się do tabl.komunikatów

    Widać nie rozumiesz o co chodzi. Ani ja ani Dr.Vee nie mówimy o przeniesieniu komunikatów do ramu, tylko tablicy wskaźników na komunikaty. Najpierw musisz pobrać wskaźnik z tablicy (ponieważ napisów jest więcej), potem dopiero wykorzystując wskaźnik odczytujesz ciąg z pamięci programu. Jeśli nie chcesz przenosić tablicy wskaźników, to niestety musisz...

    Mikrokontrolery AVR   12 Maj 2009 22:35 Odpowiedzi: 11    Wyświetleń: 1914
  • [C][ATmega168][USART] jak wysłać tablicę w przerwaniu a nie stosując pooling?

    putc przyjmuje jeden znak puts przyjmuje łańcuch putsp przyjmuje łańcuch z progmem

    Mikrokontrolery AVR   19 Kwi 2012 22:28 Odpowiedzi: 8    Wyświetleń: 1716
  • Sterowanie pilotem klimatyzacji przez arduino nano.

    Te tablice int[] powinny być zdefiniowane jako PROGMEM w programie. Wtedy nie zajmowałyby pamięci SRAM, zajmowałyby miejsce tylko we Flash.

    Arduino   16 Sty 2020 00:44 Odpowiedzi: 12    Wyświetleń: 771
  • [c] Atmega32 - problem z wyświetlaniem tekstu z PROGMEM na LCD

    Dzięki za przykład działa dobrze, tylko nadal mnie zastanawia czemu to nie działa, tym bardziej że ten kod powyżej jest o wiele łatwiejszy. Chyba wartość kodu ocenia się w pierwszej kolejności na podstawie jego skuteczności, a nie tego, czy jest łatwiejszy. No bo co z tego, że jest łatwiejszy, jeśli nie działa? Przykład, który podałem nie jest mojego...

    Mikrokontrolery AVR   24 Paź 2011 22:51 Odpowiedzi: 4    Wyświetleń: 1687
  • AVR, const char[] PROGMEM - Jak zadefiniować tablice stałych char[] w PROGMEM?

    Marnowanie pamięci....

    Mikrokontrolery AVR   22 Lis 2013 11:52 Odpowiedzi: 6    Wyświetleń: 2943
  • Atmega328: Jak umieścić tablicę Int i String w pamięci Flash za pomocą PROGMEM?

    (at)dasej Jest jakiś techniczny argument za tym aby uprawiać tego typu archeologię?

    Mikrokontrolery AVR   06 Lut 2018 19:55 Odpowiedzi: 8    Wyświetleń: 882
  • [AVR][C]{AtmelStudio] Stała w pamięci programu pod konkretnym adresem

    Użyj sekcji .progmem.gcc - położona jest ona tuż za tablicą wektorów przerwań i standardowo nic w niej nie ma, a więc ma stały dla danego procesora adres początku.

    Mikrokontrolery AVR   18 Lip 2018 20:09 Odpowiedzi: 22    Wyświetleń: 1236
  • OLED 128x64 SSD1306 - błąd wyświetlania małych bitmap w Arduino

    Hmm, a jesteś pewien, że to co wygenerowałeś jako tablica jest poprawne? Bo może wyświetlasz dobrze, tylko że bzdury? ;) Patrząc na Twoją tablicę, to masz w niej 41 bajtów, czyli 41*8=328 bitów. Jeżeli Twój obrazek ma 30x11px, to potrzebujesz 330 bitów. Nie zgubiłeś czegoś? ;) I mam problem z małymi grafikami, o ile duże 96x48 px to nie problem, o tyle...

    Arduino   04 Lis 2018 10:56 Odpowiedzi: 21    Wyświetleń: 2676
  • Jak użyć rejestru przesuwanego w matrycy LED 5x8 z AVR?

    Na 164 raczej nie, bo to jest parallel in, serial out, a ty potrzebujesz na odwrót - serial in, parallel out, czyli 595. BTW, tablicę zdefinuj z progmem, dzięki czemu nie będzie zajmować SRAM (pamiętaj o użyciu stosownych funkcji do jej odczytu). Te wszystkie case są niepotrzebne - lepiej przesuwaj bity w PORTC - krótsze, szybsze.

    Mikrokontrolery AVR   10 Maj 2011 22:49 Odpowiedzi: 43    Wyświetleń: 5011
  • win AVR - błędne adresowanie tablic po dodaniu nowych danych

    Dobrze byłoby, żebyś pokazał przynajmniej newralgiczną część kodu (definicje tablic)! Jeżeli chcesz mieć tablicę we FLASH, to trzeba użyć nie (tylko) modyfikatora const , ale atrybutu PROGMEM lub równoważnego. Czy robisz to poprawnie? Czy kompilator nie pokazuje żadnych ostrzeżeń?

    Mikrokontrolery   30 Sie 2007 12:04 Odpowiedzi: 10    Wyświetleń: 1564
  • AtMega8 - program o rozmiarze bliskim 8kB przestaje działać

    czasem problemem okazuje się niestała stała - tablice stałych można przypuszczać, że będą tylko w pamięci flash - przeważnie okazuje się, że kompilator owszem zapisuje sobie tablicę w pamięci flash, ale z początku programu kopiuje sobie ją do ramu - w ten sposób można się odwoływać do komórek takiej tablicy jak do zwykłej pamięci ram (przestrzeń). Może...

    Mikrokontrolery   20 Lip 2007 22:22 Odpowiedzi: 13    Wyświetleń: 1695
  • Sterowanie triakami w ściemniaczu 230V na Atmedze328P - problem z PD5 i PD6

    Kondensator co wspominasz o nim to jes podłączony rozumiem do masy jednym biegunem a drugim do portu ? NIE NIE NIE ABSOLUTNI NIE! Kondensator wpięty jest szeregowo pomiędzy portem a diodą nadawczą optotriaka. Dlatego na porcie musi być wystawiany sygnał prostokątny a nie stan wysoki lub niski. Ale dzięki temu zyskujesz 100% pewności na wypadek awarii...

    Mikrokontrolery AVR   17 Maj 2012 12:40 Odpowiedzi: 6    Wyświetleń: 3175
  • winavr itp. - Poszukiwany program do konwersji plików binarnych na tablicę char

    Potrzebne mi to od zabawy AVR+ENC28j60. Chciałbym umieszczać niestringopodobne treści strony www bezpośrednio w kodzie c. Mając jej jako tablice w progmem łatwo mi korzystać z posiadanych funkcji. No właśnie o tym piszę. To jak traktujesz dane to kwestia zapisu w programie. Konwertowanie danych binarnych na kod c, po to, żeby potem je przekonwertować...

    Mikrokontrolery   01 Kwi 2013 09:43 Odpowiedzi: 9    Wyświetleń: 1443
  • [AT8] Jak sprawdzić długość tablicy w pamięci flash Atmega? `sizeof` nie działa

    Trochę dziwna ta deklaracja: Ja __attribute__((progmem)) używam raczej po nazwie zmiennej: sizeof tablicy dosyć rozbudowanych struktur (menu) umieszczonej w pamięci FLASH działa prawidłowo. Czyli konkretnie jakie wartości zwracają?

    Mikrokontrolery AVR   06 Cze 2011 21:03 Odpowiedzi: 5    Wyświetleń: 1522
  • [ATMEGA32][C]Jak zrobić proste menu na LCD ? koncepcja

    Szybki wstęp to takiego menu: Oznaczamy na potrzeby programu każdą pozycję w menu: enum{ 0, menu1, menu2, menu3, menu11, menu12, ...}; tworzymy tablicę przejść menu unsigned char menu_stage [32][4] PROGMEM = { // next prev up down {0,0,0,0}; {}; {}; {}; {}; } nieistotne...

    Mikrokontrolery AVR   26 Paź 2010 22:43 Odpowiedzi: 25    Wyświetleń: 10747
  • Implementacja wielomianu z Matlab do Atmega w C - jak przeliczyć y z x?

    Tablica w pamięci kodu (z tym, że przykład jest dla char): http://mirekk36.blogspot.com/2013/11/tab... Mając taką tablicę wyszukujesz pomiędzy którymi punktami tablicy leży wartość i liczysz https://pl.m.wikipedia.org/wiki/Interpol...

    Programowanie   18 Sie 2019 11:58 Odpowiedzi: 5    Wyświetleń: 510
  • Attiny2313A - problem z odczytem danych z tablicy w pamięci przy użyciu zmiennej

    Wersja konserwatywna - z PROGMEM - też może być. Tylko nie zapomnij dorzucić nagłówka pgmspace.h i makr pgm_read_... przy odczycie zawartości tablicy ;)

    Mikrokontrolery AVR   18 Mar 2015 11:09 Odpowiedzi: 11    Wyświetleń: 1146
  • Programowanie C Wskaźnik na Tablicę wskaźników w pamięci programu

    Witam Chcę aby tablice Z1...Z5 były zapisane w pamięci programu, różnią się rozmiarem pomiędzy sobą: const char Z1[] __attribute__((__progmem__)) = {...}; ... const char Z5[] __attribute__((__progmem__)) = {...}; Tutaj mam tablice wskaźników również zapisaną w pamięci programu const char* TABLICA_WSKAZNIKOW[] __attribute__((__progmem__)) = { Z1, Z2,...

    Mikrokontrolery   11 Lis 2011 13:14 Odpowiedzi: 15    Wyświetleń: 2198
  • [C] [C][atmega88] Optymalizacja pamięci dla dużej tablicy cyfry w C

    Aby zoptymalizować program możesz rozważyć poniższe podpunkty: 1)Mozesz dać tablicę do flash-a.wystarczy dołączyć plik nagłówkowy <avr\pgmspace.h> sposób definicji zmiennej ładowanej do flash: np. static unsigned int LCD_SegTable[] PROGMEM = { 0xEAA8, // '*' 0x2A80, // '+' 0x4000, // ',' 0x0A00, // '-' 0x0A51, // '.' Degree sign 0x4008,...

    Mikrokontrolery AVR   21 Paź 2008 23:40 Odpowiedzi: 7    Wyświetleń: 1824
  • Jak umieścić napisy w pamięci flash na ATmega8/128 w C/Assemblerze?

    (...) .db "Jakis napis",0x0a,0x0d, 13,12, 0 lpm acc, z (lub z+) A co to za potworki? Znak końca linii (i do tego windowsowy :/) też nie jest potrzebny, wystarczy samo zero, chyba że urządzenie komunikuje się z windowsowym terminalem tekstowym przez rs-232. I skąd się wziął akumulator w AVR? W C robisz tak (avr-gcc): #include <avr/pgmspace.h>...

    Mikrokontrolery   08 Wrz 2006 20:50 Odpowiedzi: 5    Wyświetleń: 4489
  • Jak powinna wyglądać składnia? Definicja stałych tablic w C.

    #define nie są nigdzie "tworzone" - to proste podstawienia na tekście programu, a nie obiekty programu. Stałe w AVR można umieścić w pamięci programu na dwa sposoby - pierwszy - to atrybut PROGMEM, ale potem nie tak łatwo się do nich dostać. Drugi, nowszy i lepszy koledzy AVRowcy zapewne podpowiedzą.

    Mikrokontrolery   18 Sty 2016 18:58 Odpowiedzi: 12    Wyświetleń: 1098
  • C AVR - Jak stworzyć wielojęzykowe menu w pamięci flash?

    Jednakże potrzebowałbym stworzyć takie menu w którym użytkownik wybiera sobie język i myślałem żeby rozwiązać to w taki sposób, aby każdy z tekstów był tablicą dwuwymiarową... A dlaczego to miałoby nie działać? Po prostu jako tekst związany z daną pozycją menu dajesz wskaźnik do tablicy, a w programie masz zmienną globalną określającą nr języka (indeksu...

    Mikrokontrolery AVR   24 Lut 2016 23:35 Odpowiedzi: 8    Wyświetleń: 1164
  • [C] Optymalizacja zapisu liczb na kartę SD z FatFS - problem z buforem 100 liczb

    Jeśli zrobiłem tablice globalne, to przy wykorzystaniu pamięci RAM 83,6% jeszcze działało, Natomiast gdy zwiększyłem tablice i pamięć wynosiła 86% to już przestało działać ;D Funkcja która wysyła dane na kartę wygląda tak: passing argument 2 of 'f_write' makes pointer from integer without a cast Czym jest to spowodowane?

    Mikrokontrolery AVR   20 Cze 2011 18:54 Odpowiedzi: 18    Wyświetleń: 1670
  • [atmega32] [c] - wyświetlacz widmowy 20led problem z tablicami znaków.

    To zrób sobie tablicę o 256 elementach i dla każdej kombinacji wejściowej (numer elementu tablicy) trzymaj odpowiednią kombinację wyjściową (szybka metoda na poprawę połączeń w locie - zajmuje jednak 256 komórek ramu lub jest wolna jeśli robimy z progmem), albo po wygenerowaniu tablicy znaków, a przed kompilacją jeszcze na komputerze jakimś szybko napisanym...

    Mikrokontrolery AVR   07 Maj 2013 10:45 Odpowiedzi: 5    Wyświetleń: 1506
  • [C] [C][atmega8] Błędy wyświetlania przy tablicy char powyżej 48 znaków na matrycy 8x8

    char FontTable[97][8] PROGMEM = { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // (blank) //0 (...) }; i RAM będzie wolny :wink:. I pamiętaj że do czytania takiej tablicy musisz wykorzystać wbudowane w winAVR pgm_read_byte(address_short);

    Mikrokontrolery AVR   01 Gru 2009 10:43 Odpowiedzi: 9    Wyświetleń: 2085
  • Powietrzna pompa ciepła - z klimatyzatora LG S30AW

    https://www.elektroda.pl/rtvforum/viewto... Wystarczy też na komórkę ściągnąć aplikacje dla konkretnego modelu, lub uniwersalną i dobrać działające wirtualne piloty, ale to zazwyczaj właśnie podstawowe funkcje. Z arduino jak wyżej trzeba ogarniać tworzenie tablic poleceniem PROGMEM i można zbudować swój pilot na kilka-kilkanaście...

    Systemy Grzewcze Użytkowy   10 Sty 2024 16:29 Odpowiedzi: 2359    Wyświetleń: 327837