Cov txheej txheem:
- Kauj ruam 1: Kho vajtse thiab Software yuav tsum tau
- Kauj Ruam 2: Nkag Siab Qhov Teeb Meem
- Kauj ruam 3: STM32CubeMX Configuration
- Kauj Ruam 4: Keil Kev Txhim Kho Software
- Kauj Ruam 5: Xaus
Video: STM32CubeMX Khawm Debounce Nrog cuam tshuam: 5 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Nyob zoo, hauv qhov kev qhia no kuv yuav sim muab kuv cov lus yooj yim los tiv thaiv khawm thaws uas yog qhov teeb meem loj heev. Hauv is taws nem muaj ntau cov vis dis aus los daws qhov teeb meem no, tab sis tsis yog ntawm lawv rau sab nraud cuam tshuam. Hauv txhua qhov ntawm cov vis dis aus no khawm nyem tau tshuaj xyuas los ntawm txoj kev pov npav uas tsis muaj txiaj ntsig. Yog li, cia pib!
Kauj ruam 1: Kho vajtse thiab Software yuav tsum tau
Yuav tsum tau kho vajtse:
- STM32 ARM pawg thawj coj loj
- Ib lub computer
Software yuav tsum tau:
- STM32CubeMX
- Keil uVision 5
Kauj Ruam 2: Nkag Siab Qhov Teeb Meem
Yog li, peb sim nrhiav kev daws teeb meem khawm khawm. Yog li ntawd, peb yuav tsum nkag siab qhov teeb meem. Yog li, thaum peb nias lub pob nws yuav tsum tuaj lub xeev uas tsis zoo rau nws lub xeev dhau los. Piv txwv li, yog tias nws HIGH nws yuav tsum yog LOW thiab yog tias LOW ces nws yuav tsum yog HIGH. Txawm li cas los xij, qhov no yog lub xeev zoo tshaj (hauv PROTEUS:)) Qhov tseeb, thaum peb nias lub pob nws pib thaws nruab nrab ntawm HIGH thiab LOW ua ntej nws los rau lub xeev tsis ua haujlwm. Yog li, ua piv txwv tias nws tau raug nias ntau zaus uas ua rau muaj teeb meem. Yog li, peb yuav tsum ua dab tsi?
Nov kuv xav ceeb toom tias hauv qhov piv txwv no, peb yuav siv kev cuam tshuam sab nraud txhawm rau txhawm rau txheeb xyuas lub pob nyem. Yog li, tom qab peb tshawb pom lub pob nyem peb yuav tsum tau tos me ntsis lub sijhawm, zoo li 50mS txhawm rau kom mus txog lub xeev tsis ua haujlwm thiab tshawb xyuas dua seb lub pob tsis ua haujlwm lossis tsis yog. Yog tias nws nyob hauv lub xeev tsis ua haujlwm ces peb tuaj yeem txuas ntxiv mus rau peb txoj haujlwm. Yog li, cia saib cov cai:)
Kauj ruam 3: STM32CubeMX Configuration
Yog li, peb yuav tsum xub ua kom muaj kev cuam tshuam sab nraud rau peb lub laub khawm (Kuv xav tias ntawm no koj siv STM32F407VG pawg thawj coj pom):
- Hauv "Pinout & Configuration" tab nyem rau tus pin PA0 uas txuas nrog lub laub khawm thiab xaiv GPIO_EXTI0 uas ua rau cuam tshuam sab nraud ntawm tus pin ntawd.
- Hloov "tus neeg siv daim ntawv lo" ntawm tus pin rau "Push_Button" lossis txhua yam koj xav tau.
Tom qab ntawd, peb yuav tsum teeb tsa lub sijhawm kom tsim 50mS ncua sijhawm:
- Nkag mus rau ntu "Timers"
- Nyem rau TIM1
- Xaiv "Lub moos sab hauv" ua lub moos
-
Hauv kev teeb tsa (Yog tias koj xav nkag siab ntu no thov xa mus rau qhov kev qhia no, pom zoo "Servo Tsav Tswj Nrog STM32F4 ARM MCU"):
- Teeb prescaler li 32000
- Thiab lub sijhawm tiv thaiv rau 50
- Hauv "NVIC Settings" tab pab kom txhua qhov cuam tshuam
Pab kom LED ua qhov tso tawm:
Nyem rau PD12 thiab teeb tsa ua "GPIO_Output"
Tom qab ntawd, teeb tsa lub moos raws li hauv daim duab tau hais los saum no thiab tsim cov cai.
Kauj Ruam 4: Keil Kev Txhim Kho Software
Ua ntej, peb txhais lub xeev qhov sib txawv uas yuav ua kom ntseeg tau tias peb tsis pib lub sijhawm sab hauv cuam tshuam sab nraud thaum thawb tshwm sim:
/ * USER CODE BEGIN PFP */bool state = tseeb; / * USER CODE END PFP */
Tom qab ntawd, peb sau ISR rau sab nrauv cuam tshuam:
void HAL_GPIO_EXTI_Callback (uint16_t GPIO_Pin) {yog (GPIO_Pin == Push_Button_Pin && state == tseeb) {HAL_TIM_Base_Start_IT (& htim1); xeev = cuav; } lwm {_NOP (); }}
Thaum khawm nias peb tshawb xyuas yog tias nws yog peb lub khawm thawb thiab seb lub xeev puas muaj tseeb. Thaum pib lub xeev yuav muaj tseeb txhawm rau nkag mus rau hauv nqe lus. Tom qab nkag mus peb pib lub sijhawm thiab ua rau lub xeev tsis raug cai kom ntseeg tau tias kev thawb rov qab yuav tsis rov pib dua.
Tom qab ntawd, peb sau ISR rau timer cuam tshuam:
void HAL_TIM_PeriodElapsedCallback (TIM_HandleTypeDef *htim) { / *Tiv thaiv kom tsis txhob siv cov lus sib cav (s) muab tso ua ke ceeb toom * / UNUSED (htim);
/* NCO TSEG: Qhov haujlwm no yuav tsum tsis raug hloov kho, thaum xav tau kev hu rov qab, HAL_TIM_PeriodElapsedCallback tuaj yeem ua tiav hauv cov neeg siv cov ntaub ntawv */ yog (HAL_GPIO_ReadPin (Push_Button_GPIO_Port, Push_Button_Pin) == GPIO_PIN_RESET) {HAL_GPIO_TogglePin (GPIOD, GPIO_PIN_12); xeev = tseeb; HAL_TIM_Base_Stop_IT (& htim1); }}
/ * USER CODE KAWG 4 */
Tom qab 50mS peb tshawb xyuas yog tias khawm tseem nyob hauv lub xeev pib dua lossis tso tawm, yog tias yog ces peb paub tias lub pob nyob hauv lub xeev tsis ua haujlwm. Tom qab ntawd peb toggle tus coj, ua rau lub xeev muaj tseeb nyob rau hauv thiaj li yuav tuaj yeem txheeb xyuas lwm lub pob nyem thiab nres lub sijhawm kom thiaj tuaj yeem rov pib dua.
Yog li, txheej txheem no yuav ua kom ntseeg tau tias peb tiv thaiv qhov teeb meem ntog.
Kauj Ruam 5: Xaus
Nov yog txoj cai rau khawm debounce. Kuv xav nco ntsoov tias txoj cai no tau tsim los ntawm kuv thiab kuv tsis yog tus kws tshaj lij programmer. Yog li, muaj tseeb tuaj yeem ua yuam kev. Yog tias koj muaj kev daws teeb meem zoo dua thov nco ntsoov. Tsis txhob hnov qab, yog tias koj ntsib teeb meem thov sau kuv thiab kuv yuav sim pab.
Pom zoo:
HotKeys Keyboard Nrog Cov Ntawv Cuam Tshuam: 14 Cov Kauj Ruam (nrog Duab)
HotKeys Keyboard Nrog Cov Ntawv Cuam Tshuam: Kuv vam tias koj ua tau zoo thaum kis tus kabmob kis no. Nyob Nyab Xeeb. Ua Kom Muaj Zog. #COVID19Being yog tus tsim qauv tsim khoom, Kuv xav tau nkag mus ntau dua 7-8 software uas suav nrog Solidworks, Photoshop, Illustrator, Keyshot, Indesign, thiab lwm yam
Dot Matrix 32x8 Max7219 cuam tshuam nrog Ardiuno: 5 Kauj Ruam (nrog Duab)
Dot Matrix 32x8 Max7219 cuam tshuam nrog Ardiuno: Nyob Zoo Txhua Tus, Dot Matrix raws o Max7219 tsis yog qhov tshiab nyob rau xyoo 2020, txog thaum tsis ntev los no, txheej txheem teeb tsa tau zoo sau tseg, ib qho yuav rub tawm cov tsev qiv ntawv kho vajtse los ntawm MajicDesigns. thiab hloov ob peb kab hauv kab ntawv header thiab FC16 ua haujlwm zoo li ntxim nyiam. Qhov no yog mus
Ib qho yooj yim RFID MFRC522 cuam tshuam nrog Arduino Nano: 4 Cov Kauj Ruam (nrog Duab)
Ib qho yooj yim RFID MFRC522 cuam tshuam nrog Arduino Nano: Kev tswj hwm kev nkag mus yog cov txheej txheem hauv kev tiv thaiv lub cev thiab kev nyab xeeb cov ntaub ntawv, txwv tsis pub nkag mus/nkag mus rau cov peev txheej ntawm ib lub koom haum lossis thaj chaw. Txoj cai ntawm kev nkag mus yuav txhais tau tias yog siv, nkag mus, lossis siv
Rooj Bluetooth Hais Lus Nrog Pom Pom Lub Suab, Khawm Khawm thiab NFC.: 24 Kauj Ruam (nrog Duab)
Rooj Bluetooth Hais Lus Nrog Pom Pom Suab, Khawm Khawm thiab NFC.: Nyob zoo! Hauv Cov Lus Qhia no Kuv yuav qhia yuav ua li cas kuv thiaj ua Lub Rooj Sib Tham Bluetooth hais lus no uas muaj Lub Suab Pom Zoo Zoo nrog kov cov nyees khawm thiab NFC. Ua tau yooj yim ua ke nrog NFC Enabled cov cuab yeej nrog tsuas yog kov. Tsis muaj lub cev khawm
Tus Cuam Tshuam Cuam Tshuam (ntsuas phoo Cam Cuam Tshuam Cuam Tshuam): 4 Cov Kauj Ruam
Solder Saver (txhav tas Cam Cuam Tshuam Cuam Tshuam): "Yuav ua li cas kuv thiaj yuav tsum qhia ua ntej Cov Lus Qhia no?" Kuv nug kuv tus kheej. Zoo li, txij li thaum pib ntawm lub sijhawm, tus txiv neej muaj qhov xav kom lo lo rau hauv tus cwj mem thiab tshaj tawm cov duab online. Zoo, Kuv tau txiav txim siab luv luv delving rau hauv keeb kwm loj dua ntawm tus cwj mem yaj, b