Cov txheej txheem:

STONE LCD Nrog Lub Tsev Ntse: 5 Kauj Ruam
STONE LCD Nrog Lub Tsev Ntse: 5 Kauj Ruam

Video: STONE LCD Nrog Lub Tsev Ntse: 5 Kauj Ruam

Video: STONE LCD Nrog Lub Tsev Ntse: 5 Kauj Ruam
Video: 42 xyoo koj puas tseem nco kuv tiag ,Zaj teb 4/04/2020 2024, Kaum ib hlis
Anonim
STONE LCD Nrog Lub Tsev Ntse
STONE LCD Nrog Lub Tsev Ntse

Hnub no, Kuv tau txais STONE's serial port drive display, uas tuaj yeem sib tham tau los ntawm MCU's serial port, thiab UI logic tsim ntawm cov zaub no tuaj yeem tsim ncaj qha los ntawm kev siv VGUS software muab rau STONE lub vev xaib raug cai, uas yooj yim heev rau peb. Yog li kuv npaj yuav siv nws los ua cov cuab yeej siv yooj yim, uas suav nrog kev tswj hwm ntau lub teeb (chav nyob, chav ua noj, chav menyuam, chav dej). Tib lub sijhawm, sab hauv tsev thiab sab nraum zoov kub, av noo, thiab huab cua zoo tuaj yeem sau tau. Nov tsuas yog qhov ua piv txwv yooj yim, thiab koj tuaj yeem ua qhov kev txhim kho theem nrab los ntawm cov cai kuv tau muab. Qee qhov kev qhia yooj yim hais txog lub pob zeb STONE tuaj yeem mus rau lub vev xaib:

Lub vev xaib muaj ntau yam ntaub ntawv hais txog tus qauv, tus neeg siv, thiab cov ntaub ntawv tsim, nrog rau kev qhia video. Kuv yuav tsis nkag mus ntau dhau ntawm no.

Kauj Ruam 1: UI Interface Tsim

UI Interface Tsim
UI Interface Tsim
UI Interface Tsim
UI Interface Tsim
UI Interface Tsim
UI Interface Tsim
UI Interface Tsim
UI Interface Tsim

Photoshop

Kuv tsim ob nplooj ntawv UI hauv qab no nrog Photoshop:

Txoj haujlwm no muaj ob nplooj ntawv saum toj no tag nrho. "Lub teeb" thiab "Sensor" nyob rau sab xis saum toj yog cov khawm hloov ntawm ob nplooj ntawv no.

Hauv nplooj ntawv "Teeb", koj tuaj yeem tswj txhua yam teeb pom kev hauv koj lub tsev. Hauv nplooj ntawv "Sensor", koj tuaj yeem tshawb xyuas qhov muaj txiaj ntsig pom los ntawm ntau yam kev ntsuas.

Tom qab tsim ob nplooj ntawv saum toj no, peb tuaj yeem ua tus qauv tsim lub pob los ntawm STONE TOOL software muab rau ntawm STONE lub vev xaib raug cai.

Nws tsim nyog sau cia tias lub moos siv rau lub sijhawm tso saib ntawm no yog lub moos ntawm lub vijtsam zaub, tsis yog MCU lub moos qhov chaw.

TAB nplooj hloov cov nyhuv

Tsis pom TAB nplooj ntawv hloov pauv tau pom hauv STONE TOOL software, yog li kuv xav txog lwm txoj hauv kev kom ua tiav TAB nplooj ntawv hloov pauv.

Los ntawm qhov kev soj ntsuam kuv muab ob daim duab UI tuaj yeem pom tias ob daim duab saum toj no yog "Lub teeb" thiab "Sensor" cov ntawv, qhov sib txawv yog lawv cov pixel loj sib txawv, yog li peb tsuas yog xav muab ob txoj haujlwm pixel teeb tsa rau tib cov ntawv, thiab tom qab ntawv hla lub kaum sab laug sab sauv ntawm lub sijhawm thiab hnub tim rau siv, koj tuaj yeem ua tiav TAB los hloov cov nyhuv.

Khawm logic

