disable interrupts

Znaleziono około 1144 wyników dla: disable interrupts
  • [atmega8][bascom] 7seg LED sterowanie z PORTB i PoC <<

    Disable Interrupts 1wreset Enable Interrupts Disable Interrupts 1wwrite &HCC Enable Interrupts Disable Interrupts 1wwrite &H44 Enable Interrupts Waitms 750 'czas konwersji 750 ms Disable Interrupts 1wreset Enable Interrupts Disable Interrupts 1wwrite &HCC Enable Interrupts Disable Interrupts 1wwrite &HBE Enable Interrupts Najgorzej to z tym: T(1)...

    Mikrokontrolery AVR   02 Lut 2009 21:18 Odpowiedzi: 18    Wyświetleń: 6654
  • Bascom - ds18b20 , przerwanie := reset i dziwny pomiar

    Najprościej - przed komunikacją z termometrem daj Disable Interrupts, a po komunikacji Enable Interrupts.

    Mikrokontrolery Początkujący   28 Cze 2013 22:50 Odpowiedzi: 10    Wyświetleń: 2109
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Bascom AVR, Atmega16 - Disable Interrupts, Disable Int0/1

    To o co pytasz nie zależy od Bascoma, tylko od architektury procesora. AVRy po przyjęciu przerwania blokują wszystkie przerwania (z wyjątkiem XMEGA, które mają przerwania wielopoziomowe i NMI). Tak więc sam nigdy nie musisz w handlerze przerwania ich blokować. Pytanie, kiedy je odblokowywać przed zakończeniem obsługi. W kilku sytuacjach, np.: 1. Kiedy...

    Mikrokontrolery Początkujący   02 Wrz 2012 21:06 Odpowiedzi: 1    Wyświetleń: 1395
  • REKLAMA
  • Dlaczego Atmega 328p nie resetuje się przez Watchdog w BASCOM?

    A czy to też nie działa : Config Watchdog = 16 Start Watchdog Disable Interrupts być może Bascom odblokowuje przerwania w starcie watchdoga?

    Mikrokontrolery AVR   06 Sty 2012 23:10 Odpowiedzi: 16    Wyświetleń: 4314
  • [Atmega8] [Atmega8][Bascom] Optymalizacja kodu menu w komputerku samochodowym

    Żeby być pewnym na 100% to jak odczytać temperaturę z 2 czujników DS18B20? pierwszy czujnik: 1wreset 1wwrite &H55 1wverify ID pierwszego układu 1wwrite &HBE odczekać czas na pomiar temperatura1 = 1wread(2) drugi czujnik 1wreset 1wwrite &H55 1wverify ID drugiego układu 1wwrite &HBE odczekać czas na pomiar temperatura2 = 1wread(2) Czy coś jeszcze trzeba?...

    Mikrokontrolery AVR   30 Sie 2011 22:59 Odpowiedzi: 26    Wyświetleń: 3339
  • Jak skonfigurować SPI w Bascom AVR dla komunikacji Atmega8?

    ...Dałem polecenie debounce i powinno zwiększyć zmienną o 1 i poczekać do puszczenia przycisku, ale nawet szybkie naciśnięcie zwiększa zmienną o kilkadziesiąt jednostek. Może chodzi o przerwania? Może to być "sprawka" przerywań, proponuję na początek: [syntax=basic4gl]Klik: Disable interrupts Incr Bsend If Bsend = 100 Then Bsend = 0 Enable Interrupts...

    Mikrokontrolery Początkujący   14 Maj 2013 21:53 Odpowiedzi: 71    Wyświetleń: 13824
  • Prosty program do napisania brama wjazdowa...Bascom

    $regfile = "m8def.dat" Config Pind.6 = Input Config Pinb.5 = Output Config Pinc.0 = Output Config Int0 = low level Config Int1 = low level Dim A As Byte A = 0 Declare Sub Lewo Declare Sub Prawo Declare Sub Zatrzymaj1 Declare Sub Zatrzymaj2 Radio Alias Pind.6 Enable Interrupts ' zezwolenie na obsługę przerwań Enable Int0 Enable Int1 On Int0...

    Mikrokontrolery Początkujący   11 Cze 2014 10:53 Odpowiedzi: 72    Wyświetleń: 11474
  • Attinny i klawiatura. Poprawny program? Jak to zrobić inaczej?

    ...Napisalem sobie taki program: To go szybko usuń z dysku i zapomnij że wogóle takie coś napisałeś :( Config Portb = &B00101010 Portb = &B00101010 Dim K As String * 1 Dim B As String * 1 Getkey: Do Disable Interrupts If Pinb.2 = 1 And Pinb.3 = 1 Then Po co sprawdzasz czy Pinb.3=1 , skoro sam ustawiłeś na nim wysoki stan :?: I dalej.Pinb.2...

    Mikrokontrolery   29 Lis 2006 19:20 Odpowiedzi: 14    Wyświetleń: 1670
  • REKLAMA
  • Co wpływa na szybkość wykonywania programu - czego unikać?

    Na początek: Sub Obliczenia_temp() '---------------------------------------... ' BLOK 1 - rozpoczecie pomiaru i konwesja temperatury '---------------------------------------... If Flaga_ds1 = 1 Then Flaga_ds1 = 0 Disable Interrupts ' wyłaczam przerwanie na czas wysyłania 1wreset 1wwrite &HCC ' odczyt z pominieciem identyfikacji...

    Mikrokontrolery   12 Cze 2011 18:36 Odpowiedzi: 34    Wyświetleń: 5028
  • [ATmega32][Bascom] Zegarek na PCF8583 i nastawianie czasu

    Spróbuj tak: Menu: Disable Int0 Disable Int1 Enable Interrupts Cls

    Mikrokontrolery AVR   10 Mar 2010 20:26 Odpowiedzi: 11    Wyświetleń: 3811
  • Jak utworzyć niestandardowy sterownik dla OpenBeken za pomocą kompilacji online

    Przeniosłem zalecenie (at)insmod do OBK, ale nie podłączyłem jeszcze kodu "disable interrupts". Nie jest on nigdzie podlinkowany, ale kompiluje się: https://github.com/openshwprojects/OpenB... Oczywiście to nic nie znaczy, to ledwie najprostszy krok, ale przynajmniej kod jest.

    Smart Home Poradniki   16 Lis 2024 15:40 Odpowiedzi: 142    Wyświetleń: 7476
  • [BASCOM] Jak wyeliminować migotanie wyświetlacza LED w termometrze BASCOM?

    A spróbuj tak: [syntax=basic4gl] ' Fuse bity ustawione fabrycznie $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output 'sterowanie segmentów LED Config Portd = Output 'sterowanie segmentów LED Config 1wire = Portc.5 Anoda1 Alias Portc.1 ' Lewy wyświetlacz Anoda2 Alias Portc.2 Anoda3 Alias Portc.3 Dim Nr_wysw As Byte Dim Liczba As Long Dim...

    Mikrokontrolery   11 Lut 2013 10:10 Odpowiedzi: 46    Wyświetleń: 8521
  • Atmega8/Bascom - Problem z kodem multipleksowania LED i termometru DS18B20

    Ja bym dał Disable Interrupts i Enable Interrupts pomiędzy wszystkimi operacjami 1Wire: [syntax=basic4gl]Sub Inicjowanie_ds: Disable Interrupts 1wreset Enable Interrupts Disable Interrupts 1wwrite &HCC ' &H CC skip rom Enable Interrupts Disable Interrupts 1wwrite &H44 ' &H 44 convert T Enable Interrupts End Sub[/syntax]

    Mikrokontrolery Początkujący   31 Lip 2014 12:09 Odpowiedzi: 18    Wyświetleń: 3471
  • REKLAMA
  • tiny2313 - termometr led ds1820 raz działa raz nie działa

    Na początek każdą instrukcję od 1Wire obuduj takim czymś: [syntax=basic4gl] Disable Interrupts 1wreset 'Reset magistrali 1wire. Enable Interrupts Disable Interrupts 1wwrite &HCC Enable Interrupts ...[/syntax]

    Mikrokontrolery AVR   10 Mar 2013 17:24 Odpowiedzi: 12    Wyświetleń: 1815
  • Jak napisać program na ATmega8? Początkujący, Bascom, C, ASM

    Czyli jest maly postęp. Sprubujmy takiej przeróbki: Pob_rc5: Disable Int0 Disable Timer1 Enable Interrupts Getrc5(address , Command) Enable Timer1 Command = Command And &B01111111 Set Odebrany_kod Return Ciekawe co zrobi. Chyba że jest błąd w książce.

    Mikrokontrolery   26 Sty 2008 11:26 Odpowiedzi: 142    Wyświetleń: 22250
  • [Atmega32][Bascom] - Odtwarzacz *.wav z panelem dotykowym.

    Zapomniałeś jeszcze o tym: [syntax=basic4gl]100ms: Disable Timer0 '<-To Enable Interrupts ... ... ... Disable Interrupts Enable Timer0 '<-To[/syntax]

    Mikrokontrolery Początkujący   12 Paź 2012 18:37 Odpowiedzi: 34    Wyświetleń: 4917
  • [atmega][bascom] Atmega 128 i rc5 na int4.Czy ma prawo działać?

    Powiem Ci, że nie wiem po co tak ma być, ale podam Ci mój kod. [syntax=basic4gl]Rc5get: Disable Int0 Enable Interrupts Set Rc5flag Return[/syntax] Zamiast ustawiania flagi można dać odbiór kodu. Ale ja wolę to robić w pętli. Nie wiem tylko po co to Enable Interrupts skoro jest ustawione na początku programu, ale bez tego nie działa.

    Mikrokontrolery AVR   12 Lis 2011 17:24 Odpowiedzi: 7    Wyświetleń: 3181
  • Atmega128 - Bascom: Błędy wyświetlania na LCD 128x64, jak je naprawić?

    Dziwna sprawa. Okazało się, że winne błędom wyświetlania było przerwanie od timer3, ale co bardzo dziwne, wyłączenie (na czas wyświetlania) przerwań poprzez DISABLE/ENABLE INTERRUPTS nie pomaga, a wyłączenie przez DISABLE/ENABLE TIMER3 - pomaga. Czyli jak to - DISABLE INTERRUPTS nie działa ? A może - nie działa "od razu", czy jak ? Bardzo to dziwne.

    Mikrokontrolery AVR   22 Gru 2013 01:39 Odpowiedzi: 8    Wyświetleń: 3273
  • Sterownik Tech AG Lux (Defro) - Protokół komunikacyjny

    No walczę z tym wysyłaniem danych i zero efektów. Przykładowa ramka wysyłana: 0226FFF41B66008002185719 for (int i = 0; i < 12; i++) { size_t ret = writeByte(aa[i]); } #define WAIT { while (ESP.getCycleCount()-start < wait); wait += bitTime; } size_t writeByte(uint8_t b) { // Disable interrupts in order to get a clean transmit cli(); unsigned long...

    Systemy Grzewcze Użytkowy   08 Maj 2025 16:46 Odpowiedzi: 357    Wyświetleń: 128856
  • [ATMEGA8] [ATMEGA8][BASCOM] Integracja zegara, 18B20 i A/C - problemy z działaniem razem

    Na początku procedury przetwornika dodałem Disable Interrupts, a na końcu Enable Interrupts jednak nic to nie zmienia dalej zegar się zatrzymuje.

    Mikrokontrolery AVR   07 Cze 2008 10:23 Odpowiedzi: 5    Wyświetleń: 4268
  • [Atmega128] [Bascom] - Obsługa błędów I2C przy zapisie do eeprom

    Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Zapis nie jest w pętli, struktura programu wygląda tak: Skoro na magistrali nie ma innego mastera to należałoby wysłać ponowny warunek startu....

    Mikrokontrolery AVR   20 Lis 2013 09:15 Odpowiedzi: 7    Wyświetleń: 2208
  • [Bascom] Jak w Bascom wykonywać wiele czynności jednocześnie w sterowniku?

    To ja dodam że na trochę większym procesorze, powiedzmy ATMega8, można spokojnie odpalić z 10 niezależnych wątków. W BASCOMie!!! PS. Więcej jak i mniej również, ale 10 to taka optymalna liczba powiedzmy. Ale taka wielowątkowość nakłada pewnie ograniczenia. Najlepiej nie używać przerwań, oraz nie używać pinów bezpośrednio za pomocą instrukcji In, Out....

    Mikrokontrolery   10 Kwi 2009 19:29 Odpowiedzi: 7    Wyświetleń: 2808
  • Attiny2313 - jak poprawnie obsłużyć przerwania w Bascom?

    W kwestii formalnej: Adding: Disable Interrupts tutaj disable interrupts Sobie daruj... i tak nic nie zmienia... Teraz tak, nie obrażaj Pan bascoma bo na nim robią ludzie na prawdę poważne projekty... a to jest żart a nie projekt :) Dalej, nie pisałeś nigdzie jakim poziomem sterujesz przycisk, masz gdzieś usuwanie drgań sprzętowe? Jak nie to zrób softwareowe.......

    Mikrokontrolery   31 Mar 2008 19:54 Odpowiedzi: 24    Wyświetleń: 2343
  • [attiny2313] [bascom] Brak reakcji na przyciski int0 i int1, co robię źle?

    Witam Podlaczylem dwa microswiche do Int0 i int1 i masy i probuje taki programik na zwiekasznie i zmniejszanie zmiennej, lecz procesor nie reaguje na przyciski, dlaczego? $regfile = "2313def.dat" $crystal = 8000000 Dim Z As Byte Config Int1 = Low Level Config Int0 = Low Level Config Lcd = 16 * 1a ' konfiguacja wyświetlacza Lcd Enable Interrupts...

    Mikrokontrolery AVR   30 Mar 2009 07:23 Odpowiedzi: 7    Wyświetleń: 4222
  • [atmega8][Bascom] Zewnętrzne przerwania uniemożliwiają komunikację przez I2C

    Rzuciłem okien na kod i nie znalazłem w procedurze wyświeltlania po I2C "DISABLE INTERRUPTS". Powinno pomóc. Możesz też wyłączać tylko INT0 lub INT1. Pamiętaj tylko by je potem włączyć po zakończeniu wyświetlania ("ENABLE INTERRUPTS").

    Mikrokontrolery AVR   18 Kwi 2012 21:48 Odpowiedzi: 10    Wyświetleń: 3650
  • Termoregulator akwariowy

    Niestety tak drastyczne zmniejszenie częstotliwości multipleksowania powoduje migotanie o wiele gorsze. Trzeba chyba podzielić obecny odczyt na części aby czas ich wykonania zmieścił się w 4ms Jest już lepiej ale stratę tej 1ms da się jeszcze zauważyć. Ale pomysłu na dalszy podział już nie mam. Można jeszcze podzielić na elementarne podkomendy ale...

    DIY Konstrukcje   16 Sty 2012 16:15 Odpowiedzi: 33    Wyświetleń: 15335
  • Atmega16 DS18b20: Pulsujący LCD, błąd StoreBit, optymalizacja kodu Bascom

    Poprawiłem obliczenia pojedynczej cyfry lecz w zaznaczonej linijce w pierwszym okienku z fragmentem kodu wykrzyknikami, pojawia się błąd i nie wiem dlaczego zmienna Znak jest zdeklarowana w ten sposób: Dim Znak as Bit a pojawia się komunikat: error:105 StoreBit error [0] A co z tymi przerwaniami bo do końca nie mogę tego złapać są tak jak powinny być...

    Mikrokontrolery AVR   08 Lut 2010 15:10 Odpowiedzi: 11    Wyświetleń: 3054
  • AVR Boot Loader - który ładnie i szybko działa / USB

    Znaczy tak: Dim Linia As Byte If Ucase(linia) = "AT+RST?" Then Disable Interrupts Config Watchdog = 16 Start Watchdog Do Loop End If

    DIY Konstrukcje   24 Sty 2017 17:21 Odpowiedzi: 252    Wyświetleń: 114693
  • Jak zmierzyć czas na ATmega32 z kwarcem 4MHz i wyświetlić na LCD?

    noga 16 procka: rezystor 4,7kilooma do zasilania, guzik do masy noga 17 to samo. do programu dopisz na początku po deklaracjach zmiennych: Enable Interrupts Enable Int0 Enable int1 On Int0 ustaw on int1 zeruj na końcu wstaw: ustaw: Disable Interrupts ht = h mt = m st =s t = 1 Waitms 200 Enable Interrupts Return zeruj: Disable Interrupts ht =...

    Mikrokontrolery   30 Sie 2007 12:47 Odpowiedzi: 12    Wyświetleń: 2994
  • Atmega, zapis liczby 16bit procesor 8bit i przerwanie - konflikt

    Zastanawiam się, jak się odbywa zapis zmiennej 16 bitowej w procesorze 8 bitowym. Najpewniej najpierw przepisywana jest pierwsza połowa, następnie druga. A czy możliwe jest, żeby jeśli przerwanie wystąpi równo w tym momencie i będzie chciało odczytać wartość tej zmiennej to odczyta pierwszą połowę nową, a drugą starą? czyli jeśli a=0000 zmieniam na...

    Mikrokontrolery AVR   24 Paź 2017 14:40 Odpowiedzi: 1    Wyświetleń: 801
  • Brak rezystora 1,5k na płytce STM32F103 USB - gdzie go szukać?

    3. Nie trzeba modyfikować płytki w celu uzyskania efektu odłączenia USB. Wystarczy zaprogramować linię D+ jako wyjście GPIO i podać stan 0 (wyłączając USB), a potem z powrotem włączyć USB (odcinając w ten sposób funkcję GPIO). Dyskusję na ten temat znajdziesz na stm32duino.com. W ten chyba właśnie sposób V-USB działa na AVR, z tą różnicą, że na D-...

    Mikrokontrolery ARM   18 Kwi 2018 09:59 Odpowiedzi: 13    Wyświetleń: 2559
  • [bascom][attiny2313][ds18b20][7seg] wyswietlanie temp

    Wyłączyłeś przerwania za pomocą disable interrupts, a włączyłeś je jakoś później ? Zadeklarowałeś timer na początku programu i co dalej z nim ? Wykorzystujesz go jakoś ? Dajesz jakieś opóźnienie dla czujnika temperatury ? Samo przełączanie zmiennej chyba nie wystarczy. Domyślam się, ze chciałeś użyć timera do tego ?

    Mikrokontrolery AVR   13 Mar 2011 10:24 Odpowiedzi: 7    Wyświetleń: 2932
  • [Atmega328] Atmega328 Timer2 - Zapis na SD co 2 minuty działa zbyt szybko

    Disable Interrupts Call Gettime Enable Interrupts Jeżeli funkcja Gettime trwa zbyt długo to gubisz przerwania od timera. Jak zmieniłeś preskaler, to masz przerwania co 8ms i pewnie już się wyrabia. Co takiego robi w Bascom Gettime, że trzeba wyłączać przerwania?

    Mikrokontrolery AVR   01 Gru 2011 15:00 Odpowiedzi: 26    Wyświetleń: 2267
  • STM32F2xx - Własny bootloader czy wbudowany do aktualizacji przez USART?

    w jaki sposób wykonuje się skok do pamięci bootloader'a? Na przykład tak (niezbyt elegancko...): Befor jumping to Bootloader user must : • Disable all peripheral clocks • Disable used PLL • Disable interrupts • Clear pending interrupts

    Mikrokontrolery ARM   20 Paź 2014 12:50 Odpowiedzi: 3    Wyświetleń: 1407
  • [atmega8] LCD 16x1 przestaje działać po 20h - co może być przyczyną?

    Może być że przerwanie od Timera pojawia się podczas wpisywania czegoś na wyświetlacz w związku z czym do lcd wysyłane są błędne dane. Możesz spróbować dać przed każdym wywołanie "LCD ... " dać DISABLE INTERRUPTS a zaraz po "LCD..." ENABLE INTERRUPTS po to aby wyłączyć przerwania tuż przed wysłaniem danych do LCD.

    Mikrokontrolery AVR   13 Lis 2011 19:05 Odpowiedzi: 16    Wyświetleń: 2837
  • ATmega8515: Przerwania Timer0 nie działają w Bascom AVR - co poprawić w kodzie?

    ZbeeGin wielkie dzięki. Teraz dziala. Jak stosuje Stop i Start timer to rzeczywiście wpisuje inną wartość do TCCR0. Ale wystarczą mi enable i disable interrupts. Ciekawe czy Mark zareaguje coś na ten bląd. Wczoraj zainstalowalem najnowszą wersję Bascom AVR 1.11.9.2 i blad w tej wersji tez występuje.

    Mikrokontrolery   20 Sie 2008 08:29 Odpowiedzi: 14    Wyświetleń: 1297
  • STM32F103 - Programowy Bootloader -> Idea działania, skrypty linkera

    Na ARM Info center znalazłem tylko coś takiego: Operation CPS changes the PRIMASK and FAULTMASK special register values. See Exception mask registers for more information about these registers. Restrictions The restrictions are: use CPS only from privileged software, it has no effect if used in unprivileged software CPS cannot be conditional and so...

    Mikrokontrolery ARM   16 Mar 2013 10:42 Odpowiedzi: 28    Wyświetleń: 6327
  • Dokładność kwarcu - jednoprzewodowa transmisja między uc

    Mam taki program w obu mikroprocesorach różniący się jedynie tym, że jeden z nich na początku ma włączony globalne przerwania a drugi nie. Dodatkowo PORTD.0 (RXD) jest zwarty z PORTD.1 (TXD) w obu uc i połączony jednym przewodem. $regfile = "m8def.dat" $crystal = 8000000 $baud = 38400 Config Portc = Output Portc = 0 Config Portb = Output Portb...

    Mikrokontrolery AVR   30 Sty 2010 19:22 Odpowiedzi: 62    Wyświetleń: 5098
  • [Atmega8][Bascom]Migotanie wyświetlacza przy zapisie do eeprom

    Udało się rozwiązać problem :) Zrobiłem to tak: [syntax=basic4gl]If Autoret > 0 Then Ust = 1 Decr Autoret If Autoret = 0 Then Gosub Zapis End If Else Ust = 0 End If[/syntax] [syntax=basic4gl]Zapis: Disable Interrupts Writeeeprom Tu , 35 Portd = &B11111111 Waitms 200 Enable Interrupts Return[/syntax]

    Mikrokontrolery AVR   30 Paź 2011 14:06 Odpowiedzi: 11    Wyświetleń: 1965
  • [Atmega8][Bascom] Włączanie\wyłączanie urządzeń na pilot rc5

    $regfile = "m8def.dat" $crystal = 1000000 Config Pinc.0 = Output Config Pinc.5 = Output Dioda1 Alias Portc.0 Dioda2 Alias Portc.5 Config Int1 = Low Level Config Rc5 = Pind.2 On Int1 Przzew0 Dim Komenda As Byte , Adres As Byte Dim Odebrano As Bit Enable Interrupts Enable Int1 Do If Odebrano = 1 Then If Adres = 0 Then 'pilot o adresie 0 toggle...

    Mikrokontrolery AVR   11 Cze 2009 11:54 Odpowiedzi: 11    Wyświetleń: 5171
  • [atmega32][bascom] - Program do sterownika pieca CO (sprawdzenie)

    Coś świruje mi odczyt temperatury na T2. Co chwile weryfikacja jest niepoprawna. wiec widzę ze nie ma odczytu i spadek temp o połowę. Dodano po 2 Naprawione ;) Po zwiększeniu ilości przerwań i czasu co ile jest wywoływane natrafiało ono na odczyt temperatury. Disable interrupts podczas pomiaru i przeliczeń i jest już dobrze ;) Chyba, że jest jakiś inny...

    Mikrokontrolery AVR   03 Paź 2015 22:18 Odpowiedzi: 10    Wyświetleń: 2523
  • ATmega8 – pomiar częstotliwości do 3,2MHz za pomocą Timer1 i Timer2, brak przerwań

    Radziłbym także zastosować się do prawidłowego pobierania wartości z TCNT1. W dokumentacji jest zalecane: unsigned int TIM16_ReadTCNT1( void ) { unsigned char sreg; unsigned int i; /* Save Global Interrupt Flag */ sreg = SREG; /* Disable interrupts */ _CLI(); /* Read TCNT1 into i */ i = TCNT1; /* Restore Global Interrupt Flag */...

    Mikrokontrolery AVR   20 Lut 2015 13:14 Odpowiedzi: 15    Wyświetleń: 2274
  • [BASCOM] Obsługa zgrzewarki - sterowanie triakiem za pomocą Atmega8 i układów CNY17

    Dorzucam wersję z porządnym debouncingiem. Ten z BASCOMa jest zbyt uproszczony i nie nadaje się do profesjonalnych zastosowań. Po wciśnięciu jednego przycisku naciśnięcia innych przycisków są ignorowane do czasu puszczenia tego pierwszego. Zauważ autorze, że nie ma już nigdzie w kodzie czekania na cokolwiek (brak wywołań funkcji WaitMs()). Wszystko...

    Mikrokontrolery Początkujący   04 Lip 2022 10:26 Odpowiedzi: 46    Wyświetleń: 2430
  • Atmega2560: Niepoprawne wartości z Timer1 w przerwaniu INT0 - jak to naprawić?

    Dzień dobry Od dwóch dni walczę z obsługą TIMERA1 na Atmega2560 w przerwaniu external INT0. Na wejściu INT0 mierzę krótkie pakiety danych, cały jeden pakiet ma ok 8ms, gdzie najkrótszy bit ma ok. 40us Timer1 mam ustawiony na preskaler 8 (2Mhz), wejście INT0 mam ustawione na zbocze "Any" liczenie zaczynam od TIMERA1 = 0 W przerwaniu INT0 pobieram aktualną...

    Mikrokontrolery Początkujący   20 Lis 2024 11:19 Odpowiedzi: 5    Wyświetleń: 153
  • Dokładność DS18B20. Temperatura jest zaniżana. Kod programu jest ok?

    A ja się tak dalej zastanawiam i zasugeruje Ci też inny sposób sprawdzenia. Tu będziesz miał możliwość porównania dokładności obliczeń na danych. Spróbuj może tak: Zamiast kodu: Sub Termo Disable Interrupts 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Makeint(odczyt(1) , Odczyt(2)) If T...

    Mikrokontrolery   05 Sty 2007 07:45 Odpowiedzi: 21    Wyświetleń: 4639
  • Bascom, DS18B20 – jak zastąpić waitms 750 obsługą Timer0 przy odczycie temperatury

    Witam, moim zdaniem to tylko przypadek, że nie zauważyłeś błędu i wydaje Ci się że program działa poprawnie, może za krótko obserwowałeś? Uważam (jak wykazały moje perypetie z DS'ami) że, dopiero zablokowanie wywołania przerwania, a można użyć Stop lub Disable, gwarantuje poprawność każdego odczytu z DS'a, o ile nie ma zakłóceń na przewodach. Tak jak...

    Mikrokontrolery   04 Kwi 2010 21:36 Odpowiedzi: 26    Wyświetleń: 4846
  • Atmega8, DS1820 i UART - konflikt przy jednoczesnym użyciu 1-wire i UART

    Myślę,że na elektrodzie z 90% przykładowych kodów do obsługi ds18x20 pod bascoma korzysta z waitms. Niezależnie od ilości czujników. Sam mam urządzenie do opomiarowania kotła CO w którym jest 5 dsów, transmisja przez sprzętowy uart z sim300 i przez programowy uart z btm222. Wykorzystuję tam też dwa timery do obsługi alarmów i podświetlenia lcd, a w...

    Mikrokontrolery AVR   07 Mar 2011 08:18 Odpowiedzi: 8    Wyświetleń: 2847
  • [BASCOM] ATmega644PA-AU - dziwne zachowanie przy $crystal=12000000 w BASCOM

    A dlaczego na próbę nie ustawisz tego Timeta0 na wartość np. 128? Czyli mniejszą niż 1023 jak i mniejszą niż 255. Żebyś miał prościej, gotowiec: [syntax=vbnet]Co_jakis_czas: 'definiujemy procedurę odmierzającą mniej więcej 4s 'i wywołującą odpowiednie funkcje Stop Timer0 'Disable Interrupts 'to ma byc zakomentowane bo i tak w tym miejscu nie ma sensu...

    Mikrokontrolery AVR   15 Cze 2016 13:08 Odpowiedzi: 29    Wyświetleń: 1065
  • Jak ustawić wyższy priorytet przerwania INT w Bascom na AVR?

    smalski->O priorytecie przerwań w AVR-ach , można powiedziec tak , że im niższy(mniejszy) adres wektora , tym wyższy priorytet posiada dane przerwanie. Celetron-> Żeby zablokować wszystkie przerwania na czas wykonywania przerwania od np.T1 trzeba postąpić jak poniżej: On Timer1 EtykietaT1 , NOSAVE ... EtykietaT1: Disable Interrupts 'co kompilator...

    Mikrokontrolery   25 Lis 2004 15:39 Odpowiedzi: 4    Wyświetleń: 2046
  • [ATtiny2313] Jak ograniczyć zakres PWM w ATtiny2313 do 0-100 w Bascom?

    Jeżeli chcesz wyłączyć wszystko to wyłącz całe zasilanie zwykłym wyłącznikiem , jeżeli chcesz użyć do tego procesora , to po naciśnięciu przycisku robisz pwm=0 i może do tego disable interrupts . Procesor leci cały czas w krótkiej pętli i sprawdza czy przycisk został powtórnie naciśnięty , ale wtedy musi mieć cały czas zasilanie. Jest jeszcze chyba...

    Mikrokontrolery AVR   24 Paź 2012 18:20 Odpowiedzi: 22    Wyświetleń: 4406
  • [atmega32] [atmega32][Bascom] Niezgodność czasu z kwarcem 16 MHz i problem z fusebitami

    Przecież pisałem ci aby Getrc5 dać w przerwaniu, eeeh, no kolego - weź no użyj troszkę szukajki na elektrodzie chociażby. Int1_rc5: Disable Int1 Enable Interrupts If Ir_flag = 0 Then Getrc5(address , Command) Ir_flag = 1 End If Return a potem w pętli głównej: Do if Ir_flag = 1 then Ir_flag = 0 If Address < 255 then ..... tutaj dalej obrabiasz...

    Mikrokontrolery AVR   31 Gru 2008 01:56 Odpowiedzi: 29    Wyświetleń: 2823
  • Jak zmierzyć wypełnienie impulsu w Bascomie? Szukam przykładowego kodu

    I może troche głupie pytanie ale myśle nad tym już troche czasu i nic nie moge wymyślić a dokładniej jak procerura Do 'set up a 1 sec accurate DO NOTHING loop Enable Interrupts 'wait 1 as per BASCOM-51 is not accurate For Delayword = 1 To 45440 Next Delayword Disable Interrupts dla mikrokontrolera AT89C2051 z kwarcem 24MHz odlicza dokładnie 1 sekunde?Znalazłem...

    Mikrokontrolery   24 Sty 2014 19:22 Odpowiedzi: 8    Wyświetleń: 2713
  • [C] - Funkcje nieblokujące zależne czasowo, maszyny stanów, RTOS

    W zasadzie kodu takiego, co bez przeróbek zadziała to nie mam - każdy fragment ma różne zależności zdefiniowane w innych plikach/procedurach. Ale dla przykładu mogę wrzucić jedną prostą maszynę stanów - część rzeczy można wykomentować, stworzyć jakieś swoje fikcyjne zmienne, itp... [syntax=c] //======================================...

    Mikrokontrolery   20 Sie 2014 12:07 Odpowiedzi: 77    Wyświetleń: 11694
  • [FAT] - Podkatalogi na karcie SD - obsługa, wyszukiwanie plików , itp

    [syntax=c] //======================================... case 2: // wygenerowanie liczby slownej odp. dz. tysiecy //--------------------------------------... DISABLE_INTERRUPTS; // disable interrupts (atomic access) WAVE_FileBytesCtr = WAVE_FileSize; //koniec odtwarzania pliku...

    Mikrokontrolery   21 Maj 2014 12:34 Odpowiedzi: 38    Wyświetleń: 3675
  • Jak parsować odpowiedź JSON w Bascom? Przykład kodu i zmienne.

    Oczywiście wszystkie przerwania maja wpływ na programowy UART. Nie wiem co Ci tam przeszkadza. Już chociażby buforowany UART jest na przerwaniach. Kiedy więc ESP jeszcze coś tam dosyła to już może bruździć. Jeśli Ci na tych dosyłanych potem danych nie zależy to możesz, zamiast globalnego Disable Interrupts, wyłączać poszczególne przerwania aż dojdziesz...

    Mikrokontrolery   08 Cze 2017 13:27 Odpowiedzi: 8    Wyświetleń: 1170
  • ATMEGA8 BASCOM nie działa poprawnie przerwanie INT0

    Witam Zasiadłem do BASCOMa AVR i poczyniłem zawiły ale zadowalajacy (jak na to srodowisko) soft dla atmega8, wszystko byloby ok gdyby nie mały problem z obsługą przerwania... mianowicie, na jedno z wejść tj. INT0 podaje przebieg prostokątny, okres 20ms, w aplikacji wymagane jest aby w chwili gdy wystąpi zbocze opadające owego przebiegu (dopiero od pewnego...

    Mikrokontrolery AVR   19 Lut 2010 21:54 Odpowiedzi: 7    Wyświetleń: 5129
  • Jak zredukować opóźnienia w Arduino z OLED i Modbus RTU?

    Na przerwaniach zewnętrznych będzie enkoder i to wiem jak wykonać, a jak zrobić Jeżeli użyjesz funkcji millis() w pętli loop(), to pamiętaj że funkcja ta blokuje na chwilę przerwania w trakcie swojego działania. Zbyt duża częstotliwość jej użycia w pętli loop() może spowodować zakłócenia w odczycie enkodera. [syntax=c] unsigned long millis() { unsigned...

    Arduino   07 Cze 2019 10:55 Odpowiedzi: 24    Wyświetleń: 1176
  • Jak połączyć multipleksowanie LED na ATMEGA32 z odczytem DS18B20 w Bascom AVR?

    Ja również miałem problem z multiplesowaniem wyświetlaczy i jednoczesnym odczytem 1wire. Pomysł z wyłaczeniem przerwań od timera na czas transmisji 1wire okazał się prawidłowy. Ponieważ w trakcie pomiaru świeci się jeden wyświetlacz aby efekt był nie zauważalny możemy dokonywać pomiaru temeperatury rzadziej. Oto mój programik : $regfile = "m8def.dat"...

    Mikrokontrolery   10 Paź 2008 22:18 Odpowiedzi: 34    Wyświetleń: 10463
  • Bascom - Zerowanie zmiennej Licznik po operacjach ADC, jak temu zapobiec?

    Nie ma problemu! Na następny raz: 1. Wstaw "loop" wcześniej w kodzie - w ten sposób zawęzisz krąg poszukiwań, 2. Zaremuj wszystko to, co nie jest konieczne - watchdogi, timery itp. 3. Wyłącz przerwania (cli lub disable interrupts), 4. Zawężaj program do procedur które nie działają, a po rozwiązaniu problemu dopisuj resztę, za każdym razem testując działanie...

    Mikrokontrolery AVR   21 Sty 2014 06:41 Odpowiedzi: 10    Wyświetleń: 2172
  • AT89S51 i LCD 2x16 - migające punkty zamiast tekstu Hello World

    A mi się tak coś wydaje, że BASCOM potrzebuje polecenia END, aby działał poprawnie - inaczej nie wiadomo do czego jest zdolny :) Zgadzam się z Tobą - wydaje Ci się :D Instrukcja END , jest odpowiednikiem takich instrukcji: ---- Basic ---- Disable Interrupts End: Goto End --- lub w assemblerze --- Cli End: Rjmp End Nie radzę więc nikomu , by...

    Mikrokontrolery   06 Mar 2007 17:33 Odpowiedzi: 21    Wyświetleń: 3210
  • [ATMEGA8] ATMEGA8 BASCOM – Odbiór kodów RC5 w pętli głównej działa, w INT0 zawsze 255

    Tak się zastanawiam, czy to nie powinno działać?: [syntax=basic4gl]Rc5: Disable Int0 ' wyłącz przerwanie INT0 Gifr.intf0 = 1 ' skasuj żądanie przerwania z INT0, UWAGA!!! to nie jest błąd, żeby zgasić ten bit należy wpisać 1 Enable Interrupts ' SEI Getrc5(adres , Kod) If Adres = 0 Then Kod = Kod And &B01111111 End If Set Flaga Disable Interrupts ' CLI...

    Mikrokontrolery AVR   18 Sty 2012 23:55 Odpowiedzi: 12    Wyświetleń: 6205
  • Najprostrzy program wykorzystujacy Timer0 w Atmega32

    Zamieszczam przyklad programu napisanego na kolanie, zmienia stan lini PC3 co okolo (LicznikMax*10ms ) - wychodzi co ok. 100 ms Gdybyś miał wątpliwości to podniosłem moje kości z krzesła przed komputerem po płytkę z AtMega32 i sprawdziłem w ukladzie - DZIAŁA! Kompilowany pod ICC626, polecam "Wizarda" ,pomaga w minute ustawić co potrzeba bez sięgania...

    Mikrokontrolery   12 Lut 2005 16:43 Odpowiedzi: 1    Wyświetleń: 2099
  • [tiny2313] [tiny2313][bascom] Problem z wyświetlaniem temperatury z DS18B20 powyżej 20°C

    Mam z tym taki mały problemik :) Otóż wcześniej stosowałem przeliczanie z dodanym T = makebcd(t) po T = T /10 i temperatura była zawyżana ale wyświetlana dobrze na wyświetlaczach. Gdy osunąłem ten wpis temperatura jest rzeczywista, ale powyżej 20st tylko liczba po przecinku jest wyświetlana ok, natomiast dziesiątki zostają 1 a jedności wariują. Coś...

    Mikrokontrolery AVR   16 Sty 2009 10:12 Odpowiedzi: 9    Wyświetleń: 1638
  • Jak skasować Watchdoga w ATXmega128A4? Załączam kod.

    [syntax=c]Czy ktoś może podesłać informację jak skasować watchdoga w ATXmega128A4? Kod wygenerowany w CodevisionAVR do inicjalizacji: // Watchdog Timer initialization void watchdog_init(void) { unsigned char s,n; // Optimize for speed #pragma optsize- // Save interrupts enabled/disabled state s=SREG; // Disable interrupts #asm("cli") // Watchdog Timer:...

    Mikrokontrolery AVR   11 Cze 2019 16:09 Odpowiedzi: 1    Wyświetleń: 318
  • [Atmega328] Atmega328 i DS18b20 - odczyt temperatury pokazuje -0.1, co sprawdzić w kodzie?

    Nie to sprawdzałem. Wygląda to jakby procedury odczytu DS-a działały bo ta temperatura wyświetlana -0.1 o tym świadczy. DS jest zasilany z 3,3V i wyczytałem że przy takim zasilaniu rezystor podciągający linie DQ ma mieć około 2k i taki mam. Ale z rezystorem 4,7k też nie działało. Gdzie to wyczytałeś? Datasheet nic na ten temat nie mówi, poza "Can be...

    Mikrokontrolery AVR   17 Sty 2014 10:11 Odpowiedzi: 4    Wyświetleń: 2046
  • [atmega32][Bascom] jak zmierzyc czas otwarcia wtrysku w aucie?

    Witaj. Ja też kiedyś zrobiłem podobny komputerek i pracuje nieźle, choć nie mia tak wielu funkcji. Wydaje mi się że powinieneś liczyć impulsy wtrysku w przerwaniu bo to zapewnia prawidłowe liczenie. Mój jest na Atmedze8. Ja impulsy z jednego wtrysku liczę w przerwaniu od INT0 a funkcja wygląda tak: [syntax=basic4gl][/syntax] Obsluga_int0: 'Przerwanie...

    Mikrokontrolery AVR   13 Sie 2011 10:13 Odpowiedzi: 20    Wyświetleń: 3335
  • [bascom][atmega8] Sterowanie dwoma silnikami + przerwania

    Taki kod też mi nie działa: Tzn. Robot jedzie do przodu ale załączenie krańcówki nic nie powoduje. $regfile = "m8def.dat" $crystal = 8000000 Config Portb.0 = Output 'dioda Config Portd.7 = Output 'silnik lewy 1 Config Portd.6 = Output 'silnik lewy 2 Config Portb.5 = Output 'silnik prawy 2 Config Portb.4 = Output 'silnik prawy 1 Enable Interrupts...

    Mikrokontrolery AVR   28 Lut 2010 11:35 Odpowiedzi: 3    Wyświetleń: 1803
  • [ATTINY2313] [C] - Niedziałające poprawnie piny PD2, PD3, PD4

    One wire działa bezbłędnie na innych pinach. [syntax=c] uint8_t one_wire_reset(void) { uint8_t present = 0; cli(); //Disable global interrupts ONE_WIRE_LO; //Delay 500us _delay_us(160); _delay_us(160); _delay_us(180); ONE_WIRE_HI; _delay_us(75); present = (ONE_WIRE_PORT & (1 << ONE_WIRE_PIN)); //Delay 405us _delay_us(100); _delay_us(100);...

    Mikrokontrolery AVR   28 Paź 2012 22:48 Odpowiedzi: 5    Wyświetleń: 1551
  • ATtiny2313 Bascom: Odliczanie czasu lotu helikoptera, przerwania Timer1 nie działają

    Już działa!!! ;) ,a przynajmniej osiągnąłem zamierzony efekt. [syntax=basic4gl]$regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.1 = Output 'buzzer mający piknąć 3 razy po odmierzeniu czasu nop Buzzer Alias Pinb.1 Dim Sekundy As Byte Dim Minuty As Byte Sekundy = 0 Minuty = 0 Buzzer = 1 Config Timer1 = Timer , Prescale...

    Mikrokontrolery   23 Cze 2011 13:38 Odpowiedzi: 1    Wyświetleń: 1224
  • Arduino UNO - Jak migać diodą pin 13 niezależnie od pętli void loop?

    Albo nie doczytałeś, albo (jak zwykle(!)) - nie zrozumiałes całości fragmentu... Przeciez pisałem w twoim języku, ze nie chodzi o sam odczyt, lecz o funkcję millis(). Raczej Ty nie doczytałes w funkcji milis nie za bardzo jest co przerwać a wyglada ona tak: [syntax=c]unsigned long millis() { unsigned long m; uint8_t oldSREG = SREG; // disable interrupts...

    Arduino   29 Maj 2017 23:43 Odpowiedzi: 22    Wyświetleń: 5679
  • [ATmega8A] [C] przerywanie timera2 z zew. kwarcem zegarkowym

    1. Disable the Timer/Counter2 interrupts by clearing OCIE2 and TOIE2. 2. Select clock source by setting AS2 as appropriate. 3. Write new values to TCNT2, OCR2, and TCCR2. 4. To switch to asynchronous operation: Wait for TCN2UB, OCR2UB, and TCR2UB. 5. Clear the Timer/Counter2 Interrupt Flags. 6. Enable interrupts, if needed. DS pod tym względem trochę...

    Mikrokontrolery AVR   28 Cze 2017 09:30 Odpowiedzi: 3    Wyświetleń: 867
  • RC5 EDW10/2007 – nadajnik działa, odbiornik nie reaguje na sygnał pilota

    tak wpisałem i nic, ale coś mi nie pasuje no bo powerdown bardzo niedokładnie chodzi powinien wyłączać po ok. 15-20s a wyłacza po 2-4s Incr Power_down If Power_down = 200000 Then ' czas zwłoki dla powerdown Portb.3 = 1 Portb.0 = 1 Portd.0 = 1 Portd.1 = 1 Portd.2 = 1 Portd.3 = 1 Portd.4 = 1 Portd.5 = 1 Portd.6 = 1 Disable Interrupts Powerdown End If...

    Mikrokontrolery   10 Mar 2008 21:51 Odpowiedzi: 22    Wyświetleń: 2470
  • DS1820 Źle pokazuje temperaturę w całym zakresie. Błąd we wsadzie.

    po co to: Enable Interrupts Wait 1 Disable Interrupts ?? warto dac tez czas ok 750ms na konwersje dsowi ja polecam cos takiego Dim Odczyt(2) As Byte , T As Integer , Tt As Single , Napis As String * 5 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Odczyt(2) Shift T , Left , 8 Tt = T + Odczyt(1)...

    Mikrokontrolery   15 Lut 2007 20:09 Odpowiedzi: 6    Wyświetleń: 1941
  • Atmega128 + Atmega64 [bascom] - TWI multimaster - zawiesza się komunikacja

    Mam w projekcie Atmegę128 + PCF8583 + kilka układów I2C (3xADS1110, AT24c1024), dodatkowo dołaczam dwa moduły z Atmega64 każdy. Chcę, aby każdy z mikrokontrolerów odczytywał czas bezpośrednio z PCF8583. Teoretycznie arbitraż jest możliwy, ale u mnie to nie chce prawidłowo działać - zawiesza się komunikacja i programy "stoją". Do testów zostawiłem w...

    Mikrokontrolery AVR   06 Gru 2014 10:28 Odpowiedzi: 2    Wyświetleń: 1824
  • [89C52] problem z określniem interwałów czasowych

    Jeszcze jedno pytanko timer 2 dla transmisji szeregowej? Wszędzie opsiane jest jak wykorzystac do tego timer 0 lub 1, ale ja musze timer 2 void SER_setbaud() { /* disable interrupts */ ES = 0; /* Clear interrupt flag and buffer */ TI = 0; TxInChar = 0; TxOutChar = 0; /* transmitter is disabled */ TxEnabled = 0; /* Set timer 2 up as a baud...

    Mikrokontrolery   23 Lut 2010 10:18 Odpowiedzi: 8    Wyświetleń: 1546
  • [bascom] odczyt z 24c16. uP nie podstawia liczb pod zmienne.

    Witam Mam taki kawałek kodu : ... ... ... Declare Sub Odczyt_z_eproma(byval Zapis As Byte , Byval Odczyt As Byte) ... ... ... Call Odczyt_z_eproma(174 , 175) Sub Odczyt_z_eproma(byval Zapis As Byte , Byval Odczyt As Byte) Disable Interrupts I2cstart I2cwbyte Zapis I2cwbyte 0 I2cstart I2cwbyte Odczyt I2crbyte S_bajt , Ack I2crbyte...

    Mikrokontrolery AVR   14 Mar 2012 08:25 Odpowiedzi: 2    Wyświetleń: 1086
  • atmega bascom - Atmega bascom pomiar prądu przy pwm

    Enable Timer1 oczywiście też musi być. I globalne Enable Interrupts. Ale Disable Timer1 nie jest potrzebne.

    Mikrokontrolery AVR   25 Cze 2018 21:02 Odpowiedzi: 49    Wyświetleń: 6165
  • Sterownik C.O. - Mój program-potrzebuje sprawdzenia.

    Panowie prawdopodobnie znalazłem przyczynę dziwnych zachowań sterownika. Nie chcę jeszcze zapeszać że to na 100% to ale Zerknijcie na tą linię kodu i powiedzcie czy może to być przyczyną: [syntax=basic4gl]If Minuty = 0 Or Minuty = 10 Or Minuty = 20 Or Minuty = 30 Or Minuty = 40 Or Minuty = 50 And Sekundy = 0 Then 'zapis na karte SD co 10 minut temperatur...

    Mikrokontrolery AVR   30 Paź 2014 10:10 Odpowiedzi: 27    Wyświetleń: 2850
  • Attiny2313 konfiguracja watchdoga i wybudzanie uC z trybu uśpienia

    Jeśli WD ma być "tylko" do budzenia to się zgodzę. Przyzwyczaiłem się WD zostawiać sobie też dla bezpieczeństwa aplikacji. If WDE is set, the Watchdog Timer is in Interrupt and System Reset Mode. The first time-out in the Watchdog Timer will set WDIF. Executing the corresponding interrupt vector will clear WDIE and WDIF automatically by hardware (the...

    Mikrokontrolery AVR   24 Maj 2022 06:32 Odpowiedzi: 9    Wyświetleń: 768
  • Klawiatura matrycowa 4x4 podłączona do portu C mikrokontrolera mega32 - błędy w odczycie

    Swoją drogą do czego one służą. Fajnie, że pytasz :) Te 2 linijki służą do wyłączenia interfejsu JTAG z poziomu programu. Dlatego są 2 razy, bo aby wyłączyć interfejs JTAG należy 2 krotnie zapisać wartość 1 do bitu JTD w rejestrze MCUCSR w przeciągu 4 cykli zegara (po szczegóły odsyłam do dokumentacji). Gdybyś używał w programie przerwań to przed tymi...

    Mikrokontrolery AVR   23 Gru 2014 20:14 Odpowiedzi: 5    Wyświetleń: 867
  • Jak odczytać numer seryjny z pamięci EEPROM DS1973 przez 1Wire?

    Ja to robię tak jak w kodzie poniżej. Od razu jest zabezpieczenie przed błędnym odczytem klucza np. gdy pastylke szybciej odłączymy niż procek zdąży ja odczytać. Często się zdarza ze odczytane zastają pierwsze bity a reszta to FF w układzie daje rezystor podciągający 4.7K Sub Odczyt Disable Interrupts Odczyt_poprawny = 0 1wreset Waitms 50 1wreset If...

    Mikrokontrolery   22 Lut 2004 23:26 Odpowiedzi: 8    Wyświetleń: 1662
  • Super termometr cyfrowy z Allegro – schemat i wsad do mikrokontrolera poszukiwane

    Config 1wire = Portb.2 ... ... ... Sub Termo Disable Interrupts 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Makeint(odczyt(1) , Odczyt(2)) Tspr = T T = Abs(t) T = T * 10 : T = T / 16 Przecinek = T Mod 10 T = T / 10 1wreset 1wwrite &HCC 1wwrite &H44 Enable Interrupts End Sub nie pokazuję...

    Mikrokontrolery   22 Sie 2006 15:12 Odpowiedzi: 13    Wyświetleń: 2127
  • [AtMega128][Bascom] Pomiar czasu od zdarzenia do zdarzenia

    cos tkiego udało mi sie stworzyć... tylko jak teraz zrobić przełaczanie by po zmianie stanu portu pierwszy czas pozostał na LCD i zaczeło liczyć drugi czas aż do zmiany stanu portu. Sub Tmr1 Cls Dim Sek As Byte Config Timer1 = Timer , Prescale = 256 Enable Interrupts Enable Timer1 Timer1 = 32000 On Timer1 Czas: Start Timer1 Sek = 0 Locate 1 , 1...

    Mikrokontrolery AVR   06 Lip 2011 07:21 Odpowiedzi: 5    Wyświetleń: 2122
  • [ATmega8] Jak wyświetlić temperaturę 20.5°C na 7-segmentowym LED z ATmega8?

    Witam Do 1wreset 'reset 1wwrite &HCC 'jedna kostka więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms 750 'poczekaj czas konwersji Disable Interrupts 1wreset 'reset 1wwrite &HCC 'rozkaz adresowy SKIP ROM 1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty Enable...

    Mikrokontrolery AVR   05 Maj 2011 13:01 Odpowiedzi: 19    Wyświetleń: 10428
  • [ATmega32] - [Basom] odczytywanie po I2C czasu z PCF8583

    Oj Panocku. Disable Interrupts błąd Skąd procek ma wiedzieć czy nastąpiło przerwanie ?

    Mikrokontrolery Początkujący   15 Lis 2012 22:55 Odpowiedzi: 20    Wyświetleń: 2076
  • [Bascom] Jak odbierać kod RC5 w Atmega128 z multipleksowaniem LED?

    Ok już nie zawiesza, ale jeszcze nie dekoduje komend... Wystarczyło w obsłudze przerwania INT0 dodać [syntax=basic4gl]Enable Interrupts Enable Timer1[/syntax] [syntax=basic4gl]Get_rc5: Disable Int0 Enable Interrupts Enable Timer1 Getrc5(adress , Command) Received = 1 Return[/syntax]

    Mikrokontrolery AVR   11 Cze 2011 09:11 Odpowiedzi: 9    Wyświetleń: 2895
  • Atmega16: Zakłócenia przy współdziałaniu PWM i przerwań z transoptorów

    Witam, mam problem ze współdziałaniem PWM i przerwań z transoptorów. Objawy: Bez uruchamiania PWM'a transoptor szczelinowy ładnie liczy obroty silnika (podłączonego np na stałe do osobnego zasilania) . Z PWM'em działa jak wariat. Zlicza chyba też sygnały PWM. Myślałem, że jest to zakłócenie z silników. Ale odłączyłem wogóle silniki i zostawiłem PWM'y...

    Mikrokontrolery   19 Lut 2007 20:52 Odpowiedzi: 11    Wyświetleń: 2289
  • Krzaki na wyświetlaczu LCD w zegarku Bascom na ATmega8535 - jak naprawić?

    Dzieki za brak pomocy, przez to musialem sam pokombinowac. A wystarczyło petle główną zrobić pustą i obsługe wyświetlania wrzucic do podprogramu sectic wywoływanego co 1sek. Moze sie komus przyda, pozdro Config Lcd = 16 * 2 'inicjalizacja wyswietlacza Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 ,...

    Mikrokontrolery   03 Paź 2007 14:48 Odpowiedzi: 2    Wyświetleń: 1610
  • ATmega168: Przerwanie TIMER1_COMPA_vect nie działa, co sprawdzić?

    Czesc, Mam problem z wywołaniem przerwania od comparacji timera w ATmedze 168. Przerwanie jest zglaszane gdyz testuje flage w rejestrze TIFR1, jednak pomimo tego nie jest wykonywane. Ustawialem juz chyba wszystkie handlary ale nie ma efektu. Z gory dzieki za pomoc. Ponizej przedstawiam wazniejsze czesci programu. ISR(TIMER1_COMPA_vect) { TRIAK1_ON;...

    Mikrokontrolery   21 Lis 2007 23:22 Odpowiedzi: 10    Wyświetleń: 1857
  • [ATmega16] [ATmega16][Bascom AVR] Odczyt temperatury z ds18b20 - wartość 0xFF, co robić?

    Nie umiem odczytać temperatur z ds18b20. Rezystor podciągający jest(4.7k), VDD i GND też są podłączone. Linia danych podpięta jest pod pb.7 Aha wyświetliłem sobie też wartości odczytanych bajtów, zarówno 1szy jaki drugi mają wartość 0xFF. podaję kod może koś znajdzie błąd. Dim Cyfra(10) As Byte Cyfra(1) = &B00000101 Cyfra(2)...

    Mikrokontrolery AVR   27 Maj 2008 15:26 Odpowiedzi: 14    Wyświetleń: 5631
  • Różne wskazania temperatury DS1820 na Atmega8 (4MHz) - BASCOM, fuse bity

    Witam Tu jest kawałek kodu do DS 1820. Pomiar temperatury z dokładnością do 0,1°C Sub Read1820 ' wystartuj pomiar 1wwrite &HCC : 1wwrite &H44 Waitms 350 Disable Interrupts 1wreset 1wwrite &HCC 'odczytaj zmierzone dane o temperaturze 1wwrite &HBE T Bd(1) = 1wread(9) 1wreset Enable Interrupts Tmp = Bd(1) And 1 If Tmp = 1 Then...

    Mikrokontrolery   31 Sie 2008 10:18 Odpowiedzi: 16    Wyświetleń: 3560
  • [m32] Jak emulować komendy RC5 jako przyciski w menu BASCOM?

    Moim zdaniem jakoś dziwnie masz te przerwania sterowane. Po co w przerwaniu masz Enable Interrupts - włączasz raz na początku i nie wyłączasz. Disable Int0 w pętli głównej też raczej nie jest dobrym pomysłem. Przed Enable Int0 proponuję dopisać zerowanie flagi przerwania, a na końcu (pętli) idle - dzięki temu po przerwaniu pętla zacznie "iść" od początku.

    Mikrokontrolery AVR   11 Lis 2009 23:19 Odpowiedzi: 12    Wyświetleń: 1555
  • Atmel/ATmega644PA-AU/BASCOM - [BASCOM] Wielokrotne wywołanie przewań

    Witam Forumowiczów, Mam problem z ogarnięciem tematu wywoływania przerwań. Nie jest to problem jak je wywołać ale jak je okiełznać ;-) Wygląda to tak: Jest układ na Mega644PA-AU. Po I2C współpracuje z zegarkiem PCF8583, oprócz tego linia przerwania z PCF podłączona jest do portu D6 procka. Klawiatura zrealizowana jest na przetworniku ADC (port A0) i...

    Mikrokontrolery AVR   28 Lis 2016 11:54 Odpowiedzi: 14    Wyświetleń: 840
  • Jak uruchomić czujnik DS18B20? Problem z wyświetlaniem danych na LEDach

    Procek to At89S8252 napisane w Bascomie. Korzystałem z tego . Dim Disp4 As Byte Dim T As Integer Dim T1 As Integer Dim Bd(9) As Byte Dim Tmp1 As Integer Dim Tmp2 As Integer Dim Tmp3 As Integer Declare Sub Showmetemp Declare Sub Read1820 Anoda1 Alias P3.7 Anoda2 Alias P3.5 Anoda3 Alias P3.4 Anoda4 Alias P3.3 '***************************************...

    Mikrokontrolery   13 Lut 2004 07:08 Odpowiedzi: 10    Wyświetleń: 2609
  • Bascom - jak zrealizować wybór programu za pomocą przerwań?

    Do Poczatek: Cls 'to w celu poznania zawartosci SPL Lcd Spl Wait 1 Enable Interrupts Enable Int0 Select Case A Case 1 : Gosub Prog1 Case 2 : Gosub Prog2 Case 3 : Gosub Prog3 Case 4 : Gosub Prog4 Case 5 : Gosub Prog5 Case 6 : Gosub Prog6 End Select Loop Przycisk0: Spl = 93 Incr A If A >= 7 Then A = 1 Return Lopatologicznie zrobilem jak wyzej, nawet dziala...

    Mikrokontrolery   10 Lut 2006 11:50 Odpowiedzi: 19    Wyświetleń: 1989
  • [tiny2313] [tiny2313][BASCOM] Jak wyzwolić migawkę Nikona przy zmianie światła?

    Poniżej mój testowy program w bascomie. Procek m8, wew. zegar 8 mhz. Testowałem na nikon D80 - działa OK. ' PILOT NIKON ML-3 ' ZEGAR 8 MHZ Dim I As Word Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Clear Timer = 1 Config Portd.5 = Output Reset Portd.5 Compare1a = 100 Enable Interrupts Disable Timer1 Reset Tccr1a.com1a0 '***************************************...

    Mikrokontrolery AVR   14 Gru 2009 09:11 Odpowiedzi: 14    Wyświetleń: 3608
  • ATMEGA128: Konwersja kodu z BASCOM do C w Atmel Studio 6

    Witam Potrzebuję pomocy w przeportowaniu kodu źródłowego z BASCOM na C (Atmel Studio 6) - mikrokontroler ATMEGA128 Na początek fragment takiego kodu: [syntax=basic4gl] Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Disconnect , Compare B Pwm = Clear Down...

    Mikrokontrolery AVR   22 Lip 2013 17:26 Odpowiedzi: 2    Wyświetleń: 1437
  • M2561 - (bascom) tracone dane z UART przy transmisji RS232 (Atmega 2561)

    Nie wiem o co pytasz. Chyba wiesz jakich Timerów używasz? :D Jedyne co mi przychodzi na myśl to funkcje które używaja Timerów ale wtedy jest to wyraźnie napisane w Helpie. Na przykład Getrc5() zajmuje Timer0, DCF77 zajmuje Timer1 albo Timer3 i takie tam podobne. Wielu rzeczy po kompilacji możesz się dowiedzieć z pliku raportu (Ctrl + W albo ikonka kalkulatora)....

    Mikrokontrolery AVR   25 Wrz 2016 13:58 Odpowiedzi: 17    Wyświetleń: 1641
  • [SDCC] Pętla w AT89S8252 z SDCC - tylko 250 iteracji zamiast 504

    Witam, mam problem. Próbuję zrobić pętlę, która wykona się 504 razy. Wklepałem taki oto kod: unsigned int i; for(i=0; i<504; i++) [...] i pętla ma tylko 252 iteracje... Wygląda jakby unsigned int był tylko 8bitowy (choć nie wiem, dlaczego 252, a nie 255 w takim przypadku), ale sizeof() twierdzi, że zmienna ma 2 bajty. Robię też odczytywanie pamięci...

    Mikrokontrolery   25 Kwi 2006 23:39 Odpowiedzi: 7    Wyświetleń: 960
  • Atmega644 i bootloader MCS - Dzielę się wrażeniami i dopytuję. [BASCOM]

    Nie ukrywam, że to moje pierwsze zetknięcie z bootloaderem dla AVR (nie stosowałem). Pewien sterownik działa w sieci RS485. Mogę się do niego zalogować, i wydawać polecenia tekstowe. Chciałbym by jednym z nich było "upgrade" po którym nastąpi wywołanie pętli, która skończy się tym, że watchdog zresetuje procesor. Po resecie włączy się bootloader, który...

    Mikrokontrolery AVR   10 Cze 2015 10:54 Odpowiedzi: 45    Wyświetleń: 4893