Skocz do zawartości

KubaMiszcz

Użytkownicy
  • Zawartość

    5
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O KubaMiszcz

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    cieciencienopole
  • Zainteresowania
    konszachty, knucie spiskow i wplywanie na decyzje banku swiatowego
  • Zawód
    Mad Scientist - chlopek roztropek
  • www

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Zrzuty są z visual studio, chyba z zainstalowanym visual micro które nie jest darmowe, dalej mowa o visual studio Code, dalej: twórcy vscode? Przecież to projekt open Source, vscode to jedno a wtyczki to drugie, jak już to twórcy wtyczki do vscode, taki trochę artykuł na pałę napisany, bo mimo że nazwy podobne to są zupełnie różne rzeczy
  2. czy przy enkoderze nie wystarczy sprawdzac stanu B tylko w momencie zbocza narastajacego na A? i jesli niski to PRAWO a wysoki to LEWO? odpada myk z tym dzieleniem przez 4 z kolei ja mam inny problem: jak uruchomic kilka kanałów PWM timera w trybie DMA? robilem wszystko jka na kursie tylko powtórzyłem 3 razy linijke volatile uint32_t duties[3]; uint32_t potReadings[3]; ....... HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_1,&duties[0],1); HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_2,&duties[1],1); HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_3,&duties[2],1); .... while (1) for(int i=0;i<3;i++){ duties[i]=map(potReadings[i],0,ADCResolution,minCCR,maxCCR); } //TIM1->CCR1=duties[0]; //TIM1->CCR2=duties[1]; //TIM1->CCR3=duties[2]; } i działa tylko jeden, ten jako pierwszy uruchamiany kanał, w rejestrach DMA adresy sa poprawne dla kanałów DMA 2,3 i 6 (takie sa w CubeMX dla tych kanałów TIM1), tak samo adresy kolejnych elementow duties ale juz rejestry CCR to tylko CCR1 sie zmienia, pozostale sa na 0x0000 jak ręcznie je wypełniam przez TIM1->CCR2=1200 to rejestr zmienia stan ale zero reakcji an pinie przy sledzeniu krok po kroku tych instrukcji HAL_TIM_PWM_Start_DMA program wchodzi w switch(channel), i za kazdym razem w odpowiedni switch, potem uruchamia HAL_TIM_PWM_Start_IT, i tak dla kazdego kanalu, ale w main() dziala tylko jeden kanal ADC w trybie DMA działa ok, wszytkie te kanaly bez DMA tez dzialaja ok i nie wiem co tam trza zrobić jakiś refresh czy co? miedzy tymi wywolaniami HAL_TIM_PWM_Start_DMA? czy jakos zle wpisuje cos w HAL_TIM_PWM_Start_DMA?
  3. ja mialem taki przypadek z ADC i DMA: ... uint32_t potReadings[3]; ... HAL_ADC_Start_DMA(&hadc1,potReadings,3); ... w wynikach pojawialy sie dziwne wyniki typu {189795670,371,0} za to po zmianie potReadings na uint16_t wyniki sie naprawily (czyli 0-4095) skad ten blad? podejrzewam ze chodzi o polowe slowa,ale ADC2 mam wylaczone na rozwiazanie wpadlem przypadkiem :/
  4. co do przyklejania to sprobuj kleju do glue guna (tego w laskach), stol na 55-65st i rozsmarowac, pozniej druk na zimnym stole (PLA), a na koniec podgrzac do 55-65 i latwo odchodzi fakt ze wyglada troche brzydko ale ten klej ladnie zlazi acetonem/benzyna drukowalem na rozgrzanym stole (PLA) ale wtedy mi caly wyrduk oklapl, ale to nie wiem dokladnie dlaczego bo pare rzeczy zmienialem wtedy, musze obadac wlasnie drukowanie na podgrzanym stole
  5. ja wlasnie w tym Visual Micro programuje arduino i jest super:] wszystkie zalety visualstudio i zero problemow
×
×
  • Utwórz nowe...