Jednak dane nadawane przez EEPROM się spóźniają powinny być zatrzaskiwane na zboczu narastającym a one na narastającym się dopiero zmieniają jakby miały być zatrzaskiwane na opadającym choć wyraźnie w manualu jest napisane że pracuje przy narastającym. Coś źle doczytałeś The READ instruction outputs the serial data of the addressed memory location...
warning: passing argument 3 of 'odczyt_stronicowy' from incompatible pointer type dla instrukcji odczyt_stronicowy(0, 6, MAC); Musisz wywołać funkcję w ten sposób: odczyt_stronicowy(0, 6, &(MAC[0])); Jeśli chodzi o : warning: assignment makes pointer from integer without a cast dla linijek odczyt[i]=READ_TWI(1);.....
Proszę: /***************************************... ****************************************... static void I2C_Slave_Initialise(u8_t I2C_ownAddress) { TWAR = I2C_ownAddress; // set own I2C slave address TWAMR = MASK_ADDRESS; //<<I2C_ADR_BITS; // I2C Interface...
Mam problem z tym call i ret mam taki kod: ldi R16, 0x00 Co jest źle? W przypadku procesorów AVR zawsze na sam początek musisz ustawić stos w odpowiednim miejscu w pamięci programu. Praktycznie każdy program więc zaczyna się (dla atmega32) od rozkazów ustawiających stos. Za manualem str 45: Address Labels Code Comments $000 jmp RESET ; Reset Handler...
przy okazji: mam jeszcze cos takiego uint16_t g_odniesienie; //wartosc kalibracyjna przy 10V g_odniesienie = eeprom_read_word(0x01); i pojawia sie warning tester.c:106: warning: passing arg 1 of `eeprom_read_word' makes pointer from integer without a cast thx for help Kompilator wskazuje Ci ze utworzyl wskaznik. Spróbuj takiego czegoś powinno...
KEELOQ + rolling code można wykorzystać w swoim projekcie DIY bez przeszkód? Oczywiście. Dodano po 33 Mogę zainteresowanym podać kod KEELOQ dla pilota i odbioru , oczywiście z innymi danymi pilota ;). PILOT: Dodano po 10 Bardzo ciekawy i użyteczny projekt, właściwie to prototyp, który może przekształcić się w produkt. A czego mu brakuje żeby już nie...
Witam. Znalazłem coś innego i po modyfikacji działa jak powinno . Przypisany jeden klawisz pod PB.2 wysyłający LewyALT + Q. Jest też zmiana u gnieździe usb D- PD.3 na PD.4. [syntax=vbnet] 'Author : Rick Richard 'www : http://www.sloservers.com/swusb 'Created : Jul 29, 2009 'Version : 1.00 '***************************************...
Witam, Próbuję napisać program wpisujący do wewnętrznej pamięci EEPROM procesora ATmega8 napis 'czesc', a następnie wyświetlić go na LCD 2x16. Po przeczytaniu informacji w helpi'e do CV odnośnie EEPROM i LCD udało mi się napisać program, jednak nie kompiluje się on. Nie wiem jak odczytać zawartość EEPROM na LCD (znalazłem funkcję odczytu z pamięci FLASH...
Odczyt FLASH odbywa się bez konieczności modyfikacji NVM (o ile mówimy o odczycie bajtów/słów), If the application are using program space access in interrupts * (__flash pointers in IAR EW or pgm_read_byte in GCC) interrupts A czy to, co ja robię to nie jest ten __flash pointer? Co prawda korzystam z GCC, ale tutaj na forum doradzono mi, że nie trzeba...
Witam Przeglądałem forum, jednak zastosowane propozycje nie dały rezultatów.. ;/ mam problem z zapisem i odczytem z pamięci eeprom. Jak mają wyglądać te instrukcje poprawnie?? Robię tak(fragment kodu dot eeprom): int i=1; static EEMEM int i_ee; eeprom_write_block(&i, &i_ee, sizeof(i)); eeprom_read_block(&i, &i_ee,sizeof(i));...
Witam ponownie, próbowałem ogarnąć na początek funkcję eeprom_write_block. Oto fragment kodu: [syntax=c] typedef struct { // tu są chary, inty, tablice } TEngine; // zmienna w RAM volatile TEngine Engine; // Kopia będzie w EEPROM TEngine EEMEM eeEngine; // i gdzieś w kodzie dalej eeprom_write_block( &Engine, &eeEngine, sizeof(Engine) ); [/syntax] Przy...
passing argument 1 of '__eewr_float_m8' makes pointer from integer without a cast Pierwszy parametr powinien być wskaźnikiem do zmiennej (możesz podać &uiAddress).
Witam! Piszę program który ma mniej więcej obliczać mi ile paliwa jest wtryskiwane do cylindra w samochodzie. Ale chciałem aby wartość uśredniona już nie była tracona wraz z odłączeniem zasilania, tak więc trzeba ją do EPROM'a zapisać. Robię to tak: float wynik = 0; eeprom_write_byte( (float *)0x0, wynik); wynik = eeprom_read_byte(...
Żeby przyspieszyć ten program... Postodawca chce skrócić kod , a nie przyspieszyć jego wykonanie :) Np. Dim Teep(100) As Eram Byte Declare Sub Ram2eeprom() Dim Tablica(5) As Byte Dim Z1 As Byte At Tablica(1) Overlay Dim Z2 As Byte At Tablica(2) Overlay Dim Z3 As Byte At Tablica(3) Overlay Dim Z4 As Byte...
Cześć Temat wraca jak bumerang, chociaż mój problem polega raczej na brakach w C. Ale do rzeczy. Zapisuję i odczytuje dane z pamięci EEPROM. Wszystko działa. Ale ponieważ nie lubię warning-ów, to próbuję je wyczyścić. Są takie linijki w programie do odczytu kolejnych komórek z pamięci EEPROM i wrzucanie ich do odpowiednich zmiennych: [syntax=c] volatile...
Rozumiem już jak zapisać zmienną przez jej podział tylko czy XBYTE Dodano po 3 Rozumiem już jak zapisać zmienną przez jej podział tylko czy XBYTE[addres] = zmienna. Czy [addres] to muszę zadeklarować czy zostawiam tak jak jest a zadeklaruje automatycznie? I zauważyłem że nie ma wyboru: #define DPS_ 0x04 /* Data Pointer Select: 0=DP0, 1=DP1 */ Czy nie...
Witam, Mam problem, który spędza mi ostatnio sen powiek. Mam zadeklarowaną tablicę w pamięci EEPROM static EEMEM int16_t t_value[4][2]={ {389,386}, {386,386}, {386,386}, {386,386}}; Podczas kompilacji Przy próbie odczytu z tablicy int16_t value; value=eeprom_read_word((int16_t*...
Po zmianie cykle_w z int na unsigned int, nie ma tych błędów, ale potrzebuję w tej zmiennej przechować też wartości ujemne, zresztą nawet mimo tej zmiany nie mogę przekroczyć 255, nie wiem już czy to coś z tą funkcją, czy mam tak nawalone w kodzie. EDIT: Jednak to była wina itoa, zadeklarowałem ją tak: main.c:208: warning: passing argument...
Witam, dzisiaj zabrałem się za zabawę z pamięcią EEPROM. Pierwszy z problemów jaki napotkałem to adresowanie pamięci EEPROM. Znalazłem w internecie 2 polecenia które mnie interesują: eeprom_write_byte (adres, zmienna); x = eeprom_read_byte (adres); Problem w tym, że jak zrobię tak jak podano w tym wątku: http://www.elektroda.pl/rtvforum/topic18...
Witam dziękuję za odpowiedź. Kombinowałem trochę, jednak ciągle napotykam na błąd, którego nie potrafię obejść, nie mogę znaleźć też nigdzie rozwiązania. oto kod programu: #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #include <hd44780.c> #include <stdlib.h> #include <avr/eeprom.h> char wybrany; int...
To ja może jeszcze raz: Syntax READEEPROM var , address Remarks Var The name of the variable that must be stored Address The address in the EEPROM where the data must be read from. I nie pisz mi, że znasz składnię... Readeeprom E If E <> 135 Then E = 135 Code = 123456789 Skąd ma czytać tą zmienną poza tym, że z eepromu? Z jakiego adresu? Bo mnie...
main.c: In function 'SaveString': main.c:1264: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness main.c:1265: warning: array subscript has type 'char' main.c: In function 'OpenString': main.c:1284: warning: function returns address of local variable Miałeś racje zumek. Tylko dlaczego to jest problem? Zwykle tak zwracałem...
Tak też myślałem zrobić. Na pewno przy TCP było by sporo szybciej gdybym nie liczył tego CRC sam. Co do samych obliczeń to działa to tak ze podaje układowi pointer do początku danych i pointer do końca. Suma zapisuje się w rejestrze. Wtedy mógłbym go dopisać do danych do wysłania bezpośrednio w buforze karty sieciowej. Myślałem jeszcze nad samym mechanizmem...
Witam Chciałem się zapytać jak używać i do jakich celów służą poniższe funkcje: uint16_t eeprom_read_word (const uint16_t *addr) void eeprom_read_block (void *pointer_ram, const void *pointer_eeprom, size_t n) void eeprom_write_word (uint16_t *addr,uint16_t value) void eeprom_write_block (const void *pointer_ram, void *pointer_eeprom,...
Zrobilam cos takiego: list p=10f222 ; list directive to define processor #include <p10F222.inc> ; processor specific variable definitions ; ;***** VARIABLE DEFINITIONS ;w_temp EQU 0x7E ; variable used for context saving ;#DEFINE STAT POTRB,0 ;***************************************... ORG 0x000 ; processor reset vector...
Witam serdecznie. Mam mały problem z zapisem/odczytem eepromu. Przykładowy kod: temp_dol_k1 = eeprom_read_byte(1); ............. ............. ............. eeprom_write_byte(1,temp_dol_k1)... Niby wszystko ok ale kompilator mowie że: ../cos.c:2054: warning: passing argument 1 of '__eerd_byte_m32' makes pointer from integer...
AVE... Upewnij się, że wszystko dobrze podłączyłeś. Mi się tak robiło w projekcie miernika pojemności, gdy jeden z przewodów "nie stykał". Podłączyłem kolejny raz wg schematu, który umieściłem i niestety dalej nic się nie wyświetla :( .. I te wszystkie opóźnienia powinny być po EN = 0 a nie po EN = 1. Albert tak zmieniłem i dalej nie działa (no chyba...
Witajcie ponownie :) Wybaczcie, że dopiero teraz odpisuję. Ogólnie "odpaliłem" wreszcie te emulację EEPROMa w FLASH. Działa, ale mam jedno pytanie, wirtualny adres zmiennych, czy muszę jakoś uważać na to co tam wpiszę? Chodzi mi o tę linijkę kodu: [syntax=c]uint16_t VirtAddVarTab[NB_OF_VAR] = {0x5555, 0x6666, 0x7777};[/syntax] To pytanie dedykuję głównie...
Nadawanie nazw rejestrom moim zdaniem bez sensu. Sam się gubisz i nie wiadomo czy ma się do czynienia z rejestrem z grupy r16-r31 czy r0-r15. Tu się mogę nie zgodzić - nadawanie nazw może mieć sens, gdy się wie, co się robi:[syntax=asm]#define ML r0// Used for EEPROM & Program Flash Memory access and Lo byte for result of multiply #define MH r1//...
Napiszę pod postem. Kod się kompiluje i działa poprawnie. Za to walczę teraz z drugim kodem - podobnym bardzo, po czyichś modyfikacjach: [syntax=avrasm] ; original File = Tasta.hex from MacFaulkner's AKI ; Based on the v1.1A Tasta.hex file ; ; This was a .hex to .asm conversion, German layout stripped out, and ; various fixes provided by Nathan Hartwell...
Witam Od kilku dni (od środy) walczyłem z komunikacją I2C z kością 24LC02 (EEPROM). Dziś udało mi się to uruchomić ale na alnalizatorze logicznym widzę bardzo dziwne zachowanie. Oto fragment kodu wykonanego po naciśnięciu przycisku: http://obrazki.elektroda.pl/3034501800_1... pierwszy pakiet wydaję się być w miarę ok http://obrazki.elektroda.pl/2611669300_1...
Ok, coś kumam :) Znalazłem jeszcze tutaj: http://www.dreamincode.net/forums/topic/... coś takiego: #include <iostream> using namespace std; typedef struct { unsigned char bit0:1; unsigned char bit1:1; unsigned char bit2:1; unsigned char bit3:1; unsigned char bit4:1; unsigned char bit5:1; unsigned char...
raczej masz racje nie jest pusty poczatek bo open ocd kasuje tylko ten fragment gdzie wgrywa soft, wiec jak był tam bootloader to siedzi nadal, druga płytka była nowa i odrazu wgrany soft z ofsetem 0x3000 dlatego nie ruszył, wiec obie płytki są takie same i raczej ok. Co do faktu ze wszytsko działa z debugera to popram mnie jesli żle myslę, ale debufer...
Drugi sposób to użycie http://www.microchip.com/mplab/mplab-cod... Oprócz tego wiele innych. Albert Niby pomaga ale potrafi tak zagmatwać kod że czasami lepiej i szybciej jest napisać samemu i po kompilacji jest pełno warning:. Czemu nie zrobili jak w Arduino. Wchodzę w bibliotekę I2C zmieniam szybkość, częstotliwość zegara, ustawiam na...
w erracie nic nie ma. przepisalem funkcje do asm i niestety nie dziala, przestwilem fusy bity i nic, zmienilem zasilanie i taktowanie i nadal pudlo procedura testowa: .include "m8def.inc" .equ PAGESIZEB = PAGESIZE*2 ;PAGESIZEB is page size in BYTES, not words .DSEG Buffer:.DB 1 // Buffer for received page .CSEG .org $C00 RESET: ; Initialize...
Próbuję zrozumieć kod samplowy: [syntax=basic4gl]$crystal = 8000000 $baud = 4800 $regfile = "m644def.dat" Const Loaderchip = 644 #if Loaderchip = 644 ' Mega644P $loader = $7c00 ' 1024 words Const Maxwordbit = 7 'Z7 is maximum bit ' Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 #endif Const Maxword =(2...
Nie wiem z czym masz dokładnie problem, ale bawiąc się kiedyś w asm napisałem program zmieniający wypełnienie na PB1 (OC1A) w zależności od wartości odczytanej z przetwornika A/C. Może okaże się Tobie pomocny: #include "m8def.inc" .def acc = r16 .def result = r17 rjmp RESET ; Reset Handler reti ;EXT_INT0 ; IRQ0 Handler reti ;EXT_INT1 ; IRQ1...
Witam. Składam sobie klawiaturę midi (robię już którąś z kolei na tym samym projekcie i oczywiście wszystko działa) jednak mam do Was kilka spraw związanych z tym tematem. Otóż po pierwsze: - mam plik asm, który jak pisałem działa, jednak w projekcie brakuje mi złącza midi IN - jest ono w innych projektach (z podłączeniem sobie poradzę bez problemu),...
Witam Na wstępie się przywitam - na imię mam Piotr, jestem sobą początkującą w kwestii programowanie mikrokontrolerów AVR - przez ostatni rok "bawiłem" się w różne układy na m32 - pisząc soft w bascomie. Przesiadłem się kilka dni temu na procesor m1280 - i tu mam kilka problemów, których źródła nie potrafię zdiagnozować. Przede wszystkim - po wgraniu...
Witam chętnie kupię uC Attiny22 lub też proszę fanatyków - elektroników o edycję programu do obsługi RC5 (*.asm w załączniku). Więcej na temat układu, który chcę uruchomić jest na http://www.elektroda.pl/rtvforum/topic79... ps. hex pomyślnie zaprogramowałem na Attiny13, niestety nie działa to. (nawet nie zapisuje kudu RC5 w EEPROM) ASM - RC5 ;****...
No właśnie cały czas wyświetlacz wyświetla mi 0. Wcześniej miałem 1000 ms opóźnienia ale to niczego nie zmieniało Dodano po 51 Podokładem trochę tych delay, ale wyniku na wyświetlaczu to nie zmieniło [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include...
No niestety nie jeden błąd się wkradł ale niestety nie wiem jaki :) Oto kod biblioteki : Kompilacja rozpoczęła się. Projekt „DMX MULTI FUNCTION OPERATOR.cproj” (elementy docelowe: Compile): Kompilowanie przy użyciu wersji narzędzi „4.0”. Element docelowy „Compile” w pliku „C:\Program Files...
np. baud rate nie ustawiam, bo domyślnie po resecie ma wartość 000, czyli fPCLK/2. U mnie też tak było do czasu aż skomplikowałem moją "pajęczynę" wtedy wyświetlacz miał tendencję do "zawieszenia się". prawdopodobnie to była za duża częstotliwość żeby sobie tak kabelkami 20cm "latać". Wystarczyło że częstotliwość zmniejszyłem i od razu ruszyło. Przy...
Jaka jest idea tego bootloadera, chcę wykorzystać ten bootloader w moim układzie i wysyłać nowy FLASH z kliku skompilowany przez Bascom'a (HEX) przez własną aplikację, potrzebuje pomocy ze zrozumieniem jak mam obsłużuć tą transmisje. Typu wysyłam coś - odbieram coś itp. '---------------------------------------... ' (c)...
Witam,dzięki za porady, to jest biblioteka której używam,czy może mi ktoś pomóc w przerobieniu tej biblioteki $lib "glcdKS108-192x64.lib" Copyright = Mcs Electronics Www = Http : / / Www.mcselec.com Email = Avr(at)mcselec.com Comment = Ks0108 Graphic Display Library For 192 * 64 Libversion = 1.11.9.3 Date = 23 June 2009 Statement = No Source Code From...
Witam, w końcu udało się , komputer widzi urządzenie jako HID, robiłem już pierwsze testy wysyłania i odbierania wiadomości i wszystko jest Ok, Stało się tak przez podmienienie startup oraz linkera. Trochę pochodziłem po necie w poszukiwaniu i znalazłem całkiem ciekawą stronę : http://gandalf.arubi.uni-kl.de/avr_proje...
Witam, od kilku dni "męczę" się w dosłownym tego słowa znaczeniu z implementacją KEELOQ'a w swoim urządzeniu. Pomęczył bym się jeszcze kilka dni ale gonią mnie terminy i dlatego chciałbym poprosić o pomoc bardziej doświadczonych kolegów. Buduję układ z sercem Atmela gdyż z tymi procesorami miałem do tej pory najwięcej do czynienia. Niestety nie mam...
Witam kolegów, mam dość dziwny kłopot. Poniższy program zawiera jedynie procedury służące do komunikacji Atmega16 z PC. Jest tu obsługa wejściowego i wyjsciowego bufora kołowego o pojemności 255znaków. Pętla główna jest w zasadzie pusta. W celu przetestowania każdy przychodzacy znak jest dodawany do bufora wyjściowego i odsyłany (echo). Program testuje...
Piszę program który w założeniu ma posiadać pamięć ustawień. Dokładniej jest w nim 11 zmiennych oraz 128 możliwości ich ustawień (128 banków pamięci dla tych 11 zmiennych). Każda zmienna jest 8bitowa. No i dostaje od kompilatora (WinAVR ) dziwne komunikaty: warning: pointer targets in passing argument 1 of 'eeprom_read_byte' differ in signedness W kodzie...
Dziś pogrzebałem troche w bibliotece eeprom.h WinAVRa i zadam jeszcze parę pytań ;): Co przy pomocy tych funkcji można oddczytać / zapisać z/do EEPROM: uint16_t eeprom_read_word (const uint16_t *addr) void eeprom_write_word (uint16_t *addr,uint16_t value) Domyślam się że poniższa funkcja zablokowuje możliwość odczytu z EEPROM: ?? eeprom_read_block...
pointer schemat arduino pointer green pointer
serwis hormann plazma wypalenie wzmacniacz juice
keyboard głośność keyboard głośność
Jak wyczyścić pampersa w drukarce Epson L3250? Beta-HCG jako marker nowotworowy – normy, zakresy, interpretacja wyników