Coj lub "Chav Nyob" khawm ua piv txwv. Thaum tus neeg siv nias lub pob no, STONE serial chaw nres nkoj tso saib lub vijtsam yuav xa cov lus qhia raws txheej txheem los ntawm chaw nres nkoj txuas. Tom qab tau txais cov lus qhia no, tus neeg siv MCU yuav cais cov txheej txheem los tswj lub xeev hloov ntawm lub teeb txuas nrog MCU.

Kev nrhiav sensor

Ua raws li "huab cua zoo" piv txwv: yog tias koj xav tau txais huab cua sab hauv tsev zoo, peb yuav tsum muaj MCU txhawm rau khaws cov huab cua zoo, ntsuas huab cua zoo thaum MCU suav sau los ntawm cov txheej txheem sib piv qhov zoo thiab qhov tsis zoo ntawm huab cua, thiab tom qab ntawd MCU xa los ntawm cov chaw nres nkoj txuas mus tso saib qhov chaw khaws khoom ntawm "Zoo" lossis "Tsis Zoo", los hloov "Cov ntawv hloov pauv 0" tso tawm cov ntsiab lus, thiab tom qab ntawd tus neeg siv tuaj yeem nkag siab pom qhov txiaj ntsig ntawm kev tswj kom zoo. Cov no tau piav qhia tom qab hauv MCU txoj cai.

Kauj Ruam 2: Kev Sib Txuas MCU

MCU Kev Sib Txuas Lus
MCU Kev Sib Txuas Lus
MCU Kev Sib Txuas Lus
MCU Kev Sib Txuas Lus
MCU Kev Sib Txuas Lus
MCU Kev Sib Txuas Lus
MCU Kev Sib Txuas Lus
MCU Kev Sib Txuas Lus

STM32 yog MCU uas txhua tus neeg paub, thiab nws yog ib qho qauv MCU nyob hauv thoob ntiaj teb. Yog li ntawd, tus qauv tshwj xeeb ntawm STM32 MCU Kuv siv hauv txoj haujlwm no yog STM32F103RCT6.

Muaj ntau ntau ntawm STM32, uas tuaj yeem ua tau raws li ntau yam kev xav tau ntawm kev ua lag luam. Lub kernel tuaj yeem faib ua cortex-m0, M3, M4, thiab M7, thiab txhua lub noob tuaj yeem faib ua qhov tseem ceeb, ua haujlwm tau zoo, thiab siv hluav taws xob tsawg.

Ntshiab los ntawm qhov kev xav ntawm kev kawm, koj tuaj yeem xaiv F1 thiab F4, F1 sawv cev rau hom yooj yim, raws li lub cortex-m3 kernel, lub ntsiab zaus yog 72MHZ, F4 sawv cev rau qhov ua tau zoo, raws li lub cortex-m4 kernel, lub ntsiab zaus yog 180M.

Raws li rau F1, F4 (429 series thiab siab dua), sib nrug los ntawm cov noob sib txawv thiab txhim kho qhov loj zaus, qhov pom tseeb ntawm kev hloov pauv yog LCD tswj thiab lub koob yees duab sib txuas, txhawb rau SDRAM, qhov sib txawv no yuav muab ua ntej hauv kev xaiv qhov haujlwm. Txawm li cas los xij, los ntawm kev xav ntawm kev qhia hauv tsev kawm qib siab thiab cov neeg siv 'kev kawm pib, F1 koob tseem yog thawj qhov kev xaiv. Tam sim no, STM32 ntawm F1 series muaj cov khoom siv ntau tshaj plaws thiab cov khoom lag luam hauv khw.

Hais txog STM32 SCM kev txhim kho ib puag ncig teeb tsa thiab cov txheej txheem rub tawm, kuv yuav tsis ua qhov kev qhia.

Kev pib ua GPIO

Hauv txoj haujlwm no, peb siv tag nrho 4 GPIO, ib qho yog PWM tus pin tso tawm. Cia peb xub saib thawj zaug ntawm peb qhov zoo tib yam GPIO cov chaw nres nkoj:

