Skocz do zawartości

antMan

Użytkownicy
  • Zawartość

    9
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O antMan

  • Ranga
    2/10

Informacje

  • Płeć
    Kobieta
  1. No właśnie srednio to się uda. Chodzi o to że daję jakiś sygnał na ADC mikrokontrolera. i jeśli ten sygnał przekroczy jakąś wartość i będzie ponad tą wartością przez np 10 sekund to niech się zapali dioda na początek. Myślałem jeszcze o zliczaniu stanów wysokich na pinie, które będą na nim właśnie gdy ta wartość będzie przekroczona, ale to też nie jest dla mnie łatwe do ogarnięcia
  2. Witam. Niedawno zacząłem przygodę z STM32 i mam problem. W funkcji przerwania mam pewien warunek, zwykły if. Chciałbym, aby timer zaczął odliczać czas od momentu spełnienia tego warunku. Skonfigurowałem timer odpowidnio do swoich potrzeb i teraz pojawiają się 2 pytania: 1. Jak wywołać rozpoczęcie zliczania czasu w zależności od spełnionego warunku? Po prostu w pętli if(...) { TIM enable } czy odwołanie do przerwania (IRG Handler) a powód dla którego nie moge sam wypróbować różnych opcji to... 2. Jakie funkcje w bibliotekach HAL odpowiadają funkcjom TIM_GetITStatus oraz TIM_ClearITPendingBit ? Z góry dziękuję za odpowiedzi i pozdrawiam!
  3. Oczywiście, już mówię o szczegółach. Otóż, dostaję sygnał z przetwornika ADC do mikrokontrolera w postaci uin16_t. Muszę zrobić właśnie analizę FFT tego sygnału, w związku z tym potrzebuję przekonwertować tą uint na typ complex. ALBO jak uzyskać dane o typie complex z przetwornika? Chodzi o mikrokontroler STM32F030, płytka ewaluacyjna Nucleo.
  4. Witam Tak jak w temacie Czy jest jakakolwiek możliwość przekonwertowania liczby typu unsigned int (uint) na liczbę typu complex? Z góry dziękuję za odpowiedzi lub podpowiedzi Pozdrawiam
  5. Witam Mam problem ze zwykłym wgraniem biblioteki "arm_math" do projektu w środowisku System Workbench for STM32. Moim mikrokontrolerem jest STM32F030, potrzebuję zrobić transformatę Fouriera sygnału z ADC. Podstawowy projekt się buduje, jednak gdy chcę dodać bibliotekę arm_math, która jest konieczna do tego zadania pojawia mi się błąd: "Define according the used Cortex core ARM_MATH_CM7, ARM_MATH_CM4, ARM_MATH_CM3, ARM_MATH_CM0PLUS or ARM_MATH_CM0" i nie wiem jak to rozgryźć. Bibliotekę CMSIS dodawałam zarówno standardowo jak i poprzez Wlaściwości projektu i wciąż to samo. Z góry dziękuję za podpowiedzi.
  6. Witam wszystkich. Chcę wykonać czujnik pewnego rodzaju szumu, do którego potrzebuje dobrego wzmacniacza mikrofonowego. Nie będzie to głośny dźwięk ale właśnie coś jak szum, o raczej dość niskich częstotliwościach. Pragnę zaznaczyć, że dopiero się uczę elektroniki, więc nie wszytko jest dla mnie proste i logiczne do rzeczy. Wypróbowane już były wzmacniacze operacyjne TL082 i lm385 i efekty obserwowane na oscyloskopie mnie do końca nie zadowalały. Teraz chce spróbować z ts272cn. Niebardzo wiem jak dobrać rezystory do tego wzmacniacza. W załączniku jest zdjęcie połączenia układu. Przez kilka dni nie mam dostępu do komputera stąd układ w takiej a nie innej postaci. Bardzo proszę o jakiekolwiek wskazówki... Pozdrawiam
  7. Z konfiguracjami też próbowałam, i mam domyślne, więc nie trzeba ich ustawiać (jak są usatwione to nie ma różnicy w transmisji- a raczej jej braku) Literówka równiez poprawiona, but still... Juz nawet zmieniłam, żeby było łatwiej, zamiast wysyłania zdania to wysyłam pojedynczy char i wciąż to samo
  8. Witam Po pierwsze proszę o wyrozumiałość, gdyż dopiero zaczynam programowanie STMów. Mam problem z komunikacją UART z plytki Nucleo F030R8. Korzystam z biblioteki StdPeriph. Ogólnie robię jak w kursie STM32, jednak biblioteka StdPeriph dla F030R8 nie ma funkcji konfiguracji alternatywnych funkcji pinów (RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE) . Próbowałam robić to ręcznie do danego pinu, ale też nie działa to do końca. Nie ma również poleceń konfiguracji wejścia pływającego (próbowałam z GPIO_PuPd_NOPULL - bez skutku) Mój kod: #include "stm32f0xx.h" void send_char(char c) { while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); //czwkamy az bufor nadawczy bedzie wolny a nastepnie wysyłamy dane USART_SendData(USART2, c); } void send_string(const char *s) { while(*s) send_char(*s++); } int main(void) { RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); GPIO_InitTypeDef gpio; USART_InitTypeDef uart; GPIO_StructInit(&gpio); gpio.GPIO_Pin = GPIO_Pin_2; //TX gpio.GPIO_Mode = GPIO_Mode_AF; GPIO_Init(GPIOA, &gpio); gpio.GPIO_Pin = GPIO_Pin_3; //RX gpio.GPIO_Mode = GPIO_Mode_AF; GPIO_Init(GPIOA, &gpio); USART_StructInit(&uart); uart.USART_BaudRate = 115200; USART_Init(USART2, &uart); USART_Cmd(USART2, ENABLE); while(1) { send_string("Hello world!\r\n"); } } Odpalam w RealTermie. Prędkości sie zgadzają wynik jaki otrzymuję jest następujący: Uprzedzam wiadomości z prędkościami- w akcie desperacji próbowałam już na każdej możliwej prędkości transmisji. Może to być bardzo głupi błąd- bo zwykle właśnie takie popełniam
  9. Witam Po pierwsze DZIĘKUJĘ za ten kurs! Jest naprawdę super! Mam jednak pytanie, ponieważ pracuję na płytce NucleoF030R8 i w związku z tym biblioteki i niektóre funkcje się nieco różnią - chodzi mi konkretnie o włączenie funkcji alternatywnych, ktorych nie mogę znaleźć w żadnej bibliotece i już zwyczajnie nie wiem jak mogę je włączyć w tej płytce. Próbowałam wykonać poprzednią lekcję, podpunkt przerwań od przycisków bez włączenia tej funkcji i efekt był taki jak się spodzewałam- płytka nie zadziałała. Ktoś może wie gdzie znajdę, lub jak brzmi polecenie, któr włącza funkcje alternatywne pinów w mk f030r8?
×
×
  • Utwórz nowe...