STM32單片機簡介

1.基本情況

STM32單片機正如其名是32位微控制器,相較于51單片機的8位微控制器,性能會更好,但學習難度也會提高。

在stm32單片機中內核時核心部分,是ARM公司設計的,其在stm32單片機中占據極為重要的地位。(程序指令的執行,如+-*/運算都是在內核中完成的)相當于整個芯片的CUP。就像我們現在的電腦廠商一樣,可以拿著intel或AMD的CPU,自己完善外圍電路,這樣就可以退出自己品牌的電腦。STM32單片機也是類似,以ARM為內核,自己完善外圍電路做出的芯片都叫做基于ARM內核的芯片。

STM32單片機的常用領域:

智能車:STM32單片機做尋跡小車,讀取光電傳感器或者攝像頭的數據,然后驅動電機前進和轉彎。

無人機:STM32單片機讀取陀螺儀加速計的姿態數據,然后根據控制算法去控制電機的速度,從而保證飛機穩定飛行。

機器人:STM32單片機驅動舵機,去控制機器人的關節,然后讓機器人運動。

無線通信:STM32單片機連接上一連2.4G無線模塊或藍牙、WIFI模塊,這樣STM32的單片機就具備無線通信的能力。物聯網也可以借助這些無線模塊來通信(藍牙、WIFI、ZigBee等)。再通過STM32單片機驅動繼電器來控制220V電路的通斷。

工業控制:PLC。

娛樂電子產品:愛心流水燈等。

家族序列圖

STM32單片機分為四個系列:高性能系列、主流系列、超低功耗系列、無線系列。

下圖中有相關介紹:

目前最強的STM32單片機是STM32N6系列,STM32N6 基于運行頻率達 800MHz 的 Arm Cortex-M55 處理器,是單核架構。

目前博主只學習了主流系列,跟大家分享的也只跟主流系列有關。如果你學習了主流系列后,覺得性能不夠,可以繼續學習高性能系列;如果你對功耗特別敏感,推薦專攻超低功耗系列;如果想做無線通信電子產品,可以了解無線系列。因為它們都是一個家族的,所以換一個系列再學習的話也會比換別的新派你輕松很多。

2、ARM

ARM既指ARM公司,也指ARM處理器的內核。

ARM 公司本身不直接從事芯片生產,而是通過授權其設計的芯片架構給全球各地的半導體公司,由這些公司根據各自的應用領域進行開發和生產,ARM 則收取前期許可費和根據硅片生產量支付的版稅。這個也叫做知識產權提供商,簡單解釋就是負責設計提供但不生產實物。

下面展示一幅圖,其中由介紹ARM內核的相關信息:

右側藍色所表示的是經典的ARM處理器。

由圖可知,內核有三個系列:A、R、M,正如ARM公司的組成字母。

R、M系列用于嵌入式領域,A系列適用于高端應用型領域如手機領域(蘋果、高通、聯發科)。

R系列實時性(硬盤處理器),M系列(單片機STM32領域),A系列(性能最高、發展最快的系列)。

ARM公司的內核非常多,遠不止圖上所示。想要更多了解可以另查資料,這里我就不多講了。

下面展示一款主流系列的芯片:

RAM:運行內存,實際的存儲介質是SRAM。

ROM:程序存儲器,實際的存儲介質是Flash閃存。

如圖供電電壓為2.0~3.3V,因此,如果供電電壓為5V時,需要加一個穩壓芯片,把電壓講到3.3V,再給STM32單片機供電。51單片機的供電電壓是5V。可不要弄混了。

封裝如圖,有48個引腳。

這款芯片的片上資源下圖展示:

片商資源又叫外設(Peripheral)。

主要學習內容。通過程序配置外設,來實現我們想要的功能。

表中,前兩個深顏色的,是位于Cortes-M3內核里面的外設,剩下的都是內核外的外設。

下面介紹這些外設相關的作用:

NVIC:內核里面用于管理中斷的設備,如配置中斷優先級這些東西。

SysTick:內核里的一個定時器,用來給實際操作系統提供定時服務的。

STM32單片機可以加入操作系統:FreeRTOS,UCOS等。

如果用這些操作系統,就需要SysTick提供定時器來進行任務切換的功能。

