Stos dla przerwań ustawiłeś? 4\/3!!
Nie kilka tylko 9. Ogólnie test i ewentualny reset magistrali powinien mniej więcej wyglądać tak: * test linii SCL -> jeżeli LOW to nic nie można zrobić, jeżeli HIGH przechodzimy do kolejnego punktu * test linii SDA -> jeżeli LOW to wykonujemy sekwencje resetu, jeżeli HIGH return OK Sekwencja resetu (9 razy): * wykonujesz SCL LOW, DELAY, SCL HIGH, DELAY...
[syntax=c]void _delay_init() { SysTick->LOAD = 0x00FFFFFF; SysTick->CTRL = SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_CLKSOURCE_Msk; // | SysTick_CTRL_TICKINT_Msk; } void _delay_ms(uint32_t time) { uint32_t ina, inb; while(time--) { ina = SysTick->VAL; do { inb = SysTick->VAL; inb = (ina - inb) & 0x00FFFFFF; } while (inb<72000); } }[/syntax]
Witam, prosiłbym bym o pomoc, żeby ktoś wytłumaczył, albo podał przykład jak skonfigurować przerwania zewnętrzne w tym mikrokontrolerze bo walczę z tym i nic mi nie wychodzi i zaczynam podejrzewać, że to procek jest zepsuty, albo tej sztuki jeszcze nie opanowałem :D na początku pisałem własne kody, ale po nieudanych próbach w końcu wkleiłem gotowca,...
Witam serdecznie. Jak poradzić sobie z SysTickiem i przerwaniem, ponieważ po kompilacji środowisko zwraca taki błąd: [syntax=bash]D:\workspaceAtolic\Cortexy\... multiple definition of `SysTick_Handler' src\main.o:D:\workspaceAtolic\Cortexy\De... first defined here [/syntax] [syntax=c] #include "stm32f10x.h"...
Jeżeli nie potrzebujesz dokładnych opóźnień a takich Π•oko, to IMHO delay na pętlach w zupełności wystarczy. Timerów w stm32 niby wiele...ale prawie zawsze, w większych aplikacjach znajdzie się szczytniejsze dla nich zastosowanie. Z drugiej strony stosowanie pętli opóźniających na ARM-ach trąci profanacją :) Jeżeli nie interesuje Cie korzystanie...
Z tego co widzę z ST-Link Utility, program counter stoi w miejscu, konkretnie 0x20000458, czyli cos juz wykonał ale utknął możliwe .że w miejscu gdzie czeka aż przerwanie SysTick wykona sie okreslona liczbe razy. Czy trzeba jeszcze w jakiś sposób ustawić tablicę wektorów przerwań? edit: Jednak nie wykonuje się , dodałem linijkę zapalającą diodę przed...
Jakie środowisko? Zakładam, że CooCox, ponieważ w innych takie rzeczy raczej nie występują. Odkąd pamiętam, to taki zapis zawsze poprawnie konfigurował SysTick do generowania przerwań co 1ms (1000Hz): [syntax=C] #include core_cm4.h #define FREQUENCY 168000000ul // lub dowolna inna, ale prawdziwa ///... jakiś fragment programu... if (SysTick_Config(FREQUENCY...
delay.h [syntax=c]void Delay_ms(__IO uint32_t nTime); void SysTick_Konfiguracja();[/syntax] delay.c [syntax=c]static __IO uint32_t TimingDelay; void SysTick_Konfiguracja() { RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency... } void SysTick_Handler(void) { if(TimingDelay)TimingDelay--; } void...
Cały obecny kod: http://obrazki.elektroda.pl/5926424400_1...
Jeśli chciałbym żeby działał licznik i zarazem migała dioda, ale z innym opóźnieniem, to da się to zrobić tylko za pomocą SysTic'a? Dodano po 2 Zrobiłem coś takiego. Jakby mógł ktoś jeszcze pomóc z tą migającą diodą, aby świeciła na 100ms i była zgaszona na 1s. Licznik wg moich obliczeń działa co 0,5 Hz. [syntax=c]#include "stm32f10x.h" volatile uint32_t...
Hej :) Natknąłem się na pewnie problem którego nie mogę rozwiązać otóż spróbowałem sobie zrobić prosty generator przerwań przy użyciu SysTicka (przykład z książki paprockiego) który zapalałby mi diode po 500ms. Nie wiem w czym może leżeć problem ale dioda mi nie miga. Poniżej wklejam kod main i funkcji void SysTickHandler(void): main: #include <stdint.h>...
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...
Wiesz co ja dopiero zaczynam z programowaniem stm ale jedna sprawa rzuciła mnie się w oczy. twoja funkcja jest prawie funkcją z biblioteki której definicja i rozwinięcie znajduje się w pliku core_cm4.h [syntax=c] __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible...
Ogólnie rzecz biorąc udało mi się skonfigurować buttona tak, żeby działał na przerwaniach i timerze. Ale coś zaś musiałem fundamentalnego skopać i wywala HardFault. Tym razem nie mogę uruchomić SysTicka. [syntax=c]int main(void) { volatile uint32_t count, count_max = 1000000; system_init(); pll_start(CRYSTAL, FREQUENCY); SysTick_CLKSourceConfig(SysTick_CLKSourc...
Święte słowa. Ja właśnie metodą kopypejstu wyprodukowałem pierwszy swój program na STM32 migający ledami z systickiem jako delay. Weflaszowałem go przez bootloader i odpalił za 1szym razem. Ho ho - powiedziałem sobie. Wszystko ładnie zatrybiło. Zegary się poustawiały, przerwania, wektory. Wszystko. Właśnie dzięki temu że budowałem już z kawałków sprawdzonego...
OpenOCD zaktualizowanie tak jak kompilator wcześniej. Przerabiam przykład od początku teraz na bazie tego o którym mówiłeś LPC Będe wklejał tutaj co dokładnie przerabiam. Jeśli coś robię źle to mam nadzieje że mnie poprawicie. Jeśli dobrze to mam nadzieje że komuś się przyda. 1.Import projektu lpc1114_blink_led i rename na stm32f0_blink_led 2. Zmiany...
Projekt jest dośc spory, sklada się z wiely plikow. Udało mi sie juz uruchomic wyswietlacz graficzny, klawiaturę, ADC, przerwania itd. itp. tylko z tym log10 ciagle problem. Dlatego nie dołączam całego projektu. Stosu nie konfiguruje 'recznie', chyba robi to CoIDE i chyba potrafi wyliczyć ile potrzebuje miejsca na stos. Robiłem ten program na AVR z...
W sumie może wrzucę cały program taktowanie to 16MHz ustawione w rcc_config i taka jest też wartość FREQUENCY main: [syntax=c] #include <stdint.h> #include "inc/stm32l053xx.h" #include "config.h" #include "gpio.h" #include "hdr/hdr_syscon.h" static void system_init(void); void rcc_config (void); void systick_delay(uint32_t us); void delay_ms(uint32_t...
Witam, Na początku chciałem zaznaczyć ze jestem początkujący jeśli chodzi o procesory typu ARM, a tym bardziej o obsługę FreeRTOS. Mam problem z obsługą magistrali CAN pod tym system. Wykorzystuje biblioteki pobrane ze strony www.freertos.org . Niby wszystko ładnie się kompiluje ale na magistrali nic się nie pojawia . Odpaliłem proste zadania typu miganie...
Dobry wieczór Mam podłączony do płytki wyświetlacz. Chcę wysłać przy użyciu SPI i DMA do niego dane początkowo ich liczba to 65535 i jakiś tam początkowy kolor pikseli następnie w przerwaniu od DMA końca transferu ustawiam nową wartość 11265 i inny kolor pikseli. Nie wiem z jakiego powodu poniższy kod działa w środowisku Keil, a w STM32CubeIDE już nie,...
To ja dodam podobne pytanie, dla STM32vldiscovery. Migająca diodka i dźwięki typu beeep:). Ustawienia źródła (kwarc 8MHz), pętli PLL (x3=24MHz), ten sam program programowany z Keil działa wg ustawień (Systick 1ms, delay = 1000 daje 1sek. pasuje). Oraz ten sam program .bin (lub .hex) programowany przez STM32 ST_Link Utility i diodka mruga dużo wolniej,...
Oto kod: #include <stdint.h> #include "stm32c011xx.h" __IO uint32_t Tick; void SysTick_Handler(void) { Tick++; } void Delay(uint32_t Delay_ms) { uint32_t StartTime = Tick; while (Tick < (StartTime + Delay_ms)) { } } int main(void) { SysTick_Config(12000);...
Przykład z biblioteką SPL: [syntax=c] static __IO uint32_t TimingDelay; //--------------------------------------... void SysTickConfig() { RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);// 168MHz/1000=168000/s (1ms) } //--------------------------------------...
We wcześniejszym wątku - [url=http://www.elektroda.pl/rtvforum/to... Co na początek ? zamieściłem program napisany (wsad do LPCXpresso) w asemblerze na twój układ który korzystał z tego timera i dokładnie był każdy fragment kodu opisany - co robi i jaki ma cel i był opis rejestr po rejestrze - opis tych fragmentów...
Delay wykonany na pętli for nie jest mojego autorstwa. Już od kilku dni głowię się, czemu te wyświetlanie tak wolno chodzi. Próbowałem wszystkiego, wstawiłem tego delay'a na pętli for i zadziałało. Ewidentnie jest coś nie tak z tym delay'em na Systicku. Poprawiłem kod: [syntax=c]void delay_ms(int ms) { int c = 0; SysTick -> LOAD |= SYSTICK_F/1000...
Widzę, że nikt się nie skusił na 500pkt.... Pracuję nad tym dzień i noc, teraz próbuję podejść od drugiej strony przerabiając projekt do kamery, pozamieniałem wszystkie wyprowadzenia GPIO aby pasowało to do mojej płytki, ale niestety nie chce działać - wyświetlacz cały biały. Wydaje mi się, że problem tkwi w pliku GLDC.c, ale nie wiem gdzie... main.c...
Witam, chciałem wykorzystać kartę microSD do odczytu obrazków w projekcie zawierającym wyświetlacz LCD, natomiast pojawił się pewien problem z funkcją f_open() w FatFs. Podczas testowania program gładko przechodzi f_mount() zwracając FR_OK, natomiast wykrzacza się przy f_open() zwracając błąd FR_NOT_READY. Przeczytałem zarówno na forum jak i w czeluściach...
Witam Zmagam się z akcelerometrem ADXL345 + STM32F103. Połączenie po SPI. Otrzymuję na wyjściu wartość przyśpieszenia w kodzie U2. Zapisana jest na 13 bitach, w dwóch rejestrach 8 bitowych. Po odebraniu najbardziej znaczące przesuwam << 8 i łączę z mniej znaczącymi. Problem polega na tym, że wciąż otrzymuję wartość dodatnią, mimo że na najbardziej...
Witam, Mam problem z odbiorem danych na magistrali CAN. Program wysyła dane na CAN co 500ms i to działa, natomiast kiedy pojawi się ramka na RX, program przestaje już wysyłać dane i wygląda jakby zawisł. Poniżej kod. Może ktoś sprawdzić i podać przyczynę problemu? [syntax=c]#include "stm32f10x.h" #include "stm32f10x_can.h" #include "hdr_rcc.h" #include...
Witam. Na początku muszę zaznaczyć, że jestem raczej początkującym w temacie mikrokontrolerów i ogólnie elektroniki. Kupiłem sobie stm32f0 discovery oraz termometr ds18b20, podłączyłem wszystko jak trzeba - pin 1-wire do pc7, oraz piny zasilania odpowiednio do 3v i GND na płytce. Korzystam z IAR Embedded Workbench EWARM. Termometr działa, bo procedura...
PM0056 Programming manual strona 151 The RELOAD value is calculated according to its use: ● To generate a multi-shot timer with a period of N processor clock cycles, use a RELOAD value of N-1. For example, if the SysTick interrupt is required every 100 clock pulses, set RELOAD to 99. ● To deliver a single SysTick interrupt after a delay...
Witam Wysyłam przykładowe ramki z terminala do STM32 przez driver MAX3485 i cały czas sypie mi błędami w odpowiedziach. Nie mam też pewności czy to co wysyłam z terminala do STM32 dociera bez błędów. Poniżej fragment kodu oraz zrzut ekranu. Powinienem otrzymać to co wysyłam. Czarny kolor to odebrane ramki. Proszę o pomoc http://obrazki.elektroda.pl/7456669500_1...
Poradnik dla początkujących, ale jedyne czego w nim brakuje to opisu jak z konfigurować środowisko do pisania na rejestrach. W sumie to masz już środowisko i tak naprawdę nic nie musisz konfigurować aby programować używając rejestrów. W CubeIDE masz przynajmniej pewność, że wszystkie pliki CMSIS są aktualne. Jak zrobić projekt bez HAL: 1. Wygenetuj...
Witam Idea działania programu jest taka, że po starcie na wyświetlaczu pojawia się komunikat "napis testowy", a po naciśnięciu przycisku wyświetlany jest napis "STANDBY MODE" i układ przechodzi w tryb standby. Po naciśnięciu przycisku napis wyświetla się, ale mikrokontroler nie pracuje w trybie standby (podłączony miernik na pinie IDD). Niestety nie...
Witam. Wygenerowałem kod w STM32CubeIDE. Problem polega na tym, że gdy debuguje go, to mogę swobodnie przechodzić krok po kroku do kolejnych instrukcji programu. Po wyłączeniu debugowania w celu pozwolenia mikrokontrolerowi działać swobodnie, ten nie chce działać. Znalazłem tako oto radę dotyczącą SysTicka: "You have to be very carefull when using HAL_Delay(),...
Witam Was mam taki problem i nie wiem jak sobie z nim poradzić. Słowem wstępu Mk: stm32303vct6 zestaw discovery podłączony kwarc tak jak poniżej http://obrazki.elektroda.pl/9922777300_1... zwarte SB17 SB18, rezystor już był, dolutowałem C23, C22 - 22pF (nie miałem 20pF) SB12 do MCO nie ruszałem, jeszcze nie wiem do czego mogę MCO użyć...
Dzień dobry! Przycisk podpięty do płytki mam w/g schematu: http://arduino.cc/en/uploads/Tutorial/bu... Kod mojego maina: #include <stm32f10x_gpio.h> #include <stm32f10x_rcc.h> #include "stm32f10x_flash.h" #include "misc.h" /* Scheduler includes. */ #include <stdio.h> #include "FreeRTOS.h" #include...
Dzięki za to, że napisałeś odpowiedzi na Twój problem, przydało się ale niestety nadal mam problem... Poniżej jest mój kod do odczytu przez I2C i wysyłanie po UART. Putty niestety wyrzuca "S▒▒" co restart. Ktoś wie czemu? (wiem, że ten kod nie jest najlepszy ale powinno działać. [syntax=c]#include "stm32f30x.h" void SysTick_Handler(void);...
Kod: [syntax=c] /************************* * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include "stdint.h" #include "misc.h" #define CLK_FREQ 36000000 /* User defined function prototypes */ void GPIOA_Init(void);...
Zawsze jest systick, albo prawie zawsze. Jak Ci systick chodzi to inne tez powinny. Masz debugger? - masz wyprowadzone pewnie piny SWD. W przerwaniach zewnętrznych i tak musisz miec jakaś podstawę czasu aby zrobić debouncing. No chyba że szef zrobił to "na pałę" z delayem w przerwaniu (chodzą takie przykłady w internecie) - co zresztą podejrzewam.
W kodzie jest jedno Delay :) wykorzystane tylko do celu eksperymentu bazujące na przerwaniu Systicka. Niestety po wpisaniu: GPIOA->BSRR = 1 << 5; //set bit Delay(1000); GPIOA->BSRR = 1 << 21; //reset bit układ zachowuje się podobnie jak pisałem wcześniej albo dioda cały czas świeci, a po zamianie linijek jest gaszona. A czego spodziewasz...
Może za krótko czekasz po włączeniu zasilania i próbujesz komunikować się/inicjalizować zewnętrzne urządzenie zanim zdąży zakończyć sekwencję POR. Mogę tylko gdybać bo nie wiem co masz do tego uC podłączone, ale widać że jakieś magistrale szeregowe masz wyprowadzone. No ale koniec sekwencji POR oznacza wykonanie kodu z Reset Handler ? [syntax=c]int...
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...
Okres ticka systemowego służy tylko i wyłącznie do określenia rozdzielczości delayów, timeoutów itd. Ewentualnie wpływa jeszcze na to jak często przełączane są zadania o identyczny priorytecie jeśli są stale odblokowane (tzw. round-robin scheduling), co w typowym przypadku i tak praktycznie nie występuje. Jak system nie ma co robić (albo jakiś wątek...
no już Ci to napisałem. jezeli chcesz robić prawdziwe delaye to zrób sobie przerwanie timera (czy systicka) i inkrementuj jakąś zmienną w znanym sobie okresie czasu. Jak chcesz napisać sobie taką blokująca funkcję delay - to raczej w asemblerze, czy też inline asemblerze, aby nie byc zależnym od kompilatora jezeli chodzi o długość iteracji i optymalizacje,.
Dzięki wielkie za pierwszą podpowiedź jutro sprawdzę sugestię, ale priorytety w NVIC rozumiem : Hmmmmmm... czyli w pierwszej grupie TIM1 ma preemption=0 i sub=2 natomiast systick jest w 0 grupie i ma preemption == sub == 0 czyli wg mnie powinien wywłaszczać. P.S: W timerze delay jest mi potrzebny bo wysyłam dane po rs485 i muszę odczekać czas ze względu...
[url=http://stm32f4-discovery.com/2014/0... masz pokazaną zasadę działania 1wire z N DS18B20. Co prawda kod jest oparty na F4, jednak dużo różnic nie będzie w porównaniu z F1. Zawsze zamiast tworzenia swojego timera do delaya możesz skorzystać z SysTicka.
Witam Mam problem z poprawnym działaniem SPI1 , zamieszczam kod i zrzuty z analizatora , niżej napiszę co nie gra . http://obrazki.elektroda.pl/6540904700_1... Zdjęcie sekwencji http://obrazki.elektroda.pl/6996450100_1... Przez spi chce uruchomić 74hc595 po małej przeróbce kodu działa ale , jak widać zawiesza się , był...
Proszę kod bez dodatkowych pustych lini. biblioteka [syntax=c] /* Includes ----------------------------------------... #include "TC.h" #include "systick.h" #include "GLCD.h" #include <stdio.h>; /***************************************... * Function Name : MAX31855_SPI_Init * Description...
Witam, wyświetlacz pokazuje mi nieodpowiednie znaki na ekranie. Ośmio bitowy tryb wyświetla nieprawidłowe znaki(po wpisaniu jednego polecenia wyświetlają się dwa znaki) a cztero bitowy nie wyświetla nic. Trzeba jakoś ustawić taktowanie zegara? Używam ekspandera I2C PCF8574 czyli D4-D7 dane, D0-D3 rs,rw,en,led tak ? Orientuje się ktoś co robię źle? Jestem...
Cześć. Tak jak napisałem w nazwie tematu posiadam ARM'a STM32F072RB. Podłączyłem kolejno kolumny, później wiersze klawiatury matrycowej 4x3 do portów GPIOC1-GPIOC7. Chcę odczytywać wciskane klawisze na klawiaturze i napisałem jak na razie taki kod: [syntax=c] #include "stm32f0xx.h" #include <stdio.h> volatile uint32_t timer_ms = 0x0; void delay(int...
SysTick jest chyba najprostszy, jedna linijka kodu aby 'zapuścić'. Obsługa przerwania SysTick nie wymaga niczego - żadnego kasowania flag itp. dlatego w prostych projektach jest najczęściej używany jako timer delaya. Nie wymaga także skomplikowanych obliczeń - tylko zegar, podział przez 8 lub brak podziału, podział przez wartość odliczania - i koniec....
Tak czytając ten fragment odniosłem wrażenie że omawiasz opóźnienie związane z reakcją na przerwanie, a nie na reakcje samego wątku. Chodzi o opóźnienie reakcji na "zdarzenie odblokowujące wątek". Przykładowo wątek A czeka na semafor, wiec jest w stanie "zablokowanym". Teraz następuje zdarzenie - semafor zostaje "ustawiony" (przez przerwanie lub przez...
Dziękuję kolegom za cenne uwagi. Co do wersji z os.mbed.com, to próbowałem ją do siebie przeportować ale niestety efekt był podobny. Poprawiłem kod według wskazówek kolegi Freddie Chopin, przerwanie SysTick jest generowane co 10 us oraz wydłużyłem czasy dla półbajtów, ale efekt jest dalej taki sam. Pojawiło się też słówko volatile. Kod wygląda teraz...
Całość kodu jest dość spora:) Czekam na flagę na pewno, ale nawet jeżeli nie, to zauważ że pomiędzy wywolaniami odczytu adc są spore odcinki czasu. Ano, zazwyczaj w takich sytuacjach używam volatile, tyle że wtym przypadku optymalizacja jest wyłączona. Program w zasadzie skończony, a zajmuje 20kB ze 128, więc optymalizacji nie właczałem. Dodano po 4...
[syntax=c] #include <stm32f4xx.h> #include <stm32f4xx_rcc.h> #include <stm32f4xx_exti.h> #include <stm32f4xx_tim.h> #include <stm32f4xx_gpio.h> #include <misc.h> GPIO_InitTypeDef display[8], power[4]; int digits[10] = {0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F, 0x01, 0x09}; unsigned int time = 0; void SysTick_Handler(){...
Witam. Postanowiłem zgłębić tajniki mikrokontrolerów STM32. Wybór padł na procesor STM32F3 Discovery. Mam problem z poniższym kodem. Jest to przykład działania przetwornika ADC. Problem polega na tym, że nie wiem dlaczego to nie działa. Uruchamiam debugger, biorę krokową pracę, a program w zasadzie zatrzymuje się na linii ADC1ConvertedVoltage jest równa...
Spróbuj takiego kodu. Niestety nie sprawdzałem go bo nie mogę skompilować Twojego kodu. [syntax=c] #include "stm32f10x.h" #include "TouchPanel.h" #include "systick.h" #include "GLCD.h" #include "stdio.h" #define TP_INT_IN GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6) void TPintInit(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GP...
Proste zadanie a kod z użyciem SPL totalnie nieczytelny i do tego niedokładny... Ja tylko nie wiem jak komentarz ma się do wpisanych tam wartości: /* SysTick end of count event each 10ms */ SysTick_Config(RCC_Clocks.HCLK_Frequency / 1680 / 2); Zakładając, że HCLK wynosi 168M, to w jaki sposób wpisanie do SysTick wartości 50k ma dać opóźnienie 10ms?...
Witam, Chciałem sprawdzić STM32Lxx pod kątem energooszczędności. Ściągnąłem NUCLEO-L053R8 i AtollicStudio. Po założeniu nowego projektu wymieniłem bibliotekę STM32L0xx_HAL_Driver na najnowszą wersje. Zmieniłem zegar dla procesora z MSI na HSI. Program miga diodą. Co kilka uruchomień dostaję HardFault na samym starcie aplikacji przy konfigurowaniu zegarów....
Witam, Próbuje uruchomić wyświetlacz oparty o ILI9341 z wykorzystaniem SPI. Wyświetlacz sprawdzałem pod Arduino i działa, jest sprawny. Próbuję podpiąć go do STM32F407ZET6. SPI działa, widać że są przesyłane dane na oscyloskopie. Zaczerpnąłem procedurę inicjalizacji wyświetlacza z Adafruit dla Arduino ale wyświetlacz jak był biały tak jest po wgraniu...
GPIOC->CRH ^= 5<<16; Gorzej być nie może. Najpierw wyzeruj całe pole. Potem OR z wartością docelową. W pliku z rejestrami masz odpowiednie makra. Warto sobie z biegiem czasu tworzyć dodatkowe opisujące pola wielobitowe. Konfiguracja portów jest pod tym względem najgorsza. W jakim sensie gorzej być nie może? Nieczytelności? To byłoby dobre...
Cześć, od 2 dni zmagam się z modułami NRF24L01 i dwoma płytkami STM32. Płytki STM32 NUCLEO L053R8 i STM32F103 wykorzystujac biblioteki HAL i cubemx. Niby oba układy zwracają poprawne rejestry : https://obrazki.elektroda.pl/1575646300_... Ale sama komunikacja w sobie nie działa. Nie odbieram żadnych pakietów. PYTANIE - czy w biblioteka...
Witam, otóż mam problem, a mianowicie chciałbym obsłużyć przerwanie z pinu ALRT z przetwornika ADS1115 w celu wyeliminowania opóźnienia które teraz stosuje przy odczycie każdego z kanału (delay(20)) dokumentacja: https://cdn-shop.adafruit.com/datasheets... z góry dziękuję za pomoc mój dotychczasowy kod: [syntax=c] /* Includes ----------------------------------------...
Jakiego typu jest absolutnie absurdalny i perwersyjnie wypaczony pomysł, aby mając OSa robić takie delay'e w wątkach ??? Również o podobną perwersję zakrawa wykonywanie przerwania timera co mikrosekundę tylko po to, zeby zmniejszać tam jakąś zmienną. Wez timer, skonfiguruj go jako one-shot, skonfiguruj mu takt na 1us, do ARR wpisz chciany czas w us,...
Dodałem tam systick delay 1 ms, ale na razie nie udaje mi się wprowadzić procesora w taki stan, więc w między czasie dam znać czy się udało. Oczywiście zmieniłem konfig pinu: [syntax=c] if (I2C_USE->SR2 & I2C_SR2_BUSY) { // Still Busy gpio_pin_cfg(I2C_PORT, I2C_SCL, gpio_mode_output_PP_LS); while (I2C_USE->SR2 & I2C_SR2_BUSY) { I2C_PORT->ODR ^= I2C_SCL;...
Systick i delay_ms sa w jednym module main.c Postaram sie go okroic do minimum, nie mam teraz kodu pod reka aby cos wkleic.
Dlaczego wyskakuje mi błąd "Undefined symbol Init_GLCDPORT?" [syntax=c] /* Includes ----------------------------------------... #include "main.h" #include "stm32f4xx_gpio.h" /* Private typedef ----------------------------------------... /* Private define ----------------------------------------...
Dodano po 12 Wynik z atmega328 https://obrazki.elektroda.pl/4275963800_... To wygląda prawidłowo, wysyłam to 0xf5 czekam 30ms potem 0x81 i odczytuję dwa bajty z ack i jeden z nack i warunek stop. Następnie wszystko się powtarza bo jest w pEtli while wywoływane. A w stm niema tych trze bajtów, tylko są dwa i z nack.
Pokaż resztę kodu bo tam jest pewnie blad Wartość Q=7 jest niepoprawna, powinno być 6. No chyba że niepoprawnie rozgryzłem tego hala... Nie wiem czy istotne jest ustawienie dla USB z którego nie korzystam ? Dodano po 30 Pokaż resztę kodu bo tam jest pewnie blad Wartość Q=7 jest niepoprawna, powinno być 6. No chyba że niepoprawnie rozgryzłem tego hala......
zrobilem taka funkcję która odczytuje plik, plik slyszłe odtwarzany jest cały ale niestety są ścinki jakby przycinało transfer, ustawiałem preskalery na rozne sposoby ale nic to nie daje, liczbe bufora również. wrzucalem mp3 , 96kbps,128 kbps, 320kbps to samo, nie moge uzyskać płynności. do vs mam podlaczony oscylator kwarcowy 12.288 MHz, [syntax=c]int...
Witam, mam taki problem. Walczę z obsługą karty SD na stm32f4 discovery. Niestety po wywołaniu funkcji f_open w najlepszym przypadku otrzymuję wynik FR_NOT_READY oczywiście bez względu na to czy karta jest czy jej nie ma. Załączam kod funkcji main oraz funkcje związane z spi. Kody są pobrane z forum, ja dopisałem jedynie obsługę SysTick do wywoływania...
Chciałbym podzielić się swoim tworem DS18B20 + STM32F4 Discovery po niecałych 2 miesiącach obcowania z poradnikiem. Zaczynając od zera jeśli chodzi o znajomość mikrokontrolerów z podstawową znajomością C. [syntax=c]#include "stm32f407xx.h" void delay(uint16_t time) { TIM2->CNT = 1; while (TIM2->CNT<= time); } static void reset (void) { GPIOB->MODER...
Poprawiłem. Teraz main wygląda tak: [syntax=c]/** ****************************************... ** ** File : main.c ** /* Includes */ #include <stddef.h> #include "stm32l1xx.h" #include "discover_board.h" #include "stm32l_discovery_lcd.h" #include "stm32l1xx_it.h" #include "lcd_hd44780_lib.h" /* Private typedef...
Mam problem z poprawnym skonfigurowaniem wyświetlania z Noki 3410 z STM32L-DISCOVERY przez SPI. Czasami na wyświetlaczu pojawia się zbiór kropek (dołączam zdjęcie), innym razem nic nie pojawia się na wyświetlaczu. Proszę o pomoc w napisaniu poprawnego kodu. Zdjęcie wyświetlacza: http://obrazki.elektroda.pl/8093275400_1... Oto mój kod:...
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,...
Witam od dwóch dni walczę z bibliotekami Fatfs, i mam niezidentyfikowany błąd, wykończyły mi się pomysły. Sprawa wygląda tak posiłkuje się przykładami z książki STM32 w praktyce Autor: Krzysztof Paprocki. W zasadzie chce skompilować gotowy kod , (przykład R9 sd_fatfs) działam na układzie STM mini http://allegro.pl/zestaw-uruchomieniowy-...
Witam, mam problem z termometrem DS 18B20. Termometr zasilany jest pasożytniczo tylko przez środkową nogę napięciem 3,3V i podłączony do portu PB15. Pozostałe nogi do masy. Poniżej podaje funkcje napisane do termometru. [syntax=c] #include "systick.h" #define portW1 GPIOB #define wire1 GPIO_Pin_15 uint16_t RESET_PULSE(void) { uint16_t PRESENCE=0; GPIO_ResetBits(portW1,...
Witam Posiadam zestaw STM32F4-Discovery i próbuję uruchomić projekt, który na wyświetlaczu LCD będzie wyświetlał odczyty z akcelerometru. Program jest z ksiązki p. Marka Galewskiego (zmieniłem konfigurację portów GPIO, żeby była kompatybilna STM32F4; w książce opisywany jest akcelerometr LIS35DL, ale adresy rejestrów zgadzają się z tym z zestawu Discovery)....
Witam. Od jakiegoś czasu walczę z płytką STM32F334 DISCO + wyświetlacz 16x2. Napisałem kod z pomocą StdPeriph - zadziałał, chciałem trochę poprawić kod i napisałem go rejestrami - nie działa. Przebiegi są dokładnie takie same. Przechodząc do rzeczy, zacznę może od kodu który działa : Sam kod wygląda tak : https://obrazki.elektroda.pl/7092947700_...
Witam, od dłuższego czasu walczę z tym problemem i nie potrafię znaleźć rozwiązania. Mam projekt, który pochodzi z anglojęzycznego tutoriala: [url=http://www.mind-dump.net/configurin... Wrzucony do Keila i skompilowany działa jak powinien. Problem w tym, że próbuję przenieść go na wykorzystanie bibliotek HAL, z których...
Witam, znalazlem kawalek funkcji na ustawienie procesora na 72MHz i wydaje mi sie, ze działa bo uzywam system tick do togglowania pinu, ale chce uzyc poprostu funkcji dostarczonych od stm. Na screenie widze ze jest gdzies definicja o ustawieniu procesora typu "STM32F10X_LD_VL" przez co program chodzi na 24MHz. Gdzie ona jest? http://obrazki.elektroda.pl/5784698000_1...
To może wgraj oryginalną zawartość z Nucleo F411 jaka jest w nówkach na dzień dobry, by przynajmniej sprawdzić Nucleo plus ST-link. On tam miga i reaguje na przycisk może pamiętasz: No jest jakiś postęp chociaż nie wiem czy można to nazwać postępem. Wgrałem ten program, wyrzucił mi jakiś błąd elf loadera ale ostatecznie znalazł się w pamięci: Dodano...
Hejka, od niedawna mam płytkę stm32 discovery. Próbuję już 2 dzień i mi nie działa transmisja po rs232.. układzik łączący z kompem zrobiłem na max3232 i jak sprawdzam echo (rx z tx) to wszystko ładnie śmiga. A jak podłącze to do pinów PA9 i PA10, to cały czas otrzymuję znaki puste. Wydaje mi się, że program poprawnie napisałem.. [syntax=c] #include...
Przeorałem wszystko co było w internecie i niby proste pod warunkiem że odczyta 4 bajty z sterownika. I tu się niestety pojawia problem. mimo tego że mam przykład do komunikacji z dotykiem po SPI to w przypadku tego urządzenia komunikacja nie działa :/ Jeżeli ktokolwiek miałby rzeczowe rady chętnie wysłucham zamieszczam cały projekt w KEIL biblioteka...
Hej. Jestem bardzo świeży w temacie mikrokontrolerów i od razu mam problem z taką błahostką jak odczyt danych z czujnika DHT11. Moje urządzenie to STM32L152RBT6, korzystam z znienawidzonych (sic!) tutaj bibliotek STM32L1xx_StdPeriph_Driver. Póki co chcę ich używać. Nie mam w zwyczaju pisać na żadnych forach ponieważ wolę wcześniej poszukać jednak tutaj...
Na szybko udało mi się uruchomić i usłyszeć jakieś dźwięki. na początek bez obsługi karty pamięci, próbkę dźwięku wrzuciłem na sztywno do tablicy. Niestety nie mam źródła tej próbki i nie mogę porównać tego co słyszę z oryginałem (znalazłem coś w internecie). A słyszę it's working oraz przydźwięk :( Na szybko też nie bawiłem się w ustawianie drugiego...
Witam, Mam jeden z dwóch często występujących problemów. Nie wiem czy to wina konstrukcji czy kodu. Z napięcia około ~12V mam zrobiony dzielnik napięcia (4K7 i 8K) tak, że na wyjściu mam około 2.44V. Po wgraniu kodu otrzymuje następujące wyniki: 2715 $ 2723 $ 2721 $ 2718 $ 2717 $ 2715 $ Jak widać, rozbieżność jest w granicy moich oczekiwań jak na rezystory...
Witam forumowiczów, Od pewnego czasu staram się zaimplementować filtr Madgwicka (MARG) dla układu AltIMU10 v4. http://obrazki.elektroda.pl/2872160800_1... W Internecie nie ma niestety zbyt wiele informacji na ten temat, a ja nie mam doświadczenia w tego typu algorytmach. Wartości Pitch, Roll i Yaw, które otrzymuję, zdają się być wręcz...
Tu jest fragment całego programu : [syntax=c]#include "stm32f0xx.h" #include "KS0108.h" #include "eeprom.h" #define PRZYCISK1_PORT GPIOF #define PRZYCISK1_PIN GPIO_Pin_4 #define PRZYCISK2_PORT GPIOF #define PRZYCISK2_PIN GPIO_Pin_5 #define STACYJKA_PORT GPIOA #define STACYJKA_PIN GPIO_Pin_2 #define LPG_PORT GPIOA #define LPG_PIN GPIO_Pin_3 #define PB_PORT...
Witam, Nie mogę spowodować , aby działała funkcja printf w programie napisamym w Coocoxie. Program się kompiluje, nie ma błedów, widać w terminalu napisy pochodzące od funkcji send_char, natomiast od printfa nie ma. Czy robię jakiś bład: [syntax=c]#include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_usart.h" #include "stm32f10x_rcc.h"...
Witam, mam problem z uruchomieniem przykładu USB MSC device od ST. Przerobiłem go, aby zamiast karty SD wykorzystać dysk twardy na ATA. Funkcje obsługi dysku są na 100% dobre. Problem jest raczej w USB. Po prostu komputer wykrywa nieznane lub uszkodzone urządzenie. Za bardzo nawet nie wiem, jak się zabrać za szukanie błędów. Przykład USB Host mi działa....
Nie, procek się nie grzeje Zworek nie ruszałem, St-link (oba) na dole JP2 i JP3 też i na górze JP1 zwarte jak były Programuję w środowisku Keil v5 #include "delay.c" #include "delay.h" #include "stm32f4xx.h" void GPIO_Config(void) // konfiguracja portow gpio { GPIO_InitTypeDef GPIO_InitStructure; //tu nalezy...
Witam. Chcę za pomocą płytki STM32F334 DISCO sterować wyświetlaczem 16x2 przez interface 4-bitowy. Połączenie wygląda tak : VSS - GND VDD - 5V VO - NC RS - PB13 RW - GND E - PB15 D4 ... D7 - PA12 ... PA15 A - przez rezystor 220 ohm do 5V K - GND Kod napisany w "System Workbench for STM32" zgodnie z datasheet'em sterownika wyświetlacza. https://obrazki.elektroda.pl/3189253300_...
Witam, Pozmieniałem trochę ten domyślny program. Moja część zawarta jest w linijkach "moj program" reszte kodu wyłączyłem. Proszę o sprawdzenie, bo jeszcze czekam na kuriera z moim zestawem STM32F0 Discovery. ****************************************... ** ** File : main.c ** ** Abstract : main function. ** **...
Cześć, Miałem już problem z konfiguracją FreeRTOSa. Szczegóły: [url=]https://www.elektroda.pl/rtvforum/... Myślałem, że po dorzuceniu tych 3 linijek do FreeRTOSConfig.h i zakomentowaniu jednej z implementacji SysTicka wszystko już będzie działać jak należy... A jednak nie :P Pojawił się kolejny problem. Chcę skorzystać z funkcji...
Cześć. Nie wiem dlaczego uc zawiesza się na czekaniu na zakonczenie generowania startu chodzi o I2C 3 https://obrazki.elektroda.pl/9115828100_... Inicjalizacja I2C [syntax=c]void i2c_init(void){ RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN | RCC_AHB1ENR_GPIOCEN; RCC->APB1ENR |= RCC_APB1ENR_SPI3EN; GPIOA->MODER |= GPIO_MODER_MODE8_1;...
Witam forumowiczów! Po przesiadce z AVR na STM32 chciałbym powtórnie napisać kod pod I2C do czujników, ale coś stoi na przeszkodzie. http://obrazki.elektroda.pl/3517599900_1... http://obrazki.elektroda.pl/6433591700_1... Dana którą odczytuję jest niezgodna ze stałą rejestru "who_am_i", przy czym zbieżna z SLAVE ADR+R/W...
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;...
stm32 systick delay systick delay stm32 systick
klatkowanie antena ustawić stacje radiowe kamera kabel cofać
Luz jałowy hamulca ręcznego w Passacie B5 1.9 TDI Sterowniki do ekranu PSP 1004 na Raspberry Pi