Txoj haujlwm no pib PB0 / PB1 / PB2 ntawm STM32F103C8 ua tus pin tso tawm thiab hu nws los ntawm lub luag haujlwm tseem ceeb. Tom qab pib ua haujlwm, peb yuav tsum muaj lub laj thawj los tswj lub xeev cov zis, qib siab thiab qib qis ntawm GPIO no, yog li kuv tau sau txoj haujlwm raws li hauv qab no:

Nov yog txoj haujlwm uas koj tuaj yeem nkag siab zoo los ntawm lub npe ntawm qhov sib txawv.

Serial chaw nres nkoj initialization

Qhov pib ib feem ntawm qhov chaw nres nkoj hauv xov tooj cua yog nyob hauv uart.c:

Tom qab ntawd hu rau uart_init hauv lub luag haujlwm tseem ceeb los pib ua ntej ntawm qhov chaw nres nkoj baud tus nqi ntawm 115200. Pins siv PA9/PA10

PWM initialization

Cov kauj ruam tshwj xeeb:

1. Teeb RCC moos;

2. Teeb GPIO moos; GPIO hom yuav tsum tau teeb tsa rau GPIO_Model_AF_PP, lossis rau GPIO_PinRemapConfig () ua haujlwm yog xav tau tus pin remap.

3. Teev cov npe cuam tshuam txog TIMx timer;

4. Teeb PWM cuam tshuam txog kev sau npe ntawm TIMx timer;

A. Teeb PWM hom

B. Teeb lub voj voog ua haujlwm (xam xam)

C. Teeb tsa qhov sib piv cov txiaj ntsig polarity (yav dhau los tau qhia)

D. Tseem ceeb tshaj, ua kom lub xeev tso zis ntawm TIMx thiab pab kom PWM tso zis ntawm TIMx; Tom qab qhov teeb meem cuam tshuam ua tiav, TIMx timer tau qhib los ntawm TIMx_Cmd () kom tau txais PWM tso tawm. Hu rau TIM3_PWM_Init los ntawm lub luag haujlwm tseem ceeb.

Kauj ruam 3: Logic Code Sau

Logic Code Sau
Logic Code Sau
Logic Code Sau
Logic Code Sau
Logic Code Sau
Logic Code Sau

Zaub tivthaiv qhov chaw nyob txhais

Cheebtsam ntawm cov zaub muaj cais chaw nyob, thiab ntawm no kuv tau sau lawv tag nrho raws li cov lus txhais macro: Cov ntaub ntawv txais tos

Saib cov ntaub ntawv hais txog STONE zaub, koj tuaj yeem pom tias thaum lub pob nyem, qhov chaw nres nkoj ntawm lub vijtsam xa cov txheej txheem raws li qhov tsim nyog, uas tus neeg siv MCU tuaj yeem tau txais thiab cais tawm. Thaum lub pob nyem, qhov chaw nres nkoj txuas ntawm cov zaub xa cuaj bytes ntawm cov ntaub ntawv, suav nrog cov neeg siv cov ntaub ntawv. Kev txais tos cov ntaub ntawv tseem ceeb tau sau hauv Handler: Cov ntaub ntawv tau txais yog khaws cia hauv "USART_RX_BUF" array. Hauv txoj haujlwm no, qhov ntev tau txais yog tsau. Thaum qhov ntev tau txais ntau dua 9 bytes, qhov kawg tau txais yog txiav txim.

Tswj lub xeev hloov ntawm lub teeb

