O ile nie wyprogramowałeś funkcji RESET - przytrzymać RESET podczas nawiązywania połączenia z ST-link przez 1..2 sekundy. Najpierw jednak sprawdć częstotliwość zegara ST-Link i zmniejsz do 1..2 MHz. Przy 10 MHZ szanse na połączenie są prawie żadne. Seria G nie nawiązuje połączenia z debuggerem po uśpieniu - na to trzeba uważać.
Prawdopodobnie BlueDraco ma rację i przyczyną jest ciągły reset procka. Najlepiej pokaż schemat swojego układu ale bez uproszczeń tylko dokładnie zgodny z fizycznym układem. Czy układ RESETu masz podciągnięty do zasilania?
Jest o tym oczywiście wzmianka w helpie w temacie dotyczącym PORT D. The UCR register will by default not set bits 3 and 4 that enable the TXD and RXD pins for RS-232 communication. It is however reported that this not works for all chips. In this case you must clear the bits in the UCR register with the following statements: RESET UCR.3 RESET UCR.4...
Może zanim zapomnę o czym chciałem napisać a nie jest najważniejsze, ale dla Ciebie ważne. Tak w telegraficznym skrócie -> USART w AVR ma możliwość włączenia jakby podwójnej prędkości/próbkowania (to samo SPI). Bit ma skrótowa nazwę U2X. Przy taktowaniu 16MHz, jak prawie każda płyta Ardu, to bez U2X predkość 115200 miałaby za duzy błąd który niby maksem...
1) Brak deklaracji CONFIG COM w obu programach 2) W odbiorniku wyrzuć TOGGLE i wstaw RESET bo za chwilę napiszesz czemu led się ciągle świeci ale przyciemniony 3) W odbiorniku wykorzystaj ISCHARWAITING i INKEY. Odbierasz tylko A i na podstawie czy jest =10 czy =15 wykonujesz ifa do świecenia ledem
Ja rozumiem ze mozna szarpać się z darmowymi toolchainami, ale zeby z keilem?... Postawienie darmowego toolchaina trwa minute :)
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...
Prosty program na AVRStudio : #include <m16def.inc> ; Prohibits use of non-implemented instructions (ATmega16) .dseg .org SRAM_START .cseg ;—————R...
No dobra. Wywal wszystko na linii Tx telefonu do Rx procesora. Ma być połączenie bezpośrednie. Na drugim kierunku zostaw tak jak masz. Poniżej kod do testów. Powinien działać. [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $baud = 19200 Config Lcd = 16 * 2 Config Serialin = Buffered , Size = 100 Enable Interrupts 'Declare Sub Oproznij_bufor...
Witam! po pierwsze musisz upewnić się czy operacje zapisu i odczytu faktycznie działają. Z tego co zaobserwowałem, zaraz po uruchomieniu RTL8019AS wybrana jest strona 0 rejestrów. Jest tam taki rejestr zwany BNRY do którego można zapisywać wszystkie wartości z przedziału 0-255 i odczytywać na tej samej stronie. W związku z tym zrób taki test zaraz na...
(at)tmf - dziękuję za miłe słowa :) Właśnie takie było założenie co do grupy "docelowej". Myślę, że jeszcze długo ATmegi i ATtiny będą punktem startowym dla hobbystów ze względu na nawał informacji w Internecie i mocno zakorzeniony pogląd jakoby wszystko inne było drogie/trudne itd. W sumie chciałem, żeby w poradniku było trochę więcej nawiązań do...
OK, rozumie Twoje intencje i z chęcią pomogę, bo minimalizowanie poboru energii to mój "bzik" :) Jednakże zacząłbym od tego, że przy takim zasilaniu gdy ustawisz ten mikrokontroler na kwarcu 32kHz , to zużywać będzie zaledwie 20 μA przy 3V i niewiele więcej przy 5V. Czy to nie wystarczy? Większe straty masz na samym zasilaczu. Co do usypiania -...
atom1477 napisał: No właśnie. A BASCOMowi są one obce I właśnie z tego powodu sam optymalizuje sobie kod programu. Wiem, gdzie, co i jak. jacynka84 , zamiast : Wciąż nie wiem jak działa bascom...;] Jeśli nadal Będziesz bazował na Bitwait itp. to w dalszym ciągu się nie dowiesz jak działa. I ja się bałem zapisywać bezpośrednio do rejestrów (adresów)...
Pracowałem wówczas na ATmega162. Okazało się, że pewna seria '162 miała ten sam problem. Układ resetował się przy komunikacji UART. Temat zamykam.
https://obrazki.elektroda.pl/4509007500_... Zapraszam na prezentację https://obrazki.elektroda.pl/1519670000_... Przygodę z APM32F003F6 pozwoli nam szybko rozpocząć płytka Mini Board. Oprócz głównego MCU z przydatnymi do uruchomienia elementami takimi jak rezonator kwarcowy, przycisk RESET oraz testowy, diody LED,...
https://obrazki.elektroda.pl/7186671300_... Od kilku lat programuję 8-bitowe mikrokontrolery AVR i przez ten czas zdobyłem trochę wiedzy na ich temat. Poniżej znajduje się kilka ciekawostek o tych układach. Jeśli znacie jakieś inne interesujące informacje, to piszcie. Najnowsza wersja artykułu jest również dostępna na mojej stronie:...
Z tym akurat nie mam problemu. Piny 0 i 1 wykorzystuję w programie i jest OK. Z tego co wiem to USART trzeba aktywować w programie. Dodano po 15 Ale tak po przemyśleniu lepszym rozwiązaniem jest Watchdog odpowiednio ustawiony. Programowy reset wymaga aktywowania w przerwaniu i żeby to zadziałało musiał bym aktywować odpowiedni pin. Jeśli miało by to...
Nie wiem dlaczego koledzy pytaja o te wszystkie rzeczy jak program, płytka i FuseBity , skoro to wszystko widać na screenach w pierwszym poście. Niemniej jeśli program też wgrywałeś USBasp to bootloadera juz nie masz :D Bootloader jest po to by program mozna było wgrywać przez USART (PD0 i PD1). Nie powinno to jednak mieć wpływu bo uC skoczy pod adres...
Witam, skorzystałem z tematu i chciałem spróbować kod kolegi powyżej zaimplementować u siebie. Procesor STM32f051 na płytce Discovery, rejestry w F1 i F0 co do usartu są prawie takie same, wystarczyło zmienić nazwy na odpowiadające w F0, przenosiłem już nie raz USART z F1 na F0 i nie trzeba było wielu zabiegów. Skonfigurowałem dodatkowo piny USART2...
ooooo, teraz to już tego całkiem nie rozumiem.... Dodałem coś takiego w procedurze przerwania: Dodano po 1 ok, pewnie SPL coś robi dziwnego... Obiecuje że jak tylko się poduczę to się jej pozbędę :D
Witam, Mam zbudowany układ z uC STM32F10x który za pomocą USART łączy się z kartą Smart Card ISO7816 za pośrednictwem ST8024. Podłączenie jest identyczne jak zalecane przez ST. Po restarcie karty przesyłany jest ATR z którego wynika że mam do czynienia z protokołem T1. Wysłanie ADPU "obudowanego" w blok z LRC na końcu (również wynika to z informacji...
Na zewnętrznym kwarcu 16MHz. Reset jest podpięty przez rezystor 10kOhm do Vcc. :?:
Wysłanie danych ja ma tak: [syntax=c]USART_SendData( USART1, dane ); while( USART_GetFlagStatus( USART1, USART_FLAG_TC ) == RESET );[/syntax] A odbiór danych zrób sobie z przerwaniu.
Jakieś dziwne zjawisko. Wszystko działało tz. w pętli pytałem urządzenie po modbusie a teraz jakieś dziwnie zachowanie . Tak jakby zawieszony procesor nic się nie wykonuje w pętli . Co może być przyczyną ? Całość poniżej : [syntax=c] /************************* * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h"...
http://obrazki.elektroda.pl/6365414300_1... Istnieje wiele sposobów, na dodanie do amatorskiego projektu łączności bezprzewodowej. W poniższym projekcie autor wykorzystał łącze radiowe do skomunikowania 8 bitowego mikrokontrolera z rodziny PIC z komputerem PC. W internecie znaleźć można wiele różnych przykładów wykorystania szerokiej...
https://obrazki.elektroda.pl/2759406900_... 8-bitowe mikrokontrolery nadal można znaleźć w wielu projektach, ale dzięki nowemu, niedrogiemu 32-bitowemu z rdzeniem AMR Cortex-M0+ taktowanym 48 MHz — STM32C0 — firma STMicroelectronics dąży do wyparcia 8-bitowych jednostek. Co może się odbyć wskutek: „ograniczonego wpływu...
Witam. Próbuję odpalić komunikacje USART z PC na płytce nucleo STM32F302R8, z dokumentacji wynika, że USART2 jest podłączony z programatorem przez który można się komunikować z PC. Chyba wszystko dobrze ustawiłem a przynajmniej podobnie jak w poradniku właśnie z elektrody. Po wciśnięciu przycisku reset na RealTermie pojawia się "nul" czyli pusta ramka...
https://obrazki.elektroda.pl/5980031500_... Nowy układ ze stajni Microchipa to ATmega4809. To pierwszy ośmiobitowy układu z rodziny megaAVR, który wyposażony został w niezależne od rdzenia peryferia (CIP), które umożliwiają m.in, przetwarzanie sygnałów cyfrowych i analogowych w czasie rzeczywistym, bez konieczności obciążania rdzenia...
Witam mam trywialny problem, ale chciałbym się upewnić: Otóż postanowiłem zrobić sobie wysyłanie danych przez port szeregowy. Mam w związku z tym pytanie odnośnie USART na STM32. Jeśli ustawię sobie przerwanie USARTA na aktywny stan TXE (USART_ITConfig(USART1, USART_IT_TXE, ENABLE); ), to ono od razu mi się wykona, bo w TDR nie ma danych. Przerwanie...
Cos się nie dogadujemy. Masz rację, bo ja piszę o tym konkretnie projekcie, a Ty chyba mocno teoretyzujesz na temat bardziej rozbudowanych projektów. Nie teoretyzuję. Piszę procedurę raz a dobrze i staram sie reagować a każdą możliwą sytuacje awaryjną. Nie zakładam, że sprzęt jest niezawodny w 100%. Dlatego jak w zasilaczu dałem DS18B20 to gdy nie...
Witam, Mam problem z realizacją przerwania z USART3 na STM32L152RBxx. W momencie wywołania przerwania debugger zatrzymuje się na funkcji default_handler(). Poniżej umieszczam kod: main: #include "stm32l1xx.h" #include "stm32l1xx_conf.h" #include <string.h> void GPIO_Conf(void); void RCC_Conf(void); void NVIC_Conf(void);...
Witam, Mam problem z komunikacją STM32 z komputerem. Moja płytka to STM32L-Discovery [url=http://www.st.com/internet/evalboar... Chciałem napisać sobie najprostszy program do komunikacji z komputerem. Jak na razie nic nie działa. Pisałem program z pomocą książki "Mikroprocesory STM32 w praktyce" Krzysztofa Paprockiego. Musiałem...
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...
Witajcie, dziękuję za wszystkie posty. Większość okazała się bardzo pomocna. Swoją modyfikację chciałam zacząć od najprostszej zmiany, tj. zmiany konfiguracji modułu bluetooth poprzez komendy AT. Najpierw jednak chciałam przetestować odbiór danych z terminala. Znalazłam program i nieco go zmodyfikowałam, którego celem jest odebranie wpisanej danej w...
(at)_lazor_ Reset Handler Raczej ciężko nazwać to przerwaniem.
Przyznam, że zbocze wydaje się odpowiedniejsze. I do jednej linii możesz podłączyć tylko jedno źródło przerwań a i tu możesz mieć kłopoty. Np USART 16C550 (jak i większość peryferii) wystawia na linie INT poziom niski do czasu skasowania źródła przerwania. Jak będziesz miał kilka źródeł przerwań w jednym układzie (np nadawcze i odbiorcze w usart) a...
Napisałem program obsługujący komunikację RS232 dla płytki STM32 P103: - dokumentacja płytki https://www.olimex.com/dev/pdf/ARM/ST/ST... - schemat https://www.olimex.com/dev/images/ARM/ST... Niestety łącząc docelowo przez konwerter RS232 -> RS485 i podłączając do serwomechanizmu RS28 dynamixel podłączyłem raz zasilanie 15V,...
Najpierw uporajmy się z powtarzającą się w koło odpowiedzią. Zapomniałeś skasować zmiennych A i B, proponuję zmienić tak: [syntax=vbnet] If A = &H0A And B = &H01 Then Set Wys Waitms 50 Print "dana 1" Reset Wys A = 0 B = 0 End If If A = &H0A And B = &H02 Then Set Wys Waitms 50 Print "dana 2" Reset Wys A = 0 B = 0 End If[/syntax]
Takie są kamerki internetowe, a aparat fotograficzny mam 160km od aktualnego miejsca pobytu. Dołączam oscylogramy transmisji do WS2812 i odbioru DMX512. 822158 822157 Wyjaśnienia: Przerwania od usart nie mogą byc typu interrupt więc ustawiłem timer aby sprawdzał co 33us uarta DMX. Żółty kanał to transmisja do led. Błękitny IRQ od TX uarta led. Fiolet...
Witam. Napisałem poniższa bibliotek do obsługi DS18b20. Po wysłaniu sygnału RESET (0xF0) otrzymuje od czujnika temperatury sygnał PRESENCE (0xE0). Problem napotykam w chwili odczytu danych z scratchpada. W tablicy w której mam przypisane dane z czujnika są zera ;/ [syntax=c] void one_wire_init(void) { RCC->APB1ENR |= RCC_APB1ENR_USART2EN; RCC->AHB1ENR...
ogarnąłem to w taki sposób - wszelkie komentarze mile widziane ;) nie śmiać się jeśli to mocno dookoła proszę :) [syntax=c]void HAL_UART_RxCpltCallback(UART_HandleTypeD... *UartHandle) { if(UartHandle->Instance == USART1) //ensure that interrupt comes from USART1 { if(USART1->RDR == 0xA3 && !marker) //if 0xA3 received and no correct frame receive in...
Witam. Mam problem z odbiorem znaku w przerwaniu. Pętla główna: [syntax=c] AT91S_USART *pUSA = AT91C_BASE_US0; for (;;) { c=AT91F_US_GetChar(pUSA); if(c=='c') { usartPutChar(14); } [/syntax] Inicjalizacja, obsługa przerwania: [syntax=c] void Usart_c_irq_handler(void) { AT91PS_USART USART_pt = AT91C_BASE_US0; unsigned int status; //* get Usart status...
Dodam że na złącze SWD mam wyprowadzone SWDIO SWCLK i zwykły reset (NRST). A co z masą i zasilaniem?
Czyli z tymi bibliotekami absolutnie nie da się zrobić tak żeby efekty zmieniały się od razu po wciśnięciu przycisku? Da,prawie zawsze się da,tyle, że nakład pracy i uzyskane efekty będą kiepskie. Można bibliotekę Arduino zmodyfikować tak aby nie blokowała przerwań co robi rozkazem "cli();". Następnie trzeba zablokować wszystkie przerwania poza EXTI...
Witam wszystkich Czy spotkał się ktoś kiedyś z takim przypadkiem: Usart wysyła poleceniem USART_SendData(USART1, 0x55) do przejściówki wartość i po odczytaniu w progarmie np gtkterm uzyskuję literę "U" (czyli prawidłowo patrząc na tablice ascii). Niestety jest to jedyna wartość zgodna z tą tablicą :/ bo jak wysyłam np. wartość 0x5a to zamiast litery...
Zrobiłem prosty układ: Atmega8, która stale nadaje na USART (tylko nadawanie) + dioda LED, która miga w trakcie nadawania (dla kontroli). Podłączyłem gotowy (kupiony) konwerter TTL->RS232 - wszystko razem działa bez zarzutu. Jeśli konwerter jest podłączę do Atmegi bez prądu i podam zasilanie - układ nie startuje. Dioda LED świeci się na stałe, nic nie...
Hmm czy przy pierwszym to nie jestem pewien - ale na pewno resetuje się od stanu niskiego na reset a nie od wejścia w PDI. Z tego co wyczytałem, wynika że układ nie powinien się zresetować dopóki nie wpiszemy wartości 0x59 do rejestru "reset". Dałem 20us, i na końcu zwolniłem PDI_DATA (ten pin ma wewnętrzny pulldown). No i bez efektu. Pin RESET podczas...
Faktycznie, rozwiązanie kwestii działania SPI było dosyć proste i po sprawdzeniu - SPI działa. Odczytuję zapisany wcześniej rejestr poprawnie. Teraz mam inny problem. Poniżej zamieszczam program z pliku main.c, w którym są dodane miejsca wysyłania kolejnych numerów przez UART i program zatrzymuje mi się po wysłaniu numeru 88. Nic więcej się nie dzieje,...
Zakładając że planujesz podłączyć ATmege8 do komputera to i tak musisz skorzystać z jakiegoś układu zmieniającego napięcia. Zakładając też że moduł bluetooth można wprowadzić w stan reset stanem niskim proponuje taki układ: http://obrazki.elektroda.pl/1958172900_1... Musisz wykorzystać dodatkowy pin do przełączania układu i podłączyć...
Właśnie problem nie leży w kodzie, a wysyłanie nie jest bezpośrednio wywoływane z przerwania. Timer jedynie daje "znak" schedulerowi że pora odpalić następny proces i ten proces jest uruchamiany. Najprostsza procedura wysyłania znaku [syntax=c] void _put_char (uint8_t ch) { while((USART1->SR &USART_FLAG_TXE) == 0); USART1->DR = ch; } [/syntax] wywoływana...
esp8266 usart przerwa usart usart wskaźnik
mikrofon odsłuchu wymiana laser kenwood mhouse schemat
vaillant ecotec bateria milwaukee
Opróżnianie pojemnika na skropliny w lodówkach, suszarkach Bosch, LG, Samsung, osuszaczach – instrukcja i konserwacja Junkers WDRP-14 – odkamienianie wężownicy Kamix, kwas cytrynowy, objawy zakamienienia