To chyba nie jest warunek konieczny. Faktycznie w funkcji sleep_mode() jest zawarty sleep_cpu() a konkretnie: sleep_cpu() który odpowiada wykonaniu rozkazu SLEEP assemblera. Robię tak ponieważ chcę być pewny co faktycznie wykonuję. Jak widać na tym przypadku korzystając z pozostałych funkcji z biblioteki zrobiłbym 2x sleep_cpu() :)
Witam. Znalazłem w necie. To powinno pomóc rozwiązać twój problem. Gościu tu przedstawia jak uśpić procesor i obudzić go przerwaniem INT0. [syntax=c] #define LED_PIN 4 void setup() { pinMode(LED_PIN, OUTPUT); //Save Power by writing all Digital IO LOW - note that pins just need to be tied one way or another, do not damage devices! for (int i = 0; i...
Trochę inny argument spotkałem w jakimś artykule że pomiary poboru prądu potwierdzają średnio dwukrotnie niższe jego zużycie na wykonanie tego samego zadania przez program napisany w asm a w C. Z rozkazami typu sleep C radzi sobie różnie. To moze mieć znaczenie w locie na Marsa. N.
Bazowałem na [url=http://cs2.uwsuper.edu/sb/Electroni... przykładzie. Tyle tylko, że to jest w assemblerze i po każdym "sleep" następuje "nop". Jeśli przeniesiemy to na kompilator xc to wystarczyłoby to zmienić w ten sposób[syntax=c]SLEEP(); NOP();[/syntax] Taki opis w "datasheet":
Drgania styków to "oczywista, oczywistość". Czy wyeliminujesz je programowo czy sprzętowo to juz twoja sprawa. Pamiętaj, ze przerwanie od poziomu musi byc blokowalne (SIGNAL lub ISR bez atrybutów) w przeciwnym wypadku przepełnisz stos. A niby w jaki sposób, jeśli po wejściu do ISR blokowane są kolejne przerwania? Kolega jest tego pewien? lub ISR bez...
Niestety sprawa rozbija się o składnie bascom'a ale dzieki A co , w Bascomie nie można zapisać danych bezpośrednio do rejestru :?: Po konfiguracji ADC i przerwań usypiamy proca w trybie ADC Noise Reduction Mcucr = Mcucr And &H0F ' na wszelki wypadek ;) zerujemy 4 najstarsze bity Mcucr = Mcucr Or &H90 'ustawiamy bit SE i SM0 sleep 'instrukcja assemblera...
Ok. Co o tym sadzisz: .386 .model flat,stdcall option casemap:none ;========== biblioteki ========== include \masm32\include\windows.inc include \masm32\include\wsock32.inc includelib \masm32\lib\wsock32.lib include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\winmm.inc includelib \masm32\lib\winmm.lib...
... ja bym na twoim miejscu mając do dyspozycji port LPT wykorzystał przesyłanie danych za pomocą linii 8bitowej a nie bawił się w emulowanie RSa ... a to dlatego , że właśnie "zjesz zęby" na dobieraniu tych jak mówisz tych prostych pętli czasowych w Delphi. Trzeba sobie jednak pomóc asemblerem, programem pod WinXP typu ZLPortIO lub podobnym aby uzyskać...
a co jest PO tej instrukcji nop? bo skoro petle recznie postawiles pod adreem 0x100, to cholera wie co jest pomiedzy nimi... tak w ogole to ASM30 jest object assemblerem i nie powinno sie uzywac recznego ustawiania czesci kodu. jak juz trzeba, to lepiej zrobic to przez definicje sekcji i nastepnie zadeklarowanie czesci kodu jako nalezacej do danej sekcji....
Zmieniłem program i dalej nie wyświetla,przy szybszym opóźnieniu 40us kursor zostaje w pozycji 00.Gdy wolniej 20ms to przeskoczy do 4F. Liter brak. [syntax=avrasm]listp=16f676 #include <p16F676.inc> __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF ;_HS_OSC ;stałe**********************************...
zapomniałem napisać, że cały program mam napisany w C, i nic poza tym językiem nie kumam, a już w szczególności assemblera. Chyba nie do końca rozumiem, jak to ma działać (to co w linku). http://obrazki.elektroda.pl/9138731600_1... napisane jest, że pull-up'y są załączone do PD2 i do PB3..0 (skonfigurowane jako wejścia). Skoro na obu...
Witam, bawie sie dopiero drugi dzien tym prockiem i calkiem niezle mi to idzie, ale utknalem niestety w martwym punkcie -slecze juz kilka godzin -i nic! Mianowicie nie potrafie zmusic procka, aby 'powstal' ponownie po dyrektywie SLEEP. Chcialbym, aby 'obudzil' sie po wcisnieciu przycisku podlaczonego do lini RA2 (INT). Reszte programu juz napisalem,...
Wybacz Kolego ale można się załamać - nie znasz podstaw programowania! Weź sobie jakąkolwiek książkę do C i przeczytaj chociaż KILKA PIERWSZYCH ROZDZIAŁÓW... Bardzo uprzejmie proszę. Forum nie jest od nauczania C, nawet na przykładach! Najprostszy program ma postać: #include <stdlib.h> #include <stdio.h> int main(void){ sleep(1);...
Hej Freddie, wcześniej kompilowałem w eclipsie i wrzucałem bina za pomocą luminary flash programer, teraz udało się skonfigurować programowanie oraz debugowanie w eclipsie, jednak mam parę pytań i niejasności: dalej mam The system cannot find the path specified nawet po zainstalowaniu Coreutils **** Build of configuration Default for project test ****...
delayX to procedury opóźniające w przerwaniu akurat ma służyć odczekaniu do wygaśnięcia drgań styków przycisku. Według sugestii zamieszczam program bez definicji rejestrów i trybu SPECIAL, żeby nie zaciemniać, a to akurat nie ma wpływu na działanie. .CSEG ; początek segmentu programu .ORG 0x00 ; wektor przerwania od resetu rjmp Reset .ORG 0x04 ; wektor...
Witam... Idąc książką Pana Lucjana Bryndzy: 1) Uruchomiłem openocd i mogę za pomocą skryptu pythona automatycznie logujacego sie do telneta zaprogramowac binem 2) Po wycieciu wszystkich opcji z str912.mk (ktory jest includowany w makefile) i zostawieniu sekcji "program:" z instrukcja wywolania skryptu - tez moge zaprogramowac ale biny Sprawa rozbija...
Na windowsa możesz zrobić dokładnie to samo - podejrzeć kod assemblera. Dodatkowo masz pełen debugger i masę innych ułatwień. Tylko to co Ty chcesz zrobić w 20ms obecne procesory zrobią w 0,2ms z łatwością i to nawet jakbyś wybrał "najbardziej nieoptymalną formę" i skompilował ją najgorszym kompilatorem. Problem natomiast jest inny - standardowy windows...
Cześć, Piszę kod w C z funkcją w assemblerze,gdzie chcę użyć timera. Problem w tym,że nie mogę wejść do przerwania po uzyskaniu porównania z OCR0. Chodzi o adres wektora przerwania.Jak dołączam plik m16def.inc to mam szereg błędów. #include <avr/io.h> .equOC0addr =$026 .global pwm .org OC0addr: ldi r17,0 out _SFR_IO_ADDR(TCCR0),r17...
Kiedyś zrobiłem coś takiego dla s1200, 2313 itp. Jak chcesz to sobie przerób. Program odmierza czas, a po jego upłynięciu zaczyna migać żarówką (np wyłącza ją na 1s, potem zapala na 10s i tak 3 razy), a na koniec gasi żarówkę. Program nie jest jakoś super napisany, ale z tego co pamiętam działał. Do asemblacji radziłbym użyć oryginalnego assemblera...
Taki projekt na zimowe wieczory - by nadal być aktywnym intelektualnie w drugiej połówce życia, a jednocześnie nie pchać się w tym temacie w poważną naukę i zawodowstwo. W elektronice praktycznej nie siedzę od bardzo dawna - tyle, że znam podstawy. Zastosowanie: Chcę w domu i okolicy umieścić trochę czujników. Różnych - od zamknięcia drzwi i okien,...
Witam. Właśnie staram się zrobić mysz komputerową na atmedze 32 za pomocą biblioteki V-USB. Program testowałem na płytce rozwojowej z kwarcem 16MHz, atmegą 32 i wszystko działało. Po przeniesieniu się na moją płytkę z kwarcem 12MHz i przekopiowaniu kodu, na wyjściach D+ i D- mikrokontrolera nic się nie pojawia, D- stan wysoki, D+ niski. Oczywiście zmieniłem...
Witam serdecznie! Za zadanie postawiłem sobie wysterowanie LCD 2x16 Hitachi procesorem PIC16F877A w trybie 4-bitowym, program musi być w assemblerze, po ciężkich próbach udało się go wreszcie zainicjalizować, jednakże program operuje na zatrzaskiwaniu poszczególnych wartości do linii E, zgodnie z dokumentacją hitachi, przez co to stał się on mało przejrzysty...
https://obrazki.elektroda.pl/3753373600_... Mikrokontrolery, zwłaszcza ośmiobitowe, wydają się być generalnie łatwymi w użyciu układami. Mamy bowiem do dyspozycji prosty komputer i garść zwykle mało skomplikowanych peryferiów. Wystarczy napisać odpowiedni program i tyle. Ale nawet te proste z natury układy mają funkcje i możliwości,...
assembler darmowy assembler klawisz sleep sleep telewizor
świateł focus szybkozłączka pneumatyczna vectra błędy komputera
galmet wyswietlacz galmet wyswietlacz
Wymiary pasków do Technics RS-EH600 Problemy z diodą klawisza dźwięku w Lenovo