Hauv lub luag haujlwm tseem ceeb, Kuv tau sau qee qhov kev nkag siab los tswj lub xeev hloov ntawm lub teeb: Raws li peb tuaj yeem pom, tus lej ua ntej txiav txim siab seb cov ntaub ntawv chaw nres nkoj tau txais, thiab thaum twg cov ntaub ntawv chaw nres nkoj tau txais, txiav txim seb khawm tus neeg siv li cas. nias ntawm qhov screen. Cov nyees khawm sib txawv ntawm cov zaub muaj qhov chaw nyob sib txawv, uas tuaj yeem pom hauv STONE TOOL software: Thaum tus neeg siv nias lub pob "Chav Nyob", qhov thib plaub thiab thib tsib ntawm cov ntaub ntawv xa tawm los ntawm qhov chaw nres nkoj ntawm lub vijtsam zaub yog qhov chaw nyob ntawm lub pob. Txij li qhov plaub me ntsis ntawm txhua lub pob teeb tsa ntawm no yog 0x00, peb tuaj yeem txiav txim siab lub pob twg tus neeg siv nias los ntawm kev txiav txim ncaj qha cov ntaub ntawv ntawm tus thib tsib. Tom qab tau txais lub pob nyem los ntawm tus neeg siv, peb yuav tsum txiav txim siab cov neeg siv cov ntaub ntawv tau txais thaum lub pob nyem, uas yog tus lej thib yim ntawm cov ntaub ntawv xa los ntawm lub vijtsam zaub. Yog li ntawd, peb ua cov kev tswj hwm hauv qab no: sau lub pob qhov chaw nyob qhov ntsuas thiab cov ntaub ntawv siv rau hauv "Light_Contral" ua haujlwm los tswj lub xeev ntawm lub teeb. Light_Contral muaj nuj nqi yog raws li hauv qab no: Raws li koj tuaj yeem pom, yog tias lub pob chaw nyob yog "Chav Nyob" thiab cov neeg siv cov ntaub ntawv yog "LightOn", tom qab ntawd tus PB0 tus pin ntawm MCU tau teeb tsa rau qib siab, thiab lub teeb nyob ntawm. Lwm peb lub khawm zoo sib xws, tab sis kuv yuav tsis mus ntawm no.

PWM output

Hauv UI tsim los ntawm kuv, muaj tus tswj kev zawv zawg, uas yog siv los tswj qhov ci ntawm lub teeb ntawm "Chav Me Nyuam". MCU tau ua tiav los ntawm PWM. PWM tus pin tso tawm yog PB5. Cov cai yog raws li hauv qab no: Tus swb swb tau teeb tsa tus nqi tsawg kawg ntawm 0x00 thiab tus nqi siab tshaj ntawm 0x64. Thaum zawv zawg, qhov chaw nres nkoj ntawm lub vijtsam tseem yuav xa cov chaw nyob thiab cov ntaub ntawv cuam tshuam, thiab tom qab ntawd teeb tsa lub luag haujlwm ntawm PWM tso tawm los ntawm kev hu rau cov haujlwm hauv qab no:

Kauj Ruam 4: Kev Tshawb Fawb Sensor

Kev Tshaj Tawm Sensor
Kev Tshaj Tawm Sensor
Kev Tshaj Tawm Sensor
Kev Tshaj Tawm Sensor
Kev Tshaj Tawm Sensor
Kev Tshaj Tawm Sensor

Hauv nplooj ntawv "Sensor" ntawm lub vijtsam zaub, muaj plaub lub Sensor cov ntaub ntawv.

Cov ntaub ntawv kuj tseem muaj chaw khaws khoom hauv cov zaub, thiab peb tuaj yeem hloov cov ntsiab lus tiag tiag los ntawm kev yooj yim sau cov ntaub ntawv rau cov chaw nyob no los ntawm qhov chaw nres nkoj ntawm MCU.

Ntawm no kuv tau ua tus lej yooj yim siv:

Cov ntaub ntawv tso tawm tau hloov kho txhua txhua 5 vib nas this, thiab kuv tsuas yog sau cov lus piav qhia yooj yim ntawm qhov muaj feem cuam tshuam txog kev ua haujlwm sensor, vim tias kuv tsis muaj cov ntsuas no hauv kuv txhais tes.

Hauv kev txhim kho txoj haujlwm tiag, cov ntsuas no yuav yog cov ntaub ntawv sau los ntawm ADC, lossis cov ntaub ntawv sau los ntawm IIC, UART, thiab SPI kev sib txuas lus cuam tshuam. Txhua yam koj yuav tsum tau ua yog sau cov ntaub ntawv no mus rau qhov ua haujlwm sib luag raws li tus nqi xa rov qab.

Kauj Ruam 5: Kev Ua Haujlwm Zoo

Pom zoo: