Mam wrażenie że przy obecnie wybranym algorytmie nie da się przyspieszyć. Gdyby dane o adresie zapisywane były w ciągu z reszta to ujdzie i nie trzeba czekać ale tak to niestety: 1. ładujesz adres początku 2. wysyłasz dane po koleji 3. czekasz te 10ms 4. zapiszujesz pod 5000 zmienną adresu 5. czekasz znowu 10ms I tak powinien wyglądać fragment zapisywania....
Witam Z tego co pamietam to by cokolwiek zapisac i odczytac z epromu nalezy podac tez adres komorki pamieci . W BASCOMIE to wyglada chyba tak : Writeeprom Tekst ,adres a potem odczytujemy Readeeprom Tekst ,adres AT90S2313 ma 128 bajtow pamieci EEPROM, wiec jest 128 komorek jedno-bajtowych komorek pamieci. Stad adres : 0-127 Nie wiem jak wyglada sprawa...
zapis writeeeprom zmienna , adres odczyt readeeprom zmienna , adres Musisz pamiętać ile bajtów zajmuje zmienna którą zapisujesz i o taką wartość zwiększyć adres przy zapisie / odczycie następnej zmiennej Jeśli zmienne typu Byte , adres zwiększasz o 1 Jeśli zmienne typu Word , adres zwiększasz o 2 Jeśli zmienne typu Integer , adres zwiększasz o 2 Jeśli...
Wydaje mi się że jak byś nie zrobił i będzie działało to tak jest dobrze ;] ilu programistów tyle podejść do tematu... Jeżeli już zadeklarujesz taką dużą tablicę to tak czy siak będzie ona zajmowała jakąś przestrzeń w pamięci więc czemu nie użyć jej i odczytać z eeprom wszystkiego na raz. Kiedyś robiłem podobny sterownik do CO ze sterowaniem temperaturą...
Proszę. Jest to przykład zapisu i odczytu zarówno zwykłych bajtów jak też łańcuchów tekstowych inaczej mówiąc napisów w Eeprom. Program i funkcje działają z małymi pamięciami których adresacja mieści się w jednym bajcie. Do tego przykładu użyłem 24C04 Jeśli ktoś chce to może po prostu wpisać sobie jakieś dane do buff(1), Buff(2) itd i tak zapisać. Potem...
Może cos takiego ? Config Scl = Portc.0 ' I2C Clock. Config Sda = Portc.1 ' I2C Data. Config I2cdelay = 100 Declare Sub I2c_ram_write(byval Addres_desired As Word , Byval Byte_to_write As Byte) ' Writes data to the I2C EEPROM. Declare Function I2c_ram_read(byval Addres_desired As Word ) As Byte ' Reads data to the I2C EEPROM. Declare...
Można zadeklarować prawidłowo zmienną eeram W ten sposób Dim Adres_er(size_t_mac) As Eram Byte At Adres_p_mac Poprzez komende AT znam adres, po jaki będzie się odwoływać zmienna eeram w pamięci. Niestety, ale z Eepromem ten numer nie przejdzie , ponieważ Bascom ignoruje etykiety w Eepromie. Deklaruje, jakie wartości powinny być zapisane w eeram...
Powinieneś skonfigurować SDA i SCL w programie. Nie napisałeś w jakim będziesz pisał bo np w BASCOM 8051 robi się to tak: Config Sda = P1.1 Config Scl = P1.0 i wówczas możesz dowolnie wybrać porty . Przydaje się to przy projektowaniu płytki. A0 i A1 ustawiasz adres do zapisu pamięci albo (+) albo GND
Jeśli chodzi o soft, to powstał szkielet programu. Na razie odmierza to czas, i powinno obsługiwać pilot RC5. W polach „A:” – powinien wyświetlić się adres pilota, „C:” – numer przycisku z pilota. W symulacji programowej poszło, ale na razie nie mogę przeprowadzić prób z braku modelu. Ale żeby stworzyć wersje BETA...
https://obrazki.elektroda.pl/2034175900_... Wczoraj wczesnym rankiem (tj. niedziela) tak sobie leżałem oglądając TV i pomyślałem, że przydałoby się zaświecić światło w pokoju, ale strasznie nie chciało mi się wstawać… Tak powstał pomysł na oświetlenie sypialni sterowane pilotem IR. ;) https://obrazki.elektroda.pl/6206372600_...
Jak dokładasz drugi czujnik pod I2C to musisz inaczej go zaadresować, czyli wejścia adresowe musisz inaczej podłączyć. Wtedy każdy z nich będzie miał swój inny adres. Odczyt każdego z nich musi wiązać się najpierw z zaadresowaniem właściwego czujnika.Najprawdopodobniej w układzie wyżej masz 2 czujniki o tym samym adresie. Dane zapisujesz sobie jak chcesz,...
Witam! programuje w bascomie już troche czasu i mam już jakieś pojęcie o tym programie, ale od czterech dni próbuje rozgryźć kod i narazie żadnych postępów. Kod wygląda tak: Pewnie wiecie o co chodzi w programie ale opisze działanie i problem. Otóż program zczytuje znaki z wewnętrznej pamięci eeprom atmegi8 i wyświetla go znak po znkau na lcd, a gdy...
Witam! Twój program nie będzie działać. Ogólnie nie zajmuje się Bascom ale mogę ci pokazać ogólne założenia transmisji z tym scalakiem. Każdy EEPROM I2C ma swój adres. Jest on wyznaczany na podstawie stanów na nóżkach A2...A0. Jeśli podpiąłeś wszystkie te nóżki do masy to adres jest: 0b1010 - stała sekwencja, A2=0, A1=0, A0=0, R/W. Podsumowując: 0b10100001...
Witam jestem raczkującym programistą 90S213 w BASCOMIE Jak narazie idzie mi niezle ale chcialbym zapisać pewne dane w wewnętrzej pamieci eprom (by po restarcie porcka moglbym korzystać z zapisanych danych) niestety niewiem jak to ugyść. Pewnie tu chodzi o rejestry EEDR POMOCY Z gory dziękuje
a mog bys zapodac jakas komede ktora by odbierala z dekodera ciag cyfr i zapisywala na dany adres eeprom
Bascom Atmega Jak zapisać domyślne wartości w eepromie pod wskazanym adresem? Tworzenie zmiennych w kodzie, które mogą wskazywać, pod jaki adres ma ona wskazywać zajmuje miejsce w kodzie programu. Jeżeli zadeklarujemy to w ten sposób to wszystko jest zapisane w pliku epp i nie zajmuje miejsca w kodzie programu. Ale jak wskazać że przykładowo etykieta...
Witam Mam problem mianowicie mam pewne dane, które zapisywane sa do EEPROM-a ale niewiem jak je "rozszyfrować" z kąd mam wiedzieć co to za napis ? i jak stworzyć swój w takiej postaci? A może ja to źle rozumiem? Pomóżcie prosz, niewiem oco w tym chodzi. Załączam przykład. $eeprom być na początku pliku Napisa: 'LOGO Data 199 , 192 , 194 , 192 Pozdrawiam
Podoba mi to podejscie: Wziałem program z sieci, nie działa więc na pewno jest to wina atmegi, ST, attiny, fairchilda, motoroli ........ , ale na pewno nie moja. Atmega8 lipna, 32 lipna i 16 lipna. Wez datacheeta i ustaw rejestry samodzielnie. Jak masz konkretne pytanie to pytaj A moze po prostu sprawdz co nie działa. I2c transmisja jest dosc prosta....
pisze program ktory musi po pojawieniu sie zasilania wczytac dane z eepromu atmegi (oczywiscie przed wylaczeniem zasilania dane te zostaly tam zapisane) moje pytanie to jak obslugiwac pamiec eeprom w bascom avr? bylbm bardzo wdzieczny jakby ktos mogl zamiescic przykladowy fragment kodu
Trochę to może zagmatwane co napiszę. Potrzebuję zrobić sub-rutynę w której chciałbym użyć Readeeprom do której chciałbym podawać adresy do odczytu z Eeprom poprzez parametr. Czy w Bascomie 2.0.5.0 tak można ? Poniżej przykladowy kod jaki chciałbym uzyskać: [syntax=basic4gl]$eeprom Data 0 ' zerowy bajt może zostać wyzerowany Poczatek: Data "0791" 'początek...
Czy da się jakoś zmusić Bascoma, żeby nie wgrywał EEPROMu po wgraniu Flasha? Problem polega na tym, że trzymam tam ustawienia programu i po każdym przeprogramowaniu układu muszę je ustawiać od nowa. Próbowałem obejść problem wpisując na końcu kodu programu takie coś: [syntax=basic4gl]$eeprom Data 0 , 1 , 2 , 3 , 4 , 5 , 6[/syntax] ale niestety w EEPROMie...
Witam ! chcialbym spytac, jak zapisac wartosci zmiennych w pamieci AVR uC tak, by nie ulegly skasowaniu przy restarcie procka (np. brak zasilania, etc.) chodzi mi o zapisywanie wynikow pomiarow (np. temperatura). interesuje mnie rozwiazanie bascom'owskie. Pozdrawiam Patryk
Witam. Kolego Bart_projects, bardzo dziękuję za podany program, jest Pan złotym człowiekiem :) . Dopiero wczoraj go dostosowałem do swoich procków, gdyż byłem na tygodniowym urlopie, w prawdzie lapka miałem ze sobą ale procków nie zabierałem z całym tym okablowaniem :P Jednak po próbach zrozumienia co kolega miał na myśli, mam kilka pytań. Dlaczego...
A szanowni koledzy nie zauważyli że 2313 nie posiada pinu Portd.7 do którego to kolega lijon1 podobno podłączył SDA 8O I czy aby napewno adres tej pamięci to 160 :?: Pzdr. Piotrek Sz.
Wyraźnie ci pisze "I2cwbite" czyli zapis jednego BAJTU.. w EEPROM'ie I2C komórka ma 8 bajtów.. jeśli chcesz zapisać jakąś zmienną która zajmuje więcej niż bajt to niema zmiłuj sie.. musisz podzielić na bajty... np takie coś: dim A as word A = 12345 '--------- I2cstart I2cwbyte adresw I2cwbyte adres_komórki i2cwbyte hi(A) I2cstop '--------- I2cstart...
genetix: podpinasz do tych samych pinów pamięć danyc i programu, ale to nie ta sama magistrala - korzystają obydwie jedynie z tych samych fizycznych pinów. Reszta jest całkowicie oddzielna. Mało tego, zatrzask o którym piszesz służy do zatrzaskiwania adresu żeby udostępnić te same piny na których jest adres podawany do wczytania danych lub kodu programu....
Witam Duch_ to piękna konstrukcja, chyba jeszcze nikt nie zaglądał na link, bo jeszcze nikt Cię nie zjadł za Bascom :) Zwykle ludzie piszą, że w Bascomie się nie da i do tego kabelki nie są równo ułożone. Wiele razy czytałem jaki to Bascom jest beee i fuj i wogóle... Nie przejmuje się tym. Co do programu to: Wyświetlacz wstawiony w linii emisji głośnika...
Witam. Jaki jest poprawny sposób zapisu / odczytu danych do pamięci EEPROM typu 24cXX ? W Sub Read_eeprom(adres As Byte, Value As Byte) I2cstart I2cwbyte 160 I2cwbyte Adres I2cstart I2cwbyte 161 I2crbyte Test, 9 I2cstop End Sub Sub Write_eeprom(adres As Byte, Value As Byte) I2cstart I2cwbyte 160 I2cwbyte Adres I2cwbyte Value I2cstop...
I2cwbyte &B1010_0000 To zapis binarny dopuszczalny przez BASCOM (spotkałem w kilku przykładach), można też oczywiście zapisać adres szesnastkowo i dziesiętnie (160). Rozumiem Twoje zdziwienie, bo sam tak zareagowałem... ale kompiluje się bez problemu. Poniżej zameszczam zmodyfikowany program... jednak też nie działa prawidłowo... niektóre liczby wyświetlane...
Jak podłączam zaasilanie to raz komunikacja działa a raz nie, tzn. włączam układ działa, wyłączam i znowu włączam i już jest problem, może to że piny nie wykożystane nie są zaprogramowane powoduje błąd i zawieszanie się programu dodałem migającą diodę i miga cały czas więc program się nie zawiesza. Już mi ręce opadają :( jak wpisze do uC to : [syntax=basic4gl]...
Po prostu deklarujesz zmienne i robisz tak: Dim Eeprom(128) As Eram Byte 'i potem zapis o odczyt: Eeprom(1) = 123 Jakas_zmienna = Eeprom(128)
Pozostaje więc wykorzystanie sprzętowego spi lub i2c i dołożenie zewnętrznej pamięci eeprom o ile wewnętrzny jest zbyt mały Ma to sens. Taki 24c256 za 3 zł (32kB) warto zastosować dla układu z LCD gdzie będzie trzeba zrealizować dużo komunikatów. W ten sposób łatwo też przygotować wersję językową (jeden eeprom dla PL, drugi dla ENG i odwoływanie się...
właśnie też czytam o eeprom i też spotkałem się z tym żeby pod adresem 1 nic nie wstawiać więc zmieniłem adres o jeden w górę i zobaczę czy to pomoże? Napotkałem jeszcze coś takiego przeszukując neta "Wrażenie uszkadzania początkowych komórek pamięci eeprom bierze się stąd, że procesor po załączaniu napięcia startuje już przy napięciu 1.8V, ładuje konfigurację...
Witam Odczytuję wartości z przetwornika PCF8591p ( byte 0 - 255 ) Chciałbym wynik wyświetlać i zapisywać w procentach. [syntax=vbnet] Dim Odczyt_1 As Byte Dim Odczyt_2 As Byte Dim Odczyt_3 As Byte Dim Odczyt_4 As Byte Dim Jasnosc As Byte Dim Deszcz As Byte Dim Mnozenie_1 As Single Mnozenie_1 = Odczyt_2 * 100 Deszcz = Mnozenie_1 / 255 Mnozenie_1 = Odczyt_4...
Nie miałem z tą pamięcią wiele wspólnego, ale podejrzewam że procedura podobna jest do innych polega na adresowaniu pamięci wpisujesz odpowiedni adres układu - gdyż układ składa sie "tak jakby" z wielu układów w którym kazżdy ma pojemność 256 bajtów. czyli 24c512 to tak jakby dwa oddzielne układy o pojemności 256 i aby odczytać/zapisać drugie 256, należy...
rj1307 napisał: I drugie pytanie, jeśli dobrze zrozumiałem, nie mogę adresować xram'u od 0 tylko od adresu powyżej końca pamięci wewnętrznej mikrokontolera. Jak więc zapisać pełne 64kB? Bezpośrednio sie nie da. W kontrolerze trzeba ustawić adresowanie 32 kB. Pamięć trzeba podzielić na dwa obszary po 32kB. Linią adresową A15 (nie musi to być PC7) wybieramy...
Teraz problem zmiennej SINGLE . Otóż mam w programie coś takiego: Dim Tzap1 As Eram Single Dim Tterm1 As Single Tterm1 = Tzap1 Cls Napis = Fusing(tterm1 , "#.#") Lcd Napis Wait 3 Cls Main: 'program główny . . . . . . cos tam dalej . . . . Chodzi w tym o to, że podczas startu programu zapisaną wartość SINGLE mam "przepisać" do zmiennej...
Co jest źle? [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 '********************* Konfiguracja magistrali I2C Config I2cdelay = 5 ' domyślnie tryb Slow Config Sda...
Jeśli chodzi o odczyt ID DS18B20, zrobiłem coś takiego: [syntax=basic4gl] Do Locate 1 , 13 Lcd T_solar1 Locate 2 , 13 Lcd T_solar2 If Flaga_wybor = 0 Then If Flaga_ds = 1 Then If Numer_ds = 1 Then Adres = 40 T_solar1 = Ss Gosub Odczyt_eeprom Elseif Numer_ds = 2 Then Adres = 48 T_solar2 = Ss Gosub Odczyt_eeprom End If Flaga_ds = 0 Flaga_wybor = 1 End...
Kolego krr nie mam konfliktu adresu 24C04 w podstawowej konfiguracji ma adres 160 i 161 a PCF8583 162,163. Problem pojawił się znowu, ale przypadkiem w dokumentacji do płytki EvB4.3 znalazłem na stronie 11 pdf-u: http://www.image.micros.com.pl/_dane_tec... taka informacje: "W przypadku obsługi magistrali I2C w środowisku...
Witam ! Oto program napisany w Bascom AVR na ATtiny2313. Myślę zę sobie poradzisz ze zmianą na Megę8. Odczytuje on Adres i Rozkaz kodu Rc5 i wyświetla na wyświetlaczu LCD. $regfile = "attiny2313.dat" $crystal = 10000000 Config Lcdpin = Pin , Db7 = Pb.2 , Db6 = Pb.3 , Db5 = Pb.4 , Db4 = Pb.5 , E = Pb.6 , Rs = Pb.7 'Config Lcd = 16 * 1a Config Lcd =...
'***************************************... 'Program zapisuje bajt Value do dziesięciu komórek pamięci 24c64 począwszy od komórki o adresie &H0000 '***************************************... 'Dla adresowania 24c64 potrzebujemy zmiennej...
Po kiego grzyba Ci te "hexvalue" skoro ta funkcja (jak nazwa wskazuje) zamienia liczbę w String :?: :arrow: zumek : Z HEXVAL() Przeznaczenie: Zamienia tekstową reprezentacje liczby szesnastkowej na odpowiadającą jej wartość. Wiec zamienia tekst na liczbę, odwrotnie niż pomyślałeś. Inna sprawa, to czy jest ona potrzebna przy zapisie do EEPROM w tym...
No właśnie, nie wiem czy tak to sie nazywa ale staram sie już pare dni zastąpić tablice zrobioną na wewnętrznym EEPROMie ATMEGI na taką która była by w 24cXX Program pisany w BASCOM np. Do tej pory robiłem to tak. Dim Dane(500) as Eram Word Dim X as Word, Z as Word potem w programie bylo tak Z = Dana(X) lub Dana(X) = Z Teraz chce zrobić tak żeby to...
google naprawde nie gryzie : $regfile = "m128def.dat" $crystal = 14745000 $baud = 115200 'set the baud rate for the first hardware UART. $baud1 = 9600 'set the baud rate for the second hardware UART. Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Com2 = Dummy , Synchrone = 0 , Parity...
Witam !!! Czytam i czytam o tych układach i nie mogę tego odpalić. Kupiłem sobie płytkę testową z mikrokontrolerem Atmega16 i w sumie już coś nie coś się nauczyłem o mikrokontrolerach, oprócz i2c. Mam podłączone pod i2c eeprom 24c02 i rtc PCF8583. Orginalnie SDA i SCL nie są podciągnięte prze rezystory do 5V+. Dodali programiki testowe do tej płytki...
Dziękuje za odpowiedz Widzę po formie zapisu liczby że kolega programuje w języku C . Przestrzeń adresowa tego kładu to od 0 do 4095 (w systemie dziesiętnym) , jeżeli pierwszy adres będzie 0 to mogę kolejno wysłać 4095 bajtów gdzie adres będzie inkrementowany .Taimouty stosuje chyba się w C bo w Bascom sę biblioteki do obsługi . Tak to zrozumiałem ....
Witam! Mam problem z prawidłowym zapisem danych do pamięci 24c32. Poniższy program teoretycznie powinien zapisać dane w 9 kolejnych bajtach, adres jest zwiększany o 10. Ale tak nie jest. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3...
1) Dopisałem, to pomogło. Właśnie przez to się procesor wieszał. 2) To akurat jest dobrze, bo temp służy do obliczania dziesiątek i jedności. 4) Można, jednak nigdy nie korzystałem z SPI, a to jest mój pierwszy samodzielnie pisany program. Problem jaki teraz mam to zmienna "Adres". Mianowicie jest ona jako "word" (16bitów). Niestety jednak układ wywala...
przepisałem troche swój programik udaje mi sie wyświetlić jedną zmienną.Chciałbym natomiast o poradę jeżeli odczytam pierwszą zmienną to jak odczytać następnie z tej samej klawiatury.Jeżeli zmienną A1 zapiszę sobie w pamięci eeprom to chciałbym przejść do odczytu zmiennej A2 bez ruszania zmiennej A1.Nie oczekuję gotowego rozwiązania tylko porady jak...
Najpierw po włączeniu BASCOM AVR musisz ustawić właściwy programator. Pokazuję to na starej wersji 1.11.8.1 która jest po angielsku - nowe są już chyba po polsku. Options -> Programmer http://obrazki.elektroda.pl/4693218700_1... Jeśli masz port LPT na płycie to najprawdopodobniej adres 378 nie trzeba będzie zmieniać. Przy dodatkowej...
Ten program jest przepisany z Nowego Elektronika. Wszytko się zgadza. Nie da się skompilować. Proszę umieszczać kod w znacznikach syntax . Opcja Listing kodu .
Witam Próbuje uruchomić pamięć EEprom PCF8582C-2 w Bascom ale bez skutku nie mam w ogóle komunikacji z atmega.PCF8582 mam podłączony do płytki testowej. Piny A0,A1,A2 i PTC dałem do masy SDA i SCL z rezystorami podciągającymi do +5V (próbowałem 1K i 10K bez skutku) Zasilanie 5V Mam taki skaner I2c ale nie chce mi znaleźć adresu tego PCF-a gdzie np PCF8583...
Niestety nic nie da rady już zrobić - kod po skompilowaniu zajmuje 2046 bajtów. Widać że nazwy są poskracane. Bascom nie oszczędza drogocennej pamięci :( Musiałem się mocno natrudzić aby upchnąć te wszystkie nazwy rozkazów i pilotów. Standardowo napisane zajmowało z 1kB więcej!Być może zrobię i nadajnik ale potrzeba 4kB flusha. Gdybyś odrobinę skomplikował...
Reg_no(i) = 1wsearchfirst() For I = 1 To 8 Writeeeprom Reg_no(i) , 10 Next tego całkowicie nierozumiem, najpierw zapisujesz dane do tablicy pod indexem którego nawet nieznasz (zmienna 'i' niejest zainicjalizowana) oraz nierozumiem zapisu 8 bajtów, wszystkie pod ten sam adres w pamięci eeprom, pierwsze 7 bajtów zostanie nadpisane i ich nieodzyskasz....
Witam podaję kod, który działa poprawnie, oczywiście należy go dopasować do swoich potrzeb. [syntax=vbnet] 'Sterownik swiatel V2.2 '10-06-2015 'Roman Biadała $regfile = "m128def.dat" $crystal = 11059200 '$lib "fp_trig.lbx" '******** Ustawienia portów ****************************************... '******** Sterowanie 74HC541 - przekaźniki *************************************...
Witam! Program działa poprawnie. Testowałem z 3-4 programy do obsługi tego czujnika ciśnienia. Wyniki są złe, porównaniem z innym ciśnieniomierzem zaniża o 30..40hPa. Zasilanie BMP180 3.3V, ATMEGA32, 8MHz. Czy ktoś się spotkał z takim problemem? [syntax=vbnet] '----------------------- '| Test modułu BMP085 | '----------------------- 'Uwaga: pomiar jest...
eeprom adres adres eeprom adres bascom
wzmocnić maksymalny tomtom kabel ładowarka arduino podlewanie
Grundig V303 - informacje, instrukcja, problemy techniczne Obliczenie średnicy i długości siłownika hydraulicznego do podniesienia 2500 kg