RCC:可對系統的時鐘進行配置,還有就是使能各模塊的時鐘。在STM32單片機中,其他的這些外設在上電的情況下默認是沒有時鐘的。不給時鐘的情況下,操作外設是無效的,外設也不會工作,這樣的目的是降低功耗。所以操作外設之前,必須要先使能它的時鐘,這就需要我們用RCC來完成時鐘的使能。

GPIO:通用的IO口,我們可以用GPIO來點燈,讀取按鍵等。這也是一個單片機最基本的功能。

AFIO:復用IO口,可以完成服用功能端口的重要定義,還有中斷端口的配置。

EXIT:外部中斷,配置好外部中斷后,當引腳有電平變化時,就可以觸發中斷,讓CPU來處理任務。

TIM:整個STM32單片機最常用,功能最多的外設,分為高級、通用、基本定時器三種模型。

其中高級定時器最復雜,通用定時器最常用。

它不僅可以完成定時中斷的任務,還可以完成測頻率,生成PWM波形。配置成專用的編碼器接口等功能。PWM波形就是我們電機驅動、舵機驅動最基本的要求了。

ADC:這個STM32單片機內置了12位的AD轉換器,可以直接讀取IO口的模擬電壓值,無需外部連接AD芯片,使用非常方便。

DMA:這個可以幫助CPU完成搬運大量數據這樣繁雜的任務。

USART:我們平常用的UART是異步串口的意思,這里的USART兩個都支持。分為異步、同步,實際用異步多。

I2C、SPI:非常常用的兩種通信協議。STM32單片機也內置了它們的控制器,可以用硬件來輸出時序波形,使用起來更高效,當然用通用IO口來模擬時序波形也是沒有問題的。

CAN、USB:也是通信協議,CAN運用于汽車領域,利用這個STM32USB的外設,可以做一個模擬鼠標,模擬U盤等設備。

RTC:在STM32單片機內部完成年月日,時分秒的計時功能。而且可以接外部備用電池,基石掉電也能正常運行。

CRC:一種數據的校驗方式,用于判斷數據的正確性。有這個外設的支持,進行CRC校驗就會更加方便一些。

PWR:可以讓芯片進入睡眠模式等狀態,來達到省電的目的。

BKP:這是一段存儲器,當系統掉電時,仍可由備用電池保持數據,這個根據需要,可以完成一些特殊功能。

IWDG、WWDG:是獨立看門狗和窗口看門狗。當單片機因為電磁干擾死機或者程序設計不合理出現死循環時,看門狗可及時復位芯片,保證系統的穩定。

DAC:它可以在IO口直接輸出模擬電壓,是ADC模數轉換的逆過程。

SDIO:可以用來讀取SD卡。

FSMC:可以用于擴展內存,或者配置成其他總線協議,用于某些硬件的操作。

USB OTG:用OTG功能,可以讓STM32單片機作為USB主機讀取其他USB設備。

那以上就是STM32F1系列所有外設的大致介紹了。

這是STM32F1系列的所有外設,并不是所有型號都擁有全部外設,比如我們這款C8T6芯片就沒有后面四個外設。

那具體有哪些外設?每個外設設有幾個呢?

我們還要看一下對應的數據手冊。

下面我放一張英文版的C8T6芯片的數據手冊,看一下它的外設資源表:

看到這幅圖的STM32F103Cx這一列,可以看到這個C8T6是64K閃存的,20K的SRAM,有3個通用定時器,1個高級定時器,沒有基本定時器。2個SPI,2個I^2C,3個USART,1個USB,1個CAN總線,37個IO口,2個10通道的12位ADC。在這個表里沒有出現的外設,你就要確認一下它是不是存在,要是操作了不存在的外設,那它是不會工作的。

3、芯片命名規則

看一下這個型號的每一位字母和數字代表的意義。

一般來說,引腳越多,外設越多。

4、系統結構

分為四部分,大致分布如圖:

加載數據(常量、調試數據等)。

ICode指令總線,Dcode數據總線,System系統總線。前兩個用來加載程序指令的主要用來連接Flash閃存。Flash閃存存儲的就是我們編寫的程序。

SRAM:用于存儲程序運行的變量數據。

AHB、SPIO:用于掛載主要的外設,掛載的一般是最基本或性能比較高的外設(復位、時鐘控制這些最基本的電路)。

