-
Zawartość
12 -
Rejestracja
-
Ostatnio
Wszystko napisane przez arasu
-
Czesc, udalo mi sie ostatnio napisac na blue pillu prosty voice recorder, ale przy odtwarzaniu nagrania slyszalem mase stukow (mimo to glos jest calkiem rozpoznawalny). Myslalem ze to moze byc problem z zasilaniem czy cos, ale zrzucilem sobie nagranie na program ala audacity i podejrzenie o stuki padlo na SPI. Jezeli chodzi o kod to uzywam ADC z czestotliwoscia 16kHz i wypelniam bufor o rozmiarze 512. Jak bufor jest pelny robie zapis do karty SD za pomoca biblioteki FATFS( ktorej nie jestem pewien czy uzywam poprawnie), wszystko wygenerowane w CUBEMX i zbudowane na plytce stykowej.
-
STM32 Pomiar ADC przez przerwania - kurs
arasu odpisał w temacie użytkownika Pixelx • Mikrokontrolery
Ja bym dorzucil HAL_ADC_Start_IT(&hadc1); na koniec przerwania ADC, jak to nic nie da to bym sprawdzal dalej przez debuger co sie dzieje na rejestrach ADC. Ewentualnie sprawdzilbym jeszcze co robi ta flaga hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; z F4 ostatnio malo co sie bawilem, takze nie pamientam co za ficzery ma tamtejszy ADC. -
STM32 Ustawienie DMA do wyciagania pojedynczego wyniku konwersji ADC po każdym jej zakończeniu
arasu odpisał w temacie użytkownika arasu • Mikrokontrolery
Dzieki za odpowiedz, okazalo sie ze debuger w STM Cube ide nie zatrzymuje timerow i wartosci rejestru docelowego DMA nie jest aktualna na zlapanym breakpoint. Druga sprawa, okazalo sie ze przy podlaczeniu DMA z ADC przerwanie HAL_ADC_ConvCpltCallback juz nie bedzie obslugiwac zakonczenia pojedynczej konwersji, a zakonczenie wypelniania calego bufora docelowego. Ale pojawilo sie u mnie kolejne pytanie z DMA, chcialbym zeby moj docelowy bufor byl 8bitowy, dlatego ADC chce miec z przesunieciem danych do lewej strony [ dddd dddd dddd xxxx], dokumentacja sugeruje ze tak sie nie da, ale moze j -
Czesc, Od kilku tygodni probuje napisac na stm32f103 rejestrator glosu z zapisem na karte SD. Chce do tego uzyc ADC z triggerem od TIM3, zeby probkowac z odpowiednia czestotliwoscia, i DMA(potrzebuje sie tego nauczyc pod katem obslugi kamerki CMOS). Brudna robote z generowaniem kodu wykonal za mnie Cube IDE. Poza tym stworzylem dwa bufory na dane, tak zeby nimi zonglowac pomiedzy ADC i DMA uint8_t buf[2][BUFF_SIZE]; uint8_t buf[2][BUFF_SIZE]; Teraz w main odpalam DMA razem z ADC i mowie gdzie maja wszystkie dane ladowac i ile tego ma tam byc ( tam wyzej BUFF_SIZE ma 512 byte) H
-
Dzięki atMegaTona za odpowiedź. Aktualnie mcu zajmuje się tylko i wyłącznie zapisem całej ramki do ramu a następnie wysłaniem jej do PC. Nic więcej się nie dzieje, także nie ma żadnych przerwań które by robiły tu problemy. Zajme się teraz konfiguracją zegara w rejestrach, może to coś pomoże. Dodatkowo myśle że dodam do kodu logike, dzięki której PC będzie odpytywał STM o konkretne ramki i potwierdzał otrzymanie prawidłowej ramki aż do uzyskania całkowitego obrazu. Na tą chwilę mam ustawiony obraz z paskami do debugowania i widać że coś jest nie halo bo pixele dla konkretnego pasa się zmie
-
Cześć, po ponad półrocznej przerwie kontynuuje zmagania z z kamerką OV7675 z użyciem płytki Nucleo z stm32f446RE. DCMI ani DMA jeszcze nie udało mi się uruchomić ale na swój AVR'owy sposób jestem w stanie UARTem (baud 2M) przesłać w grayscale wartości pixeli z stm32 do apki w Python na moim PC. Po wygenerowaniu obraz jest akceptowalny, ale daleko mu do tego co widziałem na youtube, gdzie obraz nie dość że był czysty to jeszcze przsyłany na żywo( u mnie wygenerowanie zdjęcia przy 5 sekundach to jest dość szybko ^^). Problem wygląda tak: przesyłane dane a dokładniej linijki ( pixele pr
-
Wracam już po lekturze Dalej jednak nie wiem czemu przebieg, który podesłałem w poprzednim poście miałby być totalnie zły ( poza tym STOP/START, którego tam nie powinno być, zaraz po wysłaniu pierwszego bajtu). Zastanawia mnie też jak powinienem użyć biblioteki Wire, skoro robię to nieprawidłowo. Tak odnośnie jeszcze podlinkowanych źródeł przez @marek1707 ( za które bardzo dziękuję ), jak opis samego protokołu i2c był fajny i przejrzysty, tak dokumentacja SCCB jest dla mnie strasznie ciężka do strawienia (mało tam ścisłości jak dla mnie). Dla przykładu opis odczytu. Podane ta
-
Wrzucam w załączniku wersje przebiegów jakich się spodziewam na szynie danych. @deshipu sprawdzę na pewno jak tylko uda mi się odkopać tamten stary układ na atmega328 ^^ @marek1707 co do START/STOP to wiele źródeł w sieci powiela ten schemat: start - adres - rejestr - stop - dane, szkic skopiowałem z githuba ArduCAM więc przyjąłem to jako pewnik, ale zajrzałem do manuala atmegi i tam rzeczywiście stop jest na końcu. Zaraz sprawdze czy poprawiony szkic zmieni stan rzeczy.
-
Cześć, bawię się od dłuższego czasu "arducam". Mam surowy moduł OV7670 bez ramu i walcze z nim na arduino nano. Już wcześniej udało mi się za pomocą samej atmegi 328 wyciągnąć z tej kamerki obraz, ale wtedy powiedzmy że nie wnikałem w ustawianie rejestrów kamerki, ściągnałem gotowca, dopasowałem do swojego uC, wgrałem i jakoś to działało. Teraz chciałem podejść do tematu troche ambitniej i ogarnąć sobie ustawienia kamerki( zmiana rozdzielczości, naświetlenia itd), no i zacząłem bawić się interfejsem SCCB kamerki. No i pojawiły się kłopoty. Do komunikacji od strony arduino użyłem bibl
-
STM32 CubeMX USB driver - brak możliwości połączenia
arasu odpisał w temacie użytkownika arasu • Mikrokontrolery
Przestawienie jednej zworki na plytce z 00 na 10 pozwoliło na odzyskanie połączenia pomiędzy płytką i ST Link utility( wcześniej przy programowaniu nie musiałem ich przestawiać). Z kodem było wszystko w porządku, nie trzeba nic zmieniać w pliku .cfg, kod wygenerowany przez Cube Mx działa poprawnie. Po wgraniu kodu trzeba wrócić do ustawienia 00 na zworkach i podłączyć płytke przez USB, komputer wtedy rozpoznał płytke i zainstalował co trzeba. Teraz moge wysyłać komendy do płytki przez Putty po kablu USB Temat do zamknięcia -
Hej, próbowałem wgrać driver do komunikacji PC<->STM f103c8 przez usb. Projekt wygenerowałem w CubeMX (windows 7) zgodnie z tym poradnikiem: Z tym wyjątkiem, że nie zmieniałem ustawień w pliku .cfg (w filmie 8:16). Przy kompilacji projektu natknąłem się na problem z tworzeniem pliku .hex zamiast .bin w folderze debug projektu. W tym celu w ustawieniach swojego IDE (Eclipse for STM32), w C/C++ Builder>Settings zakładka Build Steps, rubryka post build steps -> Command zamieniłem linijke: arm-none-eabi-objcopy -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildAr
-
Kurs Arduino - #1 - podstawy Arduino oraz środowisko
arasu odpisał w temacie użytkownika Komentator • Artykuły redakcji (blog)
siemanko, ja również miałbym pytanie odnośnie zestawu arduino uno plus, czy zestaw zawiera tą plastikową skrzynkę( jest widoczna na zdjęciach ale nie widnieje na liście poniżej, a bardzo by się przydała ;D)?