Cov txheej txheem:
- Kauj Ruam 1: Pins thiab Pins….Vim Li Cas Txoj Cai Tsis Ua Haujlwm?
- Kauj Ruam 2: Cia "txhais" Qee Pins …
- Kauj Ruam 3: PinMode ()… Koj Yuav Siv Koj Tus Pins Li Cas…
- Kauj ruam 4: AnalogWrite () Versus PwmWrite ()… Analog Output hauv 2 Flavors
- Kauj Ruam 5: STM32 Kev Sib Txuas Lus
- Kauj Ruam 6: Dhau Tus Nqi rau Microcontroller
- Kauj Ruam 7: Thiab Yog Kuv Xav Tau Hom Peb Tus Zauv…. los yog Ntau Ntxiv ??
Video: Yog li, Koj Thauj STM32duino Bootloader hauv Koj "Blue Pill" Yog Li Cas Tam Sim No?: 7 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:25
Yog tias koj twb tau nyeem kuv cov lus qhia piav qhia yuav ua li cas thauj khoom STM32duino bootloader lossis lwm yam ntaub ntawv zoo sib xws, koj sim thauj cov piv txwv piv txwv thiab…. Tej zaum yuav tsis muaj dab tsi tshwm sim hlo li.
Teeb meem yog, ntau, yog tias tsis yog txhua tus piv txwv rau "Generic" STM32 yuav tsis ua haujlwm tawm ntawm lub thawv. Nws yuav yog qhov hloov pauv me me kom tau txais ua haujlwm hauv koj li STM32 "Blue Pill" board.
Kuv yuav xaiv 4 tus lej piv txwv los piav qhia seb yuav hloov dab tsi thiab vim li cas. Cov lej yog: "BlinkWithoutDelay", "Fading", "Dimmer" thiab "AnalogInSerial".
Nco tseg Kuv tsis tau sau dab tsi. Kuv tsuas yog teeb meem hloov pauv me me hauv cov lej tsim los ntawm:
David A. Mellis thiab hloov kho lig los ntawm Tom Igoe, Marti Bolivar thiab qee kis los ntawm Scott Fitzgerald
Tom Igoe thiab hloov kho lig los ntawm Bryan Newbold
Yog li, Kuv nyiam khaws tus sau npe txawm tias nyob hauv cov lej kuv hloov kho, khaws qhov tsim credit.
Kauj Ruam 1: Pins thiab Pins…. Vim Li Cas Txoj Cai Tsis Ua Haujlwm?
Cia saib hauv STM32 "Blue Pill" pin tawm. Nco tseg pins tau txheeb xyuas ua PA1 lossis PC2….something zoo li ntawd.
Yog tias koj saib hauv, piv txwv li, "BlinkWithoutDelay" piv txwv tus lej, tus pin tau tshaj tawm tias "33" …. Vim li cas?
Kuv xav tias yog vim Mr. Marti Bolivar xa cov lej no rau MAPLE board.
Kuv xav tias nws tsis yog nws lub hom phiaj cia ua kom haum rau "Blue Pill" boards.
Maple thiab Maple mini board pins yog tus lej tshaj tawm, zoo li Arduino, txawm hais tias lawv siv tus lej zoo li 33, 24 thiab qee qhov zoo li no.
Kuv hais tias code tsis ua haujlwm? Kuv yuam kev. Txoj cai suav sau yam tsis muaj qhov yuam kev thiab xa kom raug mus rau "Blue Pill", yog li, kuv qhov kev xav nws yog qhov ua haujlwm tiag, tab sis siv GPIO cov zis peb tsis xav tau. Tej zaum yuav tsis muaj.
Yog li kev hloov pauv me me yog qhov tsim nyog hauv cov cai rau nws ua haujlwm raws li xav tau.
Kauj Ruam 2: Cia "txhais" Qee Pins …
Nws yog qhov kev coj ua zoo tshaj tawm cov peev txheej uas yooj yim txheeb xyuas lossis txhais lub ntsiab lus hloov pauv lossis tas li. Nws yuav tso cai rau koj nkag siab yooj yim dua thiab daws teeb meem.
Kuv siv tshaj tawm Arduino pins zoo li no:
…
const int ledPin = 13;
…"
Yog tias koj nyiam kuv, tej zaum koj nug koj tus kheej: "Kuv yuav ua li cas thiaj tuaj yeem tshaj tawm cov koob nrog cov npe zoo li PC13 ???"
Cov lus teb yog: Siv "#define" C nqe lus.
Yog li, raws li kos pinout, PC13 yog tus pin peb muaj ntawm board LED hauv "BluePill". Txhawm rau siv nws, Kuv yuav tshaj tawm zoo li no, tsuas yog tom qab lub tsev qiv ntawv txhais (#suav nrog …) thiab ua ntej txhua yam ntxiv:
…
#define LedPin PC13
…"
Nco tseg tsis muaj ";" kev tshem tawm kab, NOR "=" txoj haujlwm.
Sib piv ob tus lej. Ib qho yog thawj qhov piv txwv thauj los ntawm IDE. Qhov thib ob yog qhov kuv tau ua qee qhov kho kom ua haujlwm nrog "BluePill".
Kuv pom zoo kom tshaj tawm txhua tus pins koj npaj siab siv hauv cov cai. Txawm tias cov tswv yim siv los ua ADC cov tswv yim (ntau ntxiv txog nws tom qab).
Qhov no yuav ua rau koj lub neej yooj yim.
Kauj Ruam 3: PinMode ()… Koj Yuav Siv Koj Tus Pins Li Cas…
Ua ntej txuas ntxiv, cia nkag siab PinMode () kev ua haujlwm.
Zoo li Arduino, STM32 tus pin muaj ntau txoj haujlwm. Txoj hauv kev yooj yim tshaj plaws los xaiv ib lossis lwm qhov yog siv pinMode () nqe lus.
Arduino tsuas muaj 3 hom muaj, INPUT, OUTPUT, lossis INPUT_PULLUP.
STM32, ntawm qhov tod tes muaj ntau qhov tsw qab ntawm pinMode (). Lawv yog:
OUTPUT -Basic digital output: thaum tus pin siab dua, qhov hluav taws xob tau tuav ntawm +3.3v (Vcc) thiab thaum nws qis, nws raug rub los rau hauv av
OUTPUT_OPEN_DRAIN -Qhov qhib qhov dej ntws, tus pin qhia tias "qis" los ntawm kev lees txais kev ntws tam sim no mus rau hauv av thiab "siab" los ntawm kev muab qhov cuam tshuam ntau ntxiv
INPUT_ANALOG -Qhov no yog hom tshwj xeeb rau thaum tus pin yuav siv rau analog (tsis yog digital) nyeem. Pab kom hloov pauv ADC kom ua tiav ntawm qhov hluav taws xob ntawm tus pin
INPUT_PULLUP -Lub xeev tus pin nyob rau hauv hom no tau tshaj tawm ib yam nkaus li nrog INPUT, tab sis tus pin tus nqi yog maj mam "rub tawm" rau +3.3v
INPUT_PULLDOWN -Lub xeev ntawm tus pin hauv hom no tau tshaj tawm ib yam nkaus li nrog INPUT, tab sis tus pin tus nqi yog maj mam "rub qis" mus rau 0v
INPUT_FLOATING -Sau npe rau INPUT
PWM -This yog hom tshwj xeeb rau thaum tus pin yuav siv rau PWM tso zis (tshwj xeeb ntawm cov zis digital)
PWM_OPEN_DRAIN -Zoo li PWM, tshwj tsis yog tias hloov pauv ntawm LOW thiab HIGH, qhov hluav taws xob ntawm tus pin suav nrog kev hloov pauv ntawm LOW thiab ntab (sib txuas)
(ceeb toom: muab rho tawm los ntawm
Kuv tsuas yog qhib cov kab lus no vim tias thaum koj pib tsim koj tus lej, ua tib zoo siv pinMode () rau qhov koj xav tau.
Kauj ruam 4: AnalogWrite () Versus PwmWrite ()… Analog Output hauv 2 Flavors
Ua ntej siv "Blue Pill" GPIO pins nws yog qhov tsim nyog tshaj tawm nws tus cwj pwm, piv txwv li, nws yuav ua haujlwm li cas. Qhov ntawd yog qhov ua haujlwm pinMode () ua dab tsi.
Yog li, cia ua kom pom tseeb tam sim no teeb tsa qhov tso tawm analog li cas. Nws tuaj yeem tshaj tawm xws li hom OUTPUT lossis PWM hom.
Tib txoj kev, Cov txiaj ntsig Analog tuaj yeem ua tus cwj pwm rau GPIO hauv 2 txoj hauv kev: analogWrite () lossis pwmWrite (), TAB SIS, analogWrite () YUAV TSUM tsuas yog ua haujlwm yog pinMode () = OUTPUT. Hauv lwm qhov tes, pwmWrite () yuav tsuas ua haujlwm yog pinMode () = PWM.
Cia ua PA0, piv txwv li: nws yog qhov sib piv/pwm tso tawm tus neeg sib tw.
analogWrite (): qhov no tshaj tawm li no:
….
#define ledPin PA0
tus pinMode (ledPin, OUTPUT);
analogWrite (ledPin, <tus lej>);
……"
qhov twg tus lej yuav tsum nyob nruab nrab ntawm 0 thiab 255, zoo li Arduino. Qhov tseeb, nws yog rov qab sib xws rau Arduino.
pwmWrite (): tshaj tawm li no:
…
#define ledPin PA0
pinMode (ledPin, PWM);
pwmWrite (ledPin, <tus nab npawb.>);
…."
Qhov twg tus lej yuav tsum nyob nruab nrab ntawm 0 ~ 65535, kev daws teeb meem ntau dua li Arduino.
Hauv cov duab tuaj yeem sib piv ntawm 2 tus lej. Koj kuj tuaj yeem pom tus lej qub.
Kauj Ruam 5: STM32 Kev Sib Txuas Lus
Cia peb pom yuav ua li cas npaj USART cuam tshuam hauv STM32. Yog, kev cuam tshuam hauv ntau ntau ….
"Blue Pill" muaj 3 USART's (RX/ TX 1 ~ 3), thiab, yog tias koj siv lub bootloader tso cai rau koj siv USB, nws tsis txuas nrog ib qho ntawm qhov ntawd.
Nyob ntawm koj tab tom siv lossis tsis siv USB, koj yuav tsum tshaj tawm qhov chaw nres nkoj hauv ib lossis lwm txoj hauv kev hauv koj tus lej.
Case 1: Siv USB:
Txoj kev no, cov duab kos tau rub tawm ncaj qha los ntawm USB. Tsis tas yuav txav BOOT0 jumper mus rau 1 txoj haujlwm thiab rov qab mus rau 0.
Hauv qhov no, txhua lub sijhawm koj tshaj tawm "Serial" tsis muaj qhov ntsuas, txhais tau tias kev sib txuas lus ntawm USB.
Yog li, Serial1, txhais tau tias TX/ RX 1 (Pins PA9 thiab PA10); Serial2, txhais tau tias TX/ RX 2 (pins PA2 thiab PA3) thiab Serial 3 txhais tau tias TX/ RX 3 (Pins PA10 thiab PA11).
Nov yog txoj kev peb tab tom ua haujlwm nrog. Kuv yuav nthuav qhia kev hloov pauv piv txwv rau txoj hauv kev coding no.
Lwm qhov: "Serial USB" tsis tas yuav pib ua ntej. Hauv lwm lo lus, "… Serial.begin (15200);" tsis tsim nyog.
Nws muaj peev xwm hu tau ib qho Serial muaj nuj nqi (Serial.read (), Serial.write (), thiab lwm yam) yam tsis muaj kev pib ua ntej.
Yog tias los ntawm qee qhov laj thawj nws muaj nyob hauv cov cai, tus neeg sau yuav tsis quav ntsej nws.
Case 2: Siv TTL seria rau USB adapter:
Hauv txoj kev no, bootloader tsis txhawb nqa haiv neeg STM32 USB kev sib txuas lus, yog li koj xav tau USB rau txuas txuas txuas rau TX/ RX 1 (tus pin PA9 thiab PA10) txhawm rau rub cov duab kos.
Hauv qhov no, txhua lub sijhawm "Serial" uas tsis muaj qhov ntsuas yog tus lej, txhais tau tias TX/ RX1 (chaw nres nkoj siv los tso cov cai). Yog li, Serial1 hais txog TX/ RX 2 (pins PA2 thiab PA3) thiab Serial2 hais txog TX/ RX 3 (Pins PA10 thiab PA11). Tsis muaj Serial3.
Kauj Ruam 6: Dhau Tus Nqi rau Microcontroller
Dimmer piv txwv yog txoj hauv kev yooj yim los qhia tias yuav kis tus nqi mus rau microcontroller li cas.
Nws xav tias dhau tus nqi ntawm 0 txog 255 los tswj LED ci ci.
Nws yuav tsis ua haujlwm raws li qhov xav tau hauv Blue Pill vim:
- Txhawm rau siv pwmWrite () ua haujlwm, pinMode () YUAV TSUM tau tshaj tawm ua PWM hom.
- Koj yuav tsis tau txais tag nrho 3 tus lej. Serial.read () muaj nuj nqi ntes cov ntsiab lus tsis yog, uas yog "BYTE". yog tias koj ntaus "100" thiab nias "nkag", tsuas yog zaum kawg "0" yuav raug ntes los ntawm qhov tsis. Thiab nws tus nqi yuav yog "48" (tus lej lej ASCII rau "0"). Yog tias npaj siab yuav muab tus nqi "100", nws yuav tsum tau ntaus "d". Yog li, nws yog qhov tseeb hais tias nws yuav hloov tus lej ASCII cim zauv tus nqi hauv LED ci ci, txoj cai ??…. Txhua yam …
- Teeb meem, daim ntawv qhia qhov tseem ceeb ncaj qha los ntawm Serial.read () muaj nuj nqi yog qhov ua kom yuam kev. Nws yuav luag txhua yam tau txais qhov txiaj ntsig tsis tau xav txog. Txoj hauv kev zoo dua yog khaws cov ntsiab lus tsis nyob hauv qhov sib txawv ib ntus thiab THAN daim ntawv qhia nws.
Zoo li kuv piav qhia ua ntej hauv kab lus 2, tus lej kuv qhia hloov pauv yuav tso cai nkag mus rau lub cim ASCII thiab qhov no yuav tswj LED qhov ci ci raws li nws tus lej ASCII tus lej … thiab "}" yog qhov ua tau siab tshaj plaws (tus nqi 126). Lwm tus cim tsis tuaj yeem luam tawm, yog li lub davhlau ya nyob twg yuav tsis nkag siab lossis lawv muaj peev xwm sib xyaw ua cim (xws li "~" yog tus yuam sij tuag hauv kuv cov keyboard thiab yuav tsis ua haujlwm raug). Qhov no txhais tau tias, tus cwj pwm sib xyaw, thaum nkag mus rau lub davhlau ya nyob twg, yuav xa tus cim nws tus kheej thiab lwm yam ntxiv. Feem ntau yog ib qho luam tsis tau. Thiab yog tus lej kawg no yuav raug ntes Ib yam, nco ntsoov koj lub davhlau ya nyob twg, qhov no, yuav tsum tsis txhob xa "Carriage Return" lossis "Line Feed". Koj yuav tsum xyuam xim rau qhov no txhawm rau ua haujlwm kom raug.
Yog tias koj poob nws me ntsis tsis meej pem, nws ua rau tsis zoo ….
Kauj Ruam 7: Thiab Yog Kuv Xav Tau Hom Peb Tus Zauv…. los yog Ntau Ntxiv ??
Tau txais ntau tus cwj pwm los ntawm kev sib txuas lus tsis yog ib txoj haujlwm yooj yim.
Qhov tsis zoo yog FIFO byte pawg ntawm cov ntawv. Txhua lub sijhawm Serial.read () muaj nuj nqi tau hu, thawj daim ntawv xa tawm raug tshem tawm ntawm pawg thiab khaws cia rau qee qhov chaw lwm qhov. Feem ntau yog tus lej sib txawv hauv cov cai. Nco tseg, vam khom kho vajtse, feem ntau muaj sijhawm tas li yuav ua li cas nkag tsis tuaj yeem khaws cov ntaub ntawv.
Yog tias koj npaj siab yuav nkag mus ntau dua ib tus lej ntawm cov lej, koj yuav tsum "sau" kab ntawv los ntawm tus cwj pwm, vim lawv nkag mus rau hauv UART tsis.
Qhov no txhais tau tias kev caij tsheb kauj vab nyeem txhua qhov tsis sib xws, khaws cia hauv qhov sib txawv ntawm qhov kub, thauj nws hauv thawj qhov chaw ntawm txoj hlua sib dhos, txav mus rau txoj haujlwm tom ntej thiab pib dua, txog thaum … zoo, nyob ntawm daim ntawv thov. Muaj 2 txoj hauv kev los xaus lub voj voog:
- Siv qee tus cim "cim kawg", zoo li "rov qab nqa tsheb" lossis "Kab Pub". Sai li "xaus Mark" char pom, lub voj xaus.
- Xwb, tus naj npawb ntawm cov cim hauv txoj hlua tuaj yeem txwv, yog li ua, tus naj npawb ntawm kev sib tham sib. Thaum nws mus txog qhov txwv, cia hais tias, 4, tau txais kev ua tiav tas los ntawm nws tus kheej.
Cia saib hauv qhov piv txwv yooj yim yuav ua li cas:
- Teeb tus cim "kawg", zoo li '\ n' (qhov no txhais tau tias kab pub ASCII char).
- looping meanwhile Serial.available () muaj tseeb
- khaws cia Serial.read () ua rau muaj qhov hloov pauv ib ntus. Nco ntsoov: sai li sai tau Serial.read () ua tau "nyeem" tsis zoo, nws yog qhov huv thiab tus yam ntxwv tom ntej muaj nyob hauv nws.
- nce cov hlua sib txawv nrog cov ntawv no
- Yog tias daim ntawv kawg yog "kawg" tawm ntawm lub voj.
Feem ntau, niaj hnub kom tau txais cov cim ua ntu zoo li daim duab.
Nws tau ua raws qhov kev hloov pauv dav ntawm Mr. David A. Mellis tus lej qub.
Tsis pub siv thiab sim nws. Nco ntsoov: qhov tseem ceeb YUAV TSUM nkag rau hauv 3 tus lej.
Qhov no nws rau tam sim no. Kuv yuav tsis nthuav kuv tus kheej hauv cov ntsiab lus sib txuas lus txuas ntxiv Nws yog qhov nyuaj dhau los npog ntawm no thiab nws tsim nyog nws tus kheej Intructables.
Kuv vam tias nws yuav pab koj siv piv txwv hauv Blue Pill thiab muab qee qhov kev pom kev rau koj kom raug cai li cas rau pawg tswj hwm me me no.
Pom koj ib puag ncig hauv lwm cov lus qhia.
Pom zoo:
Qhov Sib Txawv Ntawm (Lwm Yam Tam Sim No & Ncaj Ncees Tam Sim No): 13 Kauj Ruam
Qhov Sib Txawv Ntawm (Lwm Yam Tam Sim No & Tam Sim No Tam Sim No): Txhua tus paub tias hluav taws xob feem ntau yog Dc, tab sis li cas txog lwm hom hluav taws xob? Koj puas paub Ac? AC sawv rau dab tsi? Puas yog nws siv tau DC? Hauv txoj kev tshawb no peb yuav paub qhov sib txawv ntawm hom hluav taws xob, qhov chaw, daim ntawv thov
DIY Tam Sim No Thauj Khoom: 4 Cov Kauj Ruam (nrog Duab)
DIY Cuam Tshuam Tam Sim No: Hauv qhov haujlwm me me no kuv yuav qhia koj yuav ua li cas kom yooj yim kho qhov thauj khoom tam sim no. Cov khoom siv no muaj txiaj ntsig yog tias koj xav ntsuas lub peev xwm ntawm Suav Li-Ion roj teeb. Lossis koj tuaj yeem sim ntsuas qhov ruaj khov koj lub zog siv nrog qee qhov thauj khoom
DIY Laser Diode Tsav Tsheb -- Qhov Tam Sim No Tam Sim No: 6 Kauj Ruam (nrog Duab)
DIY Laser Diode Tsav Tsheb || Qhov Tam Sim No Tam Sim No: Hauv qhov haujlwm no kuv yuav qhia koj li cas kuv rho tawm lub laser diode los ntawm DVD Burner uas yuav tsum muaj lub hwj chim txhawm rau txhawm rau sib tw. Txhawm rau txhawm rau lub zog diode kom raug Kuv tseem yuav qhia tau tias kuv tsim cov khoom siv tam sim no tas li uas muab qhov ua ntej
Yuav Ntsuas Tam Sim No Li Cas thiab Vim Li Cas Koj Thiaj Li Ua Li No?: 4 Kauj Ruam (nrog Duab)
Yuav Ntsuas Tam Sim No Li Cas thiab Vim Li Cas Koj Thiaj Li Yuav Tsum Ua?: Ntau tus neeg tsim khoom tsis paub tias nws tseem ceeb npaum li cas kom paub qhov kev kos tam sim no ntawm koj txoj haujlwm, lossis vim li cas koj thiaj xav paub qhov no. Hauv qhov kev qhia no kuv yuav piav qhia koj li cas los ntsuas qhov kos tam sim no ntawm koj qhov project, thiab vim li cas nws thiaj tseem ceeb heev kom paub qhov no. T
Yuav Ua Li Cas Tau Txais Cov Nkauj Los Ntawm Txhua Qhov (Haha) Lub Vev Xaib (Ntev Li Koj Tau hnov Nws Koj Yuav Tau Txais Nws Ok Zoo Yog Nws Tau Ntxig Hauv Flash Koj Yuav Tsis Muaj Peev Xwm) EDITED !!!!! Ntxiv Info: 4 Cov Kauj Ruam
Yuav Ua Li Cas Tau Txais Cov Nkauj Los Ntawm Txhua Qhov (Haha) Lub Vev Xaib (Ntev Li Koj Tau hnov Nws Koj Yuav Tau Txais Nws … Ok Zoo Yog Nws Tau Ntxig Hauv Flash Koj Yuav Tsis Muaj Peev Xwm) EDITED !!!!! Ntxiv Cov Lus Qhia: yog tias koj tau mus rau lub vev xaib thiab nws ua nkauj nkauj uas koj nyiam thiab xav tau nws ntawm no yog cov lus qhia rau koj tsis yog kuv qhov txhaum yog tias koj cuam tshuam qee yam (tsuas yog txoj hauv kev nws yuav tshwm sim yog tias koj pib tshem cov khoom yam tsis muaj laj thawj. ) Kuv tuaj yeem tau txais cov nkauj rau