5、引腳定義(重點)

這部分內容學習大概知道這個芯片是怎么使用的。

C8T6這個芯片的引腳序號和引腳名稱的示意圖:

左上角小黑點,代表它左邊的引腳是1號引腳。逆時針依次排列,知道48號引腳。

下面給大家展示這款芯片相關的引腳有哪些:

紅色代表電源相關,藍色代表最小系統相關,綠色代表IO口功能口。

類型:

S:電源;I:輸入;O:輸出;IO:輸入輸出。

IO口電平代表IO口所能容忍的電壓。有FT的,代表它能容忍5V的電壓。沒有FT的,容忍3.3V電壓。

如果沒有FT的需要接5V的電平,就需要加裝電平轉換電路了。

主功能就是上電后默認的功能,一般和引腳名稱相同。如果不同的話,引腳的實際功能是主功能而不是引腳名稱的功能。

默認復用功能就是IO口同時連接的外設功能引腳。這個配置IO口的時候可以選擇是通用IO口還是復用功能。

重定義功能:這個的作用是,如果有兩個功能同時復用在了一個IO口上,而你卻是需要用到這兩個功能,那你可以把其中一個復用功能重映射到其他端口上。當然前提是,這個重定義功能的表里有對應的端口。

VBAT:備用電池供電的引腳。可接3V電池。當系統電源斷電時,備用電池可以給內部的RTC時鐘和備份寄存器提供電源。

2號引腳是IO口或者侵入檢者或者RTC。

IO口可以根據程序輸出或讀取高低電平是最基本也是最常用的功能了。

