Cov txheej txheem:
- Kauj Ruam 1: Kas Fes Tshuab Zaub Screen Nthuav Qhia Taw Qhia
- Kauj Ruam 2: Ua UI Duab rau STONE Zaub
- Kauj Ruam 3: STM32F103RCT6
- Kauj ruam 4: UART Serial
- Kauj ruam 5: Timer
- Kauj Ruam 6: Saib Tus dev
Video: STONE Display +STM32 +Maker Coffee: 6 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:25
Kuv yog MCU software engineer, tsis ntev los no tau txais txoj haujlwm yog los ua lub tshuab kas fes, tsev neeg xav tau nrog lub vijtsam kov ua haujlwm, ua haujlwm tau zoo, yog qhov siab tshaj qhov kev xaiv lub vijtsam yuav tsis zoo heev, hmoov zoo, txoj haujlwm no kuv tuaj yeem txiav txim siab yam twg MCU los siv kuv tus kheej, kuj tseem tuaj yeem siv los txiav txim siab lub vijtsam, yog li kuv tau xaiv STM32 ntawm qhov yooj yim thiab yooj yim MCU siv, tso saib kuv xaiv STONE's touch screen display, lub vijtsam yooj yim thiab siv tau yooj yim, STM32 MCU nkaus xwb los ntawm UART kev sib txuas lus zoo nrog nws.
STONE serial LCD display screen, uas tuaj yeem sib tham tau los ntawm cov chaw nres nkoj ntawm MCU. Nyob rau tib lub sijhawm, kev tsim qauv ntawm UI interface ntawm lub vijtsam zaub no tuaj yeem tsim ncaj qha los ntawm kev siv STONE TOOL Box muab los ntawm STONE lub vev xaib raug cai, uas yooj yim heev. Yog li kuv yuav siv nws rau qhov phiaj xwm tshuab kas fes no. Nyob rau tib lub sijhawm, kuv yuav sau cov kev txhim kho yooj yim. Txij li qhov no yog qhov haujlwm ntawm kuv lub tuam txhab, kuv tsuas yog sau qhov yooj yim ua piv txwv thiab tsis sau qhov chaws tiav. Qee qhov kev qhia yooj yim hais txog lub vijtsam pob zeb tuaj yeem mus rau lub vev xaib: https://www.stoneitech.com/ Lub vev xaib muaj ntau yam ntaub ntawv hais txog tus qauv, siv, thiab tsim cov ntaub ntawv, nrog rau kev qhia video. Kuv yuav tsis nkag mus ntau dhau ntawm no.
Kauj Ruam 1: Kas Fes Tshuab Zaub Screen Nthuav Qhia Taw Qhia
Txoj haujlwm no muaj cov haujlwm hauv qab no: l
- Qhia cov sijhawm thiab hnub tim tam sim no
- Muaj plaub lub khawm ntawm cov zaub rau americano, latte, cappuccino, thiab espresso.
- Qhia tawm tus nqi tam sim no ntawm cov kas fes taum, mis, thiab qab zib kas fes
- Ib lub thawv ntawv qhia pom lub xeev tam sim no
Nrog cov ntsiab lus no hauv siab, koj tuaj yeem tsim UI interface. STONE ntawm cov ntxaij vab tshaus kov hauv UI tsim yog qhov yooj yim, tus neeg siv los ntawm PhotoShop software tsim zoo UI interface thiab khawm cov nyhuv, dhau los ntawm STONE TOOL Box los tsim cov duab zoo rau hauv lub vijtsam, thiab ntxiv koj tus kheej lub pob nrog STONE TOOL Box logic thiab cov ntaub ntawv xov xwm tus nqi xa rov qab yog qhov zoo, yooj yim heev rau koj los tsim.
Kauj Ruam 2: Ua UI Duab rau STONE Zaub
Raws li qhov yuav tsum tau ua haujlwm, Kuv tau ua ob qho UI sib cuam tshuam hauv qab no, ib qho yog qhov cuam tshuam loj thiab lwm qhov yog khawm cov nyhuv.
Siv STONE TOOL Box Tam sim no, STONE muab TOOL. Qhib qhov TOOL no los tsim txoj haujlwm tshiab, tom qab ntawd ntshuam tus UI tsim los tso duab, thiab ntxiv koj tus kheej cov nyees khawm, cov ntawv tso saib lub thawv, thiab lwm yam. Lub vev xaib raug cai ntawm STONE muaj cov lus qhia ua tiav ntawm yuav siv cov software no li cas: https:/ /www.stoneitech.com/support/download/video
Qhov cuam tshuam ntawm kev ntxiv cov nyees khawm thiab nthuav tawm cov khoom hauv STONE TOOL Box yog raws li hauv qab no:
STONE TOOL Box muaj lub luag haujlwm ntawm simulation zaub, los ntawm qhov uas koj tuaj yeem pom cov haujlwm ua haujlwm ntawm UI interface:
Txij ntawm no mus, kuv qhov UI tau ua tiav, thiab txhua yam kuv yuav tsum tau ua yog sau MCU code. Download cov ntaub ntawv tsim los ntawm STONE TOOL Box mus rau lub vijtsam zaub kom pom qhov tseeb.
Kauj Ruam 3: STM32F103RCT6
STM32F103RCT6 MCU muaj lub luag haujlwm muaj zog. Nov yog qhov tsis yooj yim ntawm MCU:
- Series: STM32F10X l Kerne
- ARM - COTEX32
- Ceev: 72 MHZ
- Kev sib txuas lus sib txuas: CAN, I2C, IrDA, LIN, SPI, UART/USART, USB
- Cov khoom siv ib puag ncig: DMA, tswj lub cev PWM, PDR, POR, PVD, PWM, ntsuas kub, WDT
- Lub peev xwm khaws cov phiaj xwm: 256KB
- Hom kev cim xeeb: FLASH
- RAM muaj peev xwm: 48K
- Voltage - fais fab mov (Vcc/Vdd): 2 V ~ 3.6 V
- Oscillator: sab hauv
- Ua haujlwm kub: -40 ° C ~ 85 ° C
- Pob/tsev: 64-lub neej
Hauv txoj haujlwm no, Kuv yuav siv UART, GPIO, Saib Tus Menyuam, thiab Timer ntawm STM32F103RCT6. Kev txhim kho ntawm cov khoom siv no tau teev tseg hauv qab no. STM32 Siv Keil MDK kev txhim kho software, uas tsis muaj neeg txawv rau koj, yog li kuv yuav tsis qhia qhov txheej txheem teeb tsa ntawm cov software no. STM32 tuaj yeem sim online los ntawm j-txuas lossis txuas txuas thiab lwm yam cuab yeej simulation. Cov duab hauv qab no yog STM32 Circuit board kuv siv:
Kauj ruam 4: UART Serial
STM32F103RCT6 muaj ntau qhov chaw nres nkoj. Hauv txoj haujlwm no, Kuv tau siv lub chaw nres nkoj txuas PA9/PA10, thiab tus lej chaw nres nkoj baud tus nqi tau teeb tsa ntawm 115200.
GPIO
Hauv tus neeg siv kev sib tham ntawm txoj haujlwm no, muaj tag nrho plaub lub khawm, uas yog qhov ua plaub hom kas fes. Hauv lub tshuab kas fes, tswj tus naj npawb ntawm kas fes taum, noj mis nyuj, thiab dej ntws ntawm cov kas fes sib txawv tau ua tiav los ntawm kev tswj cov ntsuas thiab xa tawm, thaum kuv tsuas yog tswj hwm GPIO tus pin ua ntej.
Kauj ruam 5: Timer
Thaum pib ua timer, qhia kom meej faib zaus coefficient PSC, ntawm no yog peb lub moos moos (72MHz) rau kev faib zaus
Tom qab ntawv txheeb xyuas qhov rov ua dua tus nqi arr, uas txhais tau tias thaum peb lub sijhawm mus txog qhov chaw no, lub sijhawm yuav rov ua dua lwm qhov txiaj ntsig.
Piv txwv li, thaum peb teeb tsa lub sijhawm ua tim khawv kom suav, tus nqi ntawm lub sijhawm suav suav yog sib npaug rau tus lej thiab yuav raug tshem tawm los ntawm 0 thiab rov suav dua.
Lub sijhawm suav suav tau rov ua dua thiab ib zaug yog Hloov Kho tshiab
Xam lub sijhawm hloov pauv tshiab Tout = ((arr +1)*(PSC +1))/Tclk
Kev siv cov mis: Tham yog lub moos ntawm lub sijhawm, ntawm no yog 72Mhz
Peb faib lub sijhawm faib sijhawm faib, hais qhia qhov faib zaus zaus raws li PSC, tom qab ntawd faib peb Kev Sib Tham mus rau PSC +1, qhov kawg ntawm peb lub sijhawm yog Tclk/(PSC +1) MHz
Yog li peb txhais li cas los ntawm qhov ntau zaus ntawm no yog tias peb muaj 1s Tham Nrog PSC +1 M Tus lej (1M = 10 ^ 6), thiab lub sijhawm rau txhua tus lej yog PSC +1 /Tham, thiab nws yooj yim to taub tias qhov rov qab ntawm qhov zaus yog lub sijhawm, thiab lub sijhawm rau txhua tus lej ntawm no yog PSC +1 /Tham ob peb vib nas this thiab tom qab ntawd peb mus ntawm 0 mus rau yog (arr +1)*(PSC +1) /Tclk
Piv txwv, cia teeb arr = 7199 thiab PSC = 9999
Peb faib 72MHz rau 9999+1 yog sib npaug rau 7200Hz
Qhov no yog 9, 000 suav rau ib pliag, thiab txhua qhov suav yog 1/7, 200 ntawm ib pliag
Yog li peb tau sau 9, 000 Tus lej ntawm no mus rau lub sijhawm hloov tshiab (7199+1)*(1/7200) = 1s, yog li 1s mus rau qhov hloov tshiab.
void TIM3_Int_Init (u16 arr, u16 psc) {
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd (RCC_APB1Periph_TIM3, Qhib tau);
// moos TIM_TimeBaseStructure. TIM_Period = arr;
TIM_TimeBaseStructure. TIM_Prescaler = psc; TIM_TimeBaseStructure. TIM_ClockDivision = 0;
// TDTS = Tck_tim TIM_TimeBaseStructure. TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit (TIM3, & TIM_TimeBaseStructure);
Thov hu rau peb yog tias koj xav tau cov txheej txheem ua tiav:
www.stoneitech.com/contact
Kuv yuav teb koj tsis pub dhau 12 teev.
Kauj Ruam 6: Saib Tus dev
Txhawm rau tiv thaiv lub kaw lus los ntawm kev sib tsoo thaum txoj haujlwm tau ua haujlwm, Kuv tau ntxiv tus saib xyuas. Qhov tseeb, txhua txoj haujlwm uas siv MCU feem ntau siv tus saib xyuas.
STM32 muaj ob tus neeg saib xyuas hauv tsev, muab kev nyab xeeb ntau dua, lub sijhawm raug, thiab hloov pauv tau. Ob lub cuab yeej saib xyuas (tus saib xyuas ywj siab thiab lub qhov rooj saib xyuas) tuaj yeem siv los tshuaj xyuas thiab daws qhov ua yuam kev los ntawm software tsis raug. Thaum lub txee nce mus txog qhov muab sijhawm tso tawm, cuam tshuam (lub qhov rais saib xyuas nkaus xwb) lossis kev rov pib dua lub kaw lus yog ua rau. Independent watchdog (IWDG):
Tsav los ntawm lub siab ua haujlwm qis-moos (LSI), nws ua haujlwm txawm hais tias lub moos tsis ua haujlwm.
Nws yog qhov tsim nyog rau siv hauv cov xwm txheej uas tus saib xyuas yuav tsum tau ua haujlwm ywj pheej sab nraud ntawm txoj haujlwm tseem ceeb thiab xav tau lub sijhawm tsawg. Window watchdog (WWDG):
Tsav los ntawm lub moos los ntawm APB1 moos tom qab faib zaus. Tshawb xyuas qhov ua haujlwm tsis raug lig lossis ua ntej daim ntawv thov ua haujlwm dhau lub sijhawm teeb tsa lub qhov rai. Tsim nyog rau cov haujlwm uas xav tau cov saib xyuas kom ua haujlwm tau raws lub sijhawm Windows.
int lub ntsiab (tsis muaj dab tsi) {
ncua_init ();
// ncua ncua NVIC_PriorityGroupConfig (NVIC_PriorityGroup_2);
// NVIC INIT uart_init (115200);
// UART INIT PAD_INIT ();
// Light Init IWDG_Init (4, 625);
thaum (1) {
yog (USART_RX_END)
{hloov (USART_RX_BUF [5])
{
Cov ntaub ntawv Espresso:
CoffeeSelect (Espresso, USART_RX_BUF [8]);
tawg;
cas Americano:
CoffeeSelect (Americano, USART_RX_BUF [8]);
Lub logic tseem ceeb hauv lub luag haujlwm tseem ceeb yog raws li hauv qab no:
u8 timer_cnt = 0;
void TIM3_IRQHandler (tsis muaj dab tsi) // TIM3
{
yog (TIM_GetITStatus (TIM3, TIM_IT_Update)! = RESET)
{
TIM_ClearITPendingBit (TIM3, TIM_IT_Update);
timer_cnt ++;
yog (timer_cnt> = 200)
{
milk_send [6] = mis ();
Thaum kawg, ntxiv cov cai hauv lub sijhawm cuam tshuam: Hauv lub sijhawm cuam tshuam, kuv lub hom phiaj yog tshuaj xyuas seb muaj kas fes thiab mis ntau npaum li cas, thiab tom qab ntawd xa tus nqi ntsuas mus rau lub vijtsam zaub los ntawm chaw nres nkoj txuas. Ntsuas ntau npaum li cas cov mis nyuj thiab kas fes taum feem ntau yog ua los ntawm cov ntsuas. Txoj hauv kev yooj yim suav nrog cov ntsuas ntsuas siab, uas ntsuas qhov hnyav tam sim no ntawm cov mis nyuj thiab kas fes taum kom txiav txim siab tias tshuav ntau npaum li cas.
Sau hauv qhov kawg
Kab lus no tsuas yog sau cov txheej txheem txhim kho yooj yim ntawm kuv qhov project. Xav txog qhov tsis pub lwm tus paub ntawm lub tuam txhab txoj haujlwm, UI zaub interface kuv siv kuj tau tsim los ntawm kuv tus kheej, tsis yog UI tiag interface qhia ntawm qhov haujlwm no. Txoj cai ib feem ntawm STM32 tsuas yog ntxiv cov tsav tsheb ib puag ncig ntawm MCU thiab cov lej cuam tshuam. Tsis tas li txiav txim siab tsis pub lwm tus paub ntawm lub tuam txhab txoj haujlwm, tshwj xeeb cov cuab yeej siv tseem tsis tau muab, thov nkag siab. Txawm li cas los xij, raws li txoj cai kuv tau muab, koom tes nrog Lub Pob Zeb tso saib. kuv cov phooj ywg uas tseem yog software kws tsim txuj ci xav tau tsuas yog siv ob peb hnub los ntxiv cov txuj ci tseem ceeb rau kuv cov cai txheej txheem kom ua tiav txoj haujlwm.
Yog xav paub ntxiv txog qhov project nyem no