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...
Ja rozumiem ze mozna szarpać się z darmowymi toolchainami, ale zeby z keilem?... Postawienie darmowego toolchaina trwa minute :)
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
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...
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...
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
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...
Na zewnętrznym kwarcu 16MHz. Reset jest podpięty przez rezystor 10kOhm do Vcc. :?:
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...
Witam, jestem w trakcie nauki programowania uC. Zakupiłem płytkę STM32F3Discovery. Próbuje wysłać na początek jeden znak na COM-a. Jednak niestety coś idzie nie tak :( Używam przejściówki USART-USB. Dodam, że konfiguracja musi być OK, bo gdy korzystam z biblioteki HAL to wszystko działa. Chce bawić się StdPeriph, bo mam wrażenie, że tutaj będę wstanie...
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"...
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...
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...
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...
Zmieniłem to trochę tak, że wysyłam tylko '3'. Czy o to chodzi? Odbiera mi na PC tą trójkę ale razem z nią krzaki ;/ [syntax=c]/* Includes */ #include <stddef.h> #include <stdio.h> #include "stm32l1xx.h" //defined USE_STM32L_DISCOVERY #include "discover_board.h" #include "stm32l_discovery_lcd.h" /* Private typedef */ /* Private define */...
Witam wszystkich, mam do Was prosbe, zamiesiclem w zalacznikach zgodnie z ich nazwa pliki z WinAVR, a dokladnie obsluge uarta dla ATMegi128...czy ktos moglby mi powiedziec, czy rzeczywiscie ten kod wszysztko co robi to po podlaczniu do procka zasilania wysyla na port kolejna wartosc...tzn to co jest w petli w main'ie?? Pod spodem zamieszczam sam kod...
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 serdecznie, Robię hexapoda 18xservo, wykorzystuję do tego niezależne kanały TIM2,3,4,5 i TIM12. Napotkałem problem z kanałem 2 i 3 dla TIM5, nie działa. Żeby nie wrzucać całego programu i nie zaburzać czytelności, przygotowałem mini aplikację testową dla TIM5 PWM, podobnie channel 1 i 4 działa, channel 2 i 3 nie działa. Czy dla pinów PA1 i PA2...
Masz rację, że szkoda całego tygodnia na taki problem:). Oto cały kod: Main: http://obrazki.elektroda.pl/2257364500_1... podłączenie do STM'a wygląda nastepująco: RxD do PA10, TxD do PA9. Więc nadal stoję w miejscu, ale nie poddaje się;).
(at)_lazor_ Reset Handler Raczej ciężko nazwać to przerwaniem.
Witam Używam płytki STM32F4 Discovery. Muszę odczytać sporą ilość danych, więc UART wydaje się jedynym rozsądnym rozwiązaniem. Poniżej kod, którego używam (sugerowałem się kodami z różnych stron). [syntax=c]#include "stm32f4xx.h" #include "stm32f4_discovery.h" #include "misc.h" // I recommend you have a look at these in the ST firmware folder #include...
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,...
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...
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...
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...
Witam ponownie, Po sprawdzeniu stwierdzam, że inicjacja USB wszystko wiesza... Wziąłem dla pewności "surowy" przykład z ST, dodałem zwykłe miganie diody - Set,Reset GPIO + for jako delay - i tnie automatycznie diode. Nie chce się już z tym grzebać bo straciłem już na tą transmisje ponad miesiąc :/ Przerobiłem kod, dodałem obsługe USART i kod wygląda...
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...
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...
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...
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...
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...
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ć...
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,...
Dodam moj przepis na ładną tablicę wektorów (przykład dotyczy ATtiny2313) : .cseg ;—————R...
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...
Witam Na wstępie powiem że nie jestem ekspertem w C. Pisze programik działający na Atmedze16. Mam dwa dwa układy Ram i RTC i muszę się z nimi dogadać przez SPI. I się nie dogaduje. Zeby zapisać cos i odczytać z Ramu muszę zapisać (dla zapisu) kod rozkazu - 8 bitów, adres komórki zapisywanej - 24 bity i dane - 8 bitów. Przy odczycie analogicznie rozkaz,...
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...
Hi, I found this. [syntax=c]// ### Initiate timers and USART // Frame buffer interrupt TCNT2 = 0x00;// initial counter value = 0; TIMSK |= (1 << OCIE2); // Enable CTC interrupt // Every 1024th cpu cycle, a counter is incremented. // Every time that counter reaches 15, it is reset to 0, // and the interrupt routine is executed. // 14745600/1024/15...
Cześć, Mam zapytanie dotyczące przerwania IRQ w module radiowym nRF24L01+. Moduł pracuje jako nadajnik. Wykorzystuję w nim funkcję potwierdzenia odbioru. Pomyślne odebranie danych przez odbiornik powinno skutkować wystawieniem w nadajniku stanu niskiego na IRQ. Ten sygnał chcę podać na wejście przerwania mikrokontrolera ATmega32A. Niestety, nie zawsze...
W książce Tomasza Francuza "AVR Praktyczne projekty" znalazłem bardzo przyjemny sposób na użycie USART w XMEGA posługując się fprintf lub fscanf. Niestety po przejściu na DMA okazało się, że nie da się tak łatwo zastąpić fprintf przy użyciu funkcji wysyłającej dane do bufora i dalej przez DMA do komputera. Znalazłem inny przykład w sieci z wykorzystanie...
W czym napisany jest program? C, pisałem w AvrStudio 4.18, kompilator AVR-GCC. Ale lepsze pytanie nie w czym ale jak? Pomijając proste programy, piszę używając maszyny stanów. Dzięki temu mam coś w rodzaju multitaskingu podobnego jak w Windows, tyle, ze się nie wiesza. W tym programie są dwa _delay. Jeden 50us po wysłaniu danych do WS2812 aby zagwarantować...
Tak Atmel kupił MeshNetics. Jeszcze nie miałem modułu od Atmela który by miał coś wiecej niż bootloader. Jeśli na jednym z pinów masz zero logiczne to będzie to RX modułu. Drugie pulsujące to będzie TX. Najprawdopodobniej Podczas startu układu jest tam 3 stan (zero), po konfiguracji RSa pojawia się jedynka na czas kiedy układ ma odebrać jakieś dane...
Witam, tak więc zbudowałem programator Pana Dybkowskiego z jego strony http://dybkowski.net/content/pl/node/16 , sprawdzałem na mierniku wszystkie połączenia są ok. Podłączam do komputera i w ISP programmerze wciskam read signature, lecz wyskakuje tam chip locked. Na stronie autora jest coś napisane że jeśli na procesorze mamy pamięć szeregową to zamiast...
Witam, mam problem z poprawnością działania USART'u w ATtiny 2313, mikrokontroler jest podłączony do komputera poprzez MAX'a 232, z kondensatorami 2,2uF. Układ wysyła do komputera dane ale nie są one poprawne - po prostu krzaki. Próbowałem z różnymi konfiguracjami jednak za każdym razem to samo. ATtiny działa na zewnętrznym kwarcu 12Mhz. Podłączałem...
Pojawił mi się problem taki, że nie mogę odpalić przerwań. Mam 2 programy: 1- test przerwań poprzez zmianę stanu na pinie D0 i generowaniu dźwięku przez PIEZO - działa super. 2- wstęp do wariometru, też działa super, wykresy generują się bardzo realnie. Próba uruchomienia przerwań w programie 2 nie działa. Timer się kręci elegancko bo wartości licznika...
Witam, mam problem z komunikacją z czujnikiem ciśnienia HP02S. Szukałem swojego problemu na forum, ale nie znalazłem. Udało mi się bez problemu odczytać dane z EEPROMu. Udało mi się też skomunikować z czujnikiem, ale do czasu. Sekwencja odczytu ciśnienia wygląda następująco (pseudokod): [syntax=c] i2c_start(); i2c_write(0xEE); i2c_write(0xFF); i2c_write(0xF0);...
Niewidoczne zasilanie i masa maxa232 są podłączone. A tak jest zaprogramowany moj PIC (probuje wysłac narazie pojedynczy znak): #include <p18f2620.h> #include <stdio.h> #include <stdlib.h> #include <adc.h> #include <usart.h> #include <pconfig.h> #include <portb.h> #include <delays.h> #pragma config WDT...
Witam Mam pytanie czy ktoś z forumowiczów generował w jakiś sprzętowy sposób sygnał, który byłby w stanie zresetować mikrokontroler poprzez układ HC-06. Wspomniany sygnał jest mi potrzebny do wejścia w tryb bootloadera. Jeżeli podłącze pod USART układ FTDI wszystko śmiga i to z największą dostępną prędkością, lecz układ ten posiada oprócz RX TX jeszcze...
Witam. Mam do oprogramowania AT90PWM3B. Chce wysłać/odebrać (cokolwiek) przez USART. Problem jest taki że w AVRstudio, podczas debugowania wszytko jest ok, tak jak chcę, ale po zaprogramowaniu procesora - nie chce dzialać. Sądze ze wlaga RxC nie generuje przerwania - ale dlaczego to nie wiem (I; RxCIE; RxEN = 1) - procedura obslugi przerwania RxC wywolana...
Wybaczcie ale przeglądam tego manuala i nie mogę nic znaleźć na temat tej maski bitowej. Jest napisane: Calibration is started by setting the CAL bit in the ADC_CR2 register. Once calibration is over, the CAL bit is reset by hardware and normal conversion can be performed. It is recommended to calibrate the ADC once at power-on. The calibration codes...
Ok dzieki Piotrek. Przypomniales mi o parzystosci juz wszystko gra. male przeoczenie.. Ja stosuje metode uzupelnienia "white char" czyli spacja:P =>> Dar.El to jest moj poczatek :) (az taki laik nie jestem :P) .nolist .include "m8def.inc" .list ;***************************************... ;* DEFINICJE ZWIAZANE Z REJESTRAMI * ;***************************************...
Z AVR-libc: The solution is simple: writing a logical 1 to it requires only a single OUT instruction, and it is clear that only this single interrupt request bit will be cleared. There is no need to perform a read-modify-write cycle (like, an SBI instruction), since all bits in these control registers are interrupt bits, and writing a logical 0 to the...
Witam, otóż mam problem z konfiguracją zegara, tak aby mikrokontroler działał z prędkością 216MHz. Po próbie przetaktowania mikrokontrolera pojawia się problem z transmisją USART z czego wnioskuję, że robię coś źle przy konfiguracji zegara, bo transmisja USART przy standardowym taktowaniu działa bez problemu. [syntax=c] static void flash_latency(uint32_t...
No to sprawa załatwiona - winny krzaczków był konwerter TTL<>RS2232, który zrobiłem na tym SP232ACP - pomyłkowo podłączyłem linie TXD, RXD. Po poprawieniu działa OK. Przy czy - okazuje się, że ten układ "multipleksujący" sygnałem z RESET nie jest niezbędny, jeśli korzystamy tylko z TXD mikrokontrolera (czyli np. tak jak ja - do debugowania programu)....
to mój kod. raz działa raz nie. Np ponowne uruchomienie Debugowania już go pogoni, a czasem nie da rady. wywala HardFault_Handler() lub inne. [syntax=c] /** ****************************************... * File Name : main.c * Date : 13/09/2014 10:34:06 * Description : Main program body ****************************************...
Witam ponownie, wpadłem już w całkowitą konsternację. Testuje ten program na rózne sposoby, wywalam poszczególne fragmenty i jestem coraz bardziej zdziwiony. Obecnie kod mam taki: .include "m8def.inc" .cseg .org 0x00 ;### WEKTORY PRZERWAŃ ### rjmp reset .org 0x0B reti reset: ldi r16, LOW(RAMEND) out SPL, r16 ldi r16, HIGH(RAMEND)...
zostala mi (chyba) dzialajaca atmega168. Stad moje pytanie - czy moge ja zaprogramowac jakims programem bez programatora, jesli moj komputer ma zlacze rs232? Pracuje na Linuxie. Twój procesor prawdopodobnie ma ustawione fusebity na zewnętrzny rezonator 16MHz, zatem potrzebujesz podłączyć do niego rezonator kwarcowy z dwoma kondensatorami (oprócz zasilania...
Witam, próbuje skłonić AtMega8 do współpracy po SPI sensor Analog Device'a ADIS16201. Przylutowałem sensor do płytki, podłączyłem zasilanie, reset sensora i spi. http://img393.imageshack.us/img393/345/p... Z dokumentacji czujnika wynika, że by odczytać zawartość, powinienem wysłać w pierwszym bajcie adres rejestru. Drugi bajt jest dowolny....
Zgadzam się z uwagami. Ale takie są poczatki.
mam płytke gotową. LPC2144 siedzi w płytce stykowej. mam kondesatory w miare blisko pinów zasilających. Teraz składam programator DBGU. Na necie nie znalazłem schematu (zresztą bardzo prostego) ale mam w książce. 1. Zadziała on przej przejściówke USB - RS232 ? Ta sama przejściówka działała już w komunikacji USART - terminal z AVR 2. Czy aby wrpowadzić...
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...
Nie jest mozliwe wysylanie 2 bitow stopu i 9 bitow danych. Ustaw standardowo 8 bitow danych i 1 bit stopu. To w zasadzie nie robi różnicy , czy ustawimy 1 czy 2 bity stopu , bo przy ramce 9-bit , zostanie wygenerowany tylko 1 bit stopu. grzesio14 Nie działa Ci transmisja 9-bit , bo takowej nie ustawiasz. Popatrz: ;*** USART tryb 9-bit *** .include...
Witam Prubuje sie skomunikowac za pomoca AT91sam7S64 z karta seca do CYFRY+ tyle ze mam maly problem Karta odpowiada ale niedokonca to co powinna Ustawienia mam oczywiscie skonfigurowane na protocol T=0 parity even 2 bity stopu Podaje reset karta odpowiada dajac prawidlowy ATR Podaje pierwszys rozkaz C1 0E 00 00 08 wedlug dokumentacji karta powinna...
Chyba najlepiej by było zrobić dodatkowe przerwanie, które realizowało by elementarne operacje na magistrali 1Wire, czyli włączało stan niski linii i go zwalniało. Wtedy nie byłoby tego czekania 480 us i to dodatkowe przerwanie mogłoby przerwać przerwanie silnika na nieistotny czas. Tylko, czy to nie jest za duża komplikacja? Na czas nadawania reset...
Aktualnie najważniejsze pliki programu wyglądają następująco: main.c: [syntax=c]#include "main.h" //definicje stalych #define LINENUM 0x15 #define FONTSIZE Font12x12 #define LED1 GPIO_Pin_13 #define LED2 GPIO_Pin_14 #define PRZYCISK GPIO_Pin_0 //zmienne - definicje void Delay(__IO uint32_t time); extern __IO uint32_t TimmingDelay; unsigned short regVal;...
Pozwoliłem sobie uczytelnić kod dla pokazania jak można sobie ułatwić pisanie kodu - zmieniamy w jednym miejscu, a zmiany są uwzględniane w całym kodzie... Daje to bezbolesną możliwość dowolnego przepięcia linii sygnałowych pod inne wyprowadzenia µC przy minimalnych zmianach w kodzie (podobnie jak w językach wyższego poziomu). #include <m16def.inc>...
Już działa:) Jeżeli chodzi o same ustawienia i inicjalizację Timera0 oraz przerwań to okazało się tak jak mi się wydawało że wszystko miałem dobrze. Jak zwykle w takich przypadkach błąd okazał się błahy i leżał w zupełnie innym miejscu. Otóż przy definiowaniu wektorów przerwań nie używałem definiowania ".org". Początek mojego programu wyglądał tak:...
Generalnie na początku chodziło tylko o przekazywanie zmiennych ale w między czasie dyskusja rozgorzała :). Napisałem sobie taki oto kod: [syntax=avrasm]#define __SFR_OFFSET 0 #define _SFR_ASM_COMPAT 1 #include "inc.h" #include "nRF24L01.h" .data licznik: .byte 1 .extern SPInumByte .extern SPIbuf .extern SPCB .text .global init .global SPIOut .global...
Witam. Od dość długiego czasu zmagam się z projektem ramienia i aplikacji nim sterującej. Cały projekt jest już prawie ukończony, poza komunikacją usart, która przysparza mi olbrzymich problemów. Aplikację napisałem w visualu. W skrócie, po kliknięciu przycisku "wyślij" program wysyła po serial porcie 18 bajtów (6x[bajt kontrolny+wybór serwa+wartość...
Tylko ty nigdzie nie czytasz cyfr. case '0' || '1' || itd. to dokładnie to samo co case 1: Raczej w default: daj if (c >= '0' && c <= '9'). No i coś nie widzę tych dwóch stanów skanowania wejścia, ale może jakimś cudem to działa. Po co Ci te procedury z jednym podstawieniem? Koszt wywołania procedury jest znacznie większy niż koszt wykonania...
Wysyłam całe programy, bo być może pominął bym istotne dla problemu aspekty. Nadajnik: Odbiornik: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 14745600 $baud = 9600 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , E = Portd.3 , Rs = Portd.2 Cls Lcd "Test" Wait 1 Dim I As String * 16 Cursor...
Czemu nie działa jakieś błedy kompilatora, jak nie tak to może źle napisany kod i się przy większej optymalizacji wysypuje. Jak coś to wrzuć kod nie działający. Heh, no ok, wrzucam więc kod. Od razu jednak uprzedzam, że to jest mój pierwszy program w C i mogą występować rażące programistów błędy. Poza tym kod jest nieco rozlazły - dla mnie bardziej...
Witajcie forumowicze, może nie udzielam się tu zbyt często, ale tym razem potrzebuję pomocy i nie wiem już do kogo mógłbym się zwrócić. Mam 2 x ATmega8. Łączę je między sobą przez SPI. Master posiada dodatkowo UART do rozmawiania z konsolą na PC, slave ma dołożoną jedną diodę do sprawdzania najstarszego bita w przesłanym bajcie (tak w ramach kontroli)....
http://obrazki.elektroda.pl/1960236800_1... Dodano po 2 to był program główny a teraz plik RS_232_i_INT0/rs_232_int0.c Dodano po 1 przepraszam że przez dłuższy czas nie wstawiałem kodu i schematu ale miałem przeprowadzkę i nie mogłem
[syntax=c] /** ****************************************... * (at)file system_stm32f10x.c * (at)author MCD Application Team * (at)version V3.5.0 * (at)date 08-April-2011 * (at)brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. */ //... /*!< Uncomment the line corresponding to the desired System...
0. Dla USER BUTTON nie włączaj pull-up'a ponieważ ten przycisk jest podłączony do zasilania i ma dołączony pull-down. To co obserwujesz to pewnie efekt stale wciśniętego przycisku. Vide schemat MB1035. 1. Nie wiem co jest na PB8, ale konfigurujesz to do pracy z licznikiem TIM4, CH3. Zgaduję, że to ta dioda migająca z f (15..20)Hz 2. PE9 i PE12 konfigurujesz...
Cześć, Od jakiegoś czasu borykam się z takim problemem: chciałbym odbierać po CANie ramki, wpisywać je w gotowy szablon i dalej wysyłać po USARCie na kompa w kodzie ASCII. Czegoś mi brakuje w tym kodzie i za każdą wskazówkę będę wdzięczny. Z góry dzięki:) To mój main: [syntax=c] unsigned char tx_uart[]=" ID: DL: F: T: DATA: ";//54 char ramka[55]; unsigned...
ale one mówią na jaki mikrokontoler skompilowano program. doprawdy? Kolega jak zwykle "ciekawe" rzeczy pisze https://obrazki.elektroda.pl/2928104400_... Ciekawe skąd microchip wiedział jak będziesz kompilować i wgrać to do uC w fabryce Sprawdzałeśs co zwróci np to ? [syntax=c]sprintf_P( txt, PSTR( "AVR %02%02X%02X" ), SIGNATURE_0,...
A oto prosta funkcja (kompiluje się w najnowszym AVRStudio) :D : #include <ATmega8535.h> .include "m8535def.inc" ; Prohibits use of non-implemented instructions (ATmega8535) #define XTAL 11059200 #define USART_BAUD 19200 #define _UBBR(_X,_X_BAUD) ((_X/(16*_X_BAUD))-1... #message "_UBBR =="...
przerwa usart esp8266 usart usart wskaźnik
zasilanie wycieraczki styki klapy bagażnika samsung galaxy niebieski
Jak obliczyć moc wzmacniacza WS 432? Wzór i dane Schemat instalacji wanny Saniform Kaldewei