侵入檢測可以用來做安全保障的功能。(你的產品安全性比較高,可以在外殼加一些防拆的觸點。然后接上電路到這個引腳上。若有強行拆開設備,那觸點斷開,這個引腳的電平變化就會觸發STM32的侵入信號,然后就會清理數據來保證安全。

RTC的引腳可以用來輸出RTC校準時鐘,RTC鬧鐘脈沖或者秒脈沖。

3、4號引腳是IO口或者接32、786Hz的RTC晶振。

5、6號引腳接系統的主晶振,一般是8MHz。然后芯片內部有鎖相環電路,可以對這個8MHz的頻率進行信頻。最終產生72MHz的頻率。作為系統的主時鐘,7號NRST是系統復位引腳,N代表它是低電平復位的。

8、9號引腳是內部模擬部分的電源,如ADC、RC振蕩器等。VSS是負極,接GND、VDD是正極,接3.3V.

10~19號引腳都是IO口,其中PAO還兼具了WKUP的功能。這個可以用于喚醒處于待機模式的STM32。

20號引腳是IO口或者BOOT1引腳。BOOT引腳是用來配置啟動模式的,另外這個IO口引腳名稱沒加粗。這是表示我推薦使用這些加粗的IO口,沒有加粗的IO口,可能需要進行配置,或者兼備其他功能,使用時需要留意一下。

21、22號也都是IO口。

23、24號的VSS_1(正極)和VDD_1(負極)是系統的主電源口。

另外,下面還有VSS_2、VDD_2、VSS_3、VDD_3。都是系統的主電源口。

這里STM32內部采用了分區供電的方式。所以供電口會比較多。在使用時,把VSS都接GND、VDD都接3.3V即可。

25~33號都是IO口。

34、27~40號。這些事IO口或者調試端口。

上面默認的主功能是調試端口。調試端口就是用來調試程序和下載程序的。

這個STM32需要2根線,分別是SWDIO和SWCLK。JTAG需要5根,分別是JTMS、JTCK、JTDI、JTDO、NJTRST。

我上面所講的都是使用STLINK來下載調試程序。STLINK用的是SWD的方式,所以只需要占用PAB和PA14這兩個IO口,在使用SWD的調試方式時,剩下的PA15、PB3、PB4可以切換為普通的IO口來使用,但要在程序中進行配置,不配置的華默認是不會用做IO口的。

41~43、45~46都是IO口。

剩下的44號引腳跟剛才介紹的BOOT1一樣,也是用來做啟動配置的。

這個表在數據手冊中也有,這些都是我在數據手冊中提取出來的,在后面會給出地址,方便大家查看。STM32F103C8T6 數據表, PDF - 全部數據表https://www.alldatasheet.com/view.jsp?Searchword=STM32F103C8T6

6、啟動配置

如圖是我們剛才看到BOOT0和BOOT1兩根引腳的功能。這個啟動配置的作用就是指定程序開始運行的位置。一般情況下,程序都是在Flash程序存儲器開始執行。但是在某些情況下,我們也可以讓程序在別的地方開始執行。用以方式完成特殊的功能。

BOOT0?按0->接地? ? ? ? ? ? ? ? BOOT1 x 不論結什么,啟動模式都是主閃存存儲器的模式最常用

1 接1就是接到3.3V電源正的意思 0?

這個不是很好理解,其實這個模式就是用來做串口下載的。系統存儲器村的就是STM32中的一段BOOtLoader程序。

作用是接受串口的數據,然后刷新到主閃存中,這樣就可以使用串口下載程序了。

一般我們需要串口下載程序的時候會配置到這個模式上。

那我們什么時候需要用到串口下載呢?可以看回到引腳定義表:

這5個是調試窗口,它們既可以用來下載程序,也可以作為普通IO口使用。

如果我們在程序中把這5個端口全部配置成了IO口,那就完了。因為這個芯片沒有調試端口,也就下載不了程序了,所以在你配置這幾個端口的時候要小心點,不要把它們全部都變成普通IO口了。

那如果全部變成IO口了,下載不進去程序了,這就需要用到串口的方式下載程序了。

如果想使用串口下載,就需要配置T1為0,T0為1.沒有STLINK、JLIK,可以用串口下載,多一種方式。

這個模式主要用來進行程序調試的,現階段用的比較少。

另外解釋一下上面那幅圖的最后一句話:BOOT引腳的值是在上電復位后的一瞬間有效的,之后就隨便了。

想讓STM32正常工作,那么首先就需要把電源部分和最小系統部分的電源連接好,也就是引腳定義表中標紅藍色的部分。

7、最小系統電路

STM32 最小系統電路主要由電源電路、時鐘源電路、BOOT 啟動電路、調試接口電路和復位電路這五部分組成,以下是各部分的詳細介紹:
電源電路
作用:為 STM32 芯片提供穩定的電源,確保芯片能夠正常工作。STM32 芯片通常需要 3.3V 的電源電壓,電源電路負責將外部輸入的電源轉換為芯片所需的穩定電壓,并進行濾波等處理,以減少電源噪聲對芯片的影響。
設計要點:通常采用線性穩壓器或開關穩壓器來實現電源轉換。如使用 AMS1117-3.3V 等線性穩壓芯片,將輸入的 5V 或其他電壓轉換為 3.3V。同時,需要在電源輸入端和芯片電源引腳處連接多個濾波電容,如 10uF 的鉭電容和 100nF 的陶瓷電容,以濾除不同頻率的噪聲信號,靠近芯片引腳放置電容,以提高濾波效果。
時鐘源電路
作用:為 STM32 芯片提供時鐘信號,時鐘信號是芯片內部各個部件同步工作的基準,決定了芯片的運行速度和時序節奏。
設計要點:可以選擇內部時鐘源或外部時鐘源。內部時鐘源一般是 RC 振蕩器,精度較低但成本低、功耗小;外部時鐘源通常采用石英晶振,精度高、穩定性好。如常用的 8MHz 外部晶振,為系統提供穩定的時鐘基準。在使用外部晶振時,需要在晶振兩端連接兩個起振電容,電容值一般在 10pF-40pF 之間,還可在晶振輸入輸出引腳之間加一個 1M 的電阻,產生負反饋,保證放大器工作在高增益的線性區,同時起到限流作用。
BOOT 啟動電路
作用:用于選擇 STM32 芯片的啟動模式,不同的啟動模式決定了芯片從何處讀取啟動代碼和數據。
設計要點:STM32 芯片有三種啟動模式,由 BOOT0 和 BOOT1 引腳在復位時的狀態決定。一般情況下,如果使用 JTAG 或 SWD 調試下載程序,會將程序下載到閃存里,可直接將 BOOT0 引腳通過一個 10K 電阻下拉接地,BOOT1 引腳置為低電平或懸空。
調試接口電路
作用:用于將計算機中的程序代碼下載到 STM32 芯片中,并對芯片進行調試和仿真,方便開發人員對程序進行調試和優化。
設計要點:常用的調試下載方式有 JTAG 和 SWD 兩種。現在一般采用 SWD 調試接口,只需要將 SWCLK(時鐘信號)、SWDIO(數據輸入輸出信號)、GND(接地)、3.3V(電源)引腳引出即可與調試器連接。不需要添加外部上拉或下拉電阻,因為 STM32 內部已經集成了相應的電阻。
復位電路
作用:將 STM32 芯片的內部電路恢復到初始狀態,確保芯片在啟動或出現異常時能夠正常初始化和運行。
設計要點:STM32 有三種復位方式,分別是系統復位、電源復位和后備域復位。常用的是電源復位方式,通過一個按鍵和一個電容組成的電路來實現。當按下按鍵時,將芯片的 RST 引腳拉低,產生外部復位信號,使芯片進入復位狀態;當按鍵松開后,電容充電,RST 引腳電位逐漸升高,復位結束,芯片開始正常運行。一般選擇 100nF 的電容,以保證 RST 引腳低電平持續的時間滿足芯片復位的最小脈寬要求。

這就是STM32單片機的簡單介紹,后續我也會繼續分享有關STM32單片機的內容,希望大家多多支持。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83060.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83060.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83060.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GESP】C++一級考試大綱知識點梳理(1)

計算機基礎和操作系統 GESP C++一級官方考試大綱中,除可通過編碼掌握的Dev C++開發工具的使用和C++編程基礎語法知識外(考綱2-13),還涉及計算機基礎知識的要求(考綱1): (1)了解計算機的基本構成(CPU,內存,I/O 設備等) ,了解 Windows、Linux等操作系統基本概念和常…

淺談 JavaScript 性能優化

文章目錄 概要一、代碼執行優化1. 減少全局變量訪問2. 避免不必要的計算3. 優化循環操作 二、內存管理優化1. 減少內存泄漏2. 對象池與內存復用 三、渲染性能優化1. 避免強制同步布局2. 減少 DOM 操作3. 優化動畫與合成 四、網絡加載優化1. 代碼壓縮與 Tree Shaking2. 按需加載…

mongodb nosql數據庫筆記

MongoDB 簡介 MongoDB 是一個開源的 NoSQL 數據庫,采用文檔存儲模型(BSON 格式,類似 JSON),支持高靈活性、水平擴展和高性能的數據操作。與傳統關系型數據庫(如 MySQL)不同,MongoDB…

Flutter實現不規則瀑布流布局拖拽重排序

因為業務,所以需要用flutter去實現一種不規則圖形的瀑布流,但是同時需要支持拖拽并重新排序。效果類似如下。 查詢過現有的插件,要么是僅支持同樣大小的組件進行排序,要么就是動畫效果不是很滿意,有點死板,…

微信小程序(uniapp)實現騰訊云 IM 消息撤回

uniapp 實現騰訊云 IM 消息撤回功能實戰指南 一、功能實現原理 騰訊云 IM 的消息撤回功能通過 消息修訂(Message Revision) 機制實現,核心流程如下: 發送方調用撤回 API 刪除指定消息云端生成撤回通知消息(類型為 T…

AI入門示例

市面上有很多AI大模型,這里以 智譜的大模型 為示例 1.先要注冊智譜AI開放平臺 2.注冊成功后,會贈送3個月的免費額度,如下 3.然后去控制臺,創建一個API KEY 4.接著就可以開始寫代碼了 提前導入包: openai 示例1&…

【數據結構】單鏈表練習

1.鏈表的中間節點 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 用快慢指針來解決 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* he…

嘗鮮純血鴻蒙,華為國際版本暫時不支持升級。如mateX6 國際版?為什么不支持?什么時候支持?

一:mateX6 國際版支持鴻蒙嗎? 不支持 二:華為國際版支持鴻蒙嗎? 不支持 三:華為國際版什么時候支持? 2025年預期可以支持。請耐心等待。 三:國際版為什么不支持? EMUI 采用AO…

Spring Boot的啟動流程,以及各個擴展點的執行順序

目錄 1. 初始化階段執行順序 1.1 Bean的構造方法(構造函數) 1.2 PostConstruct 注解方法 1.3 InitializingBean 的 afterPropertiesSet() 1.4 Bean(initMethod "自定義方法") 2. 上下文就緒后的擴展點 2.1 ApplicationContext 事件監聽…

刀具問題討論

1 刀具的問題概述 問題描述 一道工序用自動化車床連續加工某種零件,由于刀具損壞等原因該工序會出現故障,其中刀具損壞故障占95%, 其它故障僅占 5%。工序出現故障是完全隨機的, 假定在生產任一零件時出現故障的機會均相同。工作人員通過檢查零件來確定…

vite配置一個css插件

vite.config.js的plugins執行函數 該例子只是替換一些css,具體內容不重要,主要看形參的運用 // vite-plugin-css.js export default function cssPlugin() {return {name: vite-plugin-css-post, // 插件的名字,Vite 插件必須有名字enforce: post, // 設定插件執…

?1.1.1 按位與運算替代求余運算優化場景

在計算機編程中,使用按位與運算(&)替代求余運算(%)可以提高效率的特殊場景是:當除數是 2 的整數次冪(即 ( b 2^n ),其中 ( n ) 為自然數)時。例如,( b …

CentOS 7 環境中部署 LNMP(Linux + Nginx + MySQL 5.7 + PHP)

在 CentOS 7 環境中部署 LNMP(Linux Nginx MySQL 5.7 PHP) 環境的詳細步驟如下。此方案確保各組件版本兼容,并提供完整的配置驗證流程。 1. 更新系統 sudo yum update -y 2. 安裝 MySQL 5.7 2.1 添加 MySQL 官方 YUM 倉庫 由于MySQL并不…

UniApp微信小程序自定義導航欄實現

UniApp微信小程序自定義導航欄 在UniApp開發微信小程序時,頁面左上角默認有一個返回按鈕(在導航欄左側),但有時我們需要自定義這個按鈕的樣式和功能,同時保持與導航欄中間的標題和右側膠囊按鈕(藥丸屏&…

Java大師成長計劃之第35天:未來展望與個人總結

引言 作為一門歷史悠久的編程語言,Java自1995年問世以來,經歷了多個版本的迭代與演進,依然在當今技術生態中占據著重要地位。從早期的Java SE、Java EE到后來的Java Spring框架,再到現代的微服務架構與云原生應用,Jav…

Ubuntu開機自動運行Docker容器中的Qt UI程序

Ubuntu開機自動運行Docker容器中的Qt UI程序 引言為什么需要這樣配置?解決方案概覽詳細實現步驟1. 創建容器啟動腳本2. 創建系統服務3. 配置自動登錄和顯示設置常見問題解決方案1. 程序無法顯示(X11權限問題)2. 分辨率設置不生效3. 服務啟動失敗安全注意事項結語附錄:完整文…

Scratch節日 | 龍舟比賽 | 端午節

端午節快樂! 這款專為孩子們打造的Scratch游戲——《龍舟比賽》,讓你在掌控龍舟的競速中,沉浸式體驗中華傳統節日的魅力! 🎮 游戲亮點 節日氛圍濃厚:化身龍舟選手,在波濤洶涌的河流中展開刺激競…

(五)MMA(OpenTelemetry/Rabbit MQ/ApiGateway/MongoDB)

文章目錄 項目地址一、OpenTelemetry1.1 配置OpenTelemetry1. 服務添加2. 添加服務標識3. 添加請求的標識4. 添加中間價 二、Rabbit MQ2.1 配置Rabbit MQ1. docker-compose2. 添加Rabbit MQ的Connect String 2.2 替換成Rabbit MQ1. 安裝所需要的包2. 使用 三、API Gateways3.1 …

格恩朗超聲波水表 助力農業精準灌溉與振興?

在農業現代化的征程中,水資源的精準利用至關重要,而這離不開高精度計量設備的支持。大連格恩朗品牌積極響應國家全面推進鄉村振興、加快農業農村現代化的號召,精心打造的超聲波水表,憑借其超高精度,成為綠色灌溉領域的…

微信小程序頁面嵌套web-view點擊系統導航返回時進行彈窗處理

實現效果:微信小程序頁面嵌套web-view點擊系統導航返回時進行彈窗處理 首先在web-view里是不可實現的(據我了解下來) 參考小程序文檔:page-container 大致邏輯: 1、page-container可實現頁面離開前攔截 2、由于web-vie…