Da nije taj izlaz mozda open drain ?
STM32 generic board
|
07-14-2017, 04:50 PM
Pa ja sam ga konfigurisao kao push-pull, jedino ako je dioda vezana na open-drain bez mogućnosti da se promeni to.
07-14-2017, 05:05 PM
@progster
Taj primer sto si poterao, LED se togluje kroz petlju, koliko brzo to ispada, imas osciloskop, jel si merio brzinu?
07-14-2017, 05:09 PM
A što misliš da se togluje?
On svaki put postavi pin na 1 (upiše 1 u BSRR), ne bi trebalo da ga togluje uopšte. Mislim nije moje pitanje ni bilo vezano za petlju, moglo je ovo da stoji i van petlje: GPIOC->BSRR = (1<<13), zar ne?
07-14-2017, 05:12 PM
Prevideo sam, da setuje se jedno stanje, probaj da toglujes, interesuje me brzina izvrsavanja kad se tako "direktno" obraca registrima.
07-14-2017, 05:19 PM
07-14-2017, 05:31 PM
Da na to sam mislio, to ispada oko 1.4MHz ...
Slicni rezultati se dobiju i sa HAL bibliotekama, moguce da taj PC13 pin nije merodavan za ovo testiranje, tehnicki bi trebalo to dosta brze da ispadne. ARM ima drugu postavku u odnosu na PIC, tu AHA i AHB ima ulogu jer se oni posebno klokuju ...
07-14-2017, 05:36 PM
Ovo je PB13, ne PC13.
I ja sam očekivao dosta brži rezultat...
Ako te ne mrzi probaj to isto na nekom pinu sa B porta.
Update, aha to si ustvari i probao ... cudno malo ...
Sličan rezultat se dobija i za B0, B14, sve u okolini 1.3Mhz
07-14-2017, 05:45 PM
Kada se koristi npr SPI port, znam da moze da se "odsrafi" na par desetina MHz ali iza toga je totalno drugi mehanizam funkcionisanja ...
07-14-2017, 05:46 PM
07-14-2017, 06:46 PM
Upravo tako. Dobijao sam max. oko tih 3.8MHz na pinu bluePill.
A na šemi ćeš već videti da se LED na PC13 vuče na dole kroz 510R.
07-15-2017, 05:13 PM
07-15-2017, 06:02 PM
Super, samo nam kazi jos kako si to uspeo?
Pre dvadesetak dana mi je trebao ticker reda 1-100uS (miksovao sam HAL i cmsis lib.) i ovako sam ga napravio (poslednja podešenost je na 100uS).
Evo bitnog dela koda u vezi tog: Code: #define LedToggle() HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13) Nisam imao potrebe za kraćim vremenima. Inače u data od stm32f1xx piše da je maksimalna moguća brzina nekih in/out pinova 50MHz (svakako sa krajnje minimalnim C opterećenjem) i nemam razloga da im ne verujem. U realnom svetu je bez terminacije čak i kratkih vodova i sa veoma malim C i L teretom, upotrebljivo nešto do možda 25MHz... Vidiš i sam razne "zmije" koje se na samoj sondi skopa javljaju zbog njene RLC karakteristike. Stavi na red sa sondom x10 bar par stotina neinduktivnih oma i imaćeš bolji uvid u stvarni talasni oblik na pinu. P.S. Inače, GPIOs i Timer1 su na APB2, tj. na PCLK2 koji može do svih 72MHz. Moguće je da se možda pomoću timer1 može dostići tih njihovih 50MHz... Code: int main() { Običan PWM, ništa pametno. Samo mi palo na pamet da testiram koliko može da ide, ako budem radio sa TIM1, okačiću. Macola je u pravu, ovo je TIM3, on je na APB1, koji je ograničen na 36MHZ, sa TIM1 koji je na APB2 sigurno da može da se ide do 72MHZ, samo je pitanje koliko je to upotrebljivo.
07-15-2017, 07:06 PM
Pitam zbog drugih stvari, SPI memorije, pojedine mogu da se klokuju do preko 100MHz, takve memorije obicno idu odmah tu uz procesor pa nisu toliko izrazeni problemi oko vodova koji ih povezuju.
|
« Next Oldest | Next Newest »
|
Users browsing this thread: 3 Guest(s)