中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

美侖美家具的網(wǎng)站誰做的網(wǎng)站seo優(yōu)化方法

美侖美家具的網(wǎng)站誰做的,網(wǎng)站seo優(yōu)化方法,做網(wǎng)站的優(yōu)化價格,南寧網(wǎng)站建設(shè)電話0 介紹 不同于作為單板計算機的樹莓派5,樹莓派 pico 是一款低成本、高性能的微控制器板,具有靈活的數(shù)字接口。主要功能包括: 英國樹莓派公司設(shè)計的 RP2040 微控制器芯片雙核 Arm Cortex M0 處理器,彈性的時鐘頻率高達 133 MHz26…

0 介紹

不同于作為單板計算機的樹莓派5,樹莓派 pico 是一款低成本、高性能的微控制器板,具有靈活的數(shù)字接口。主要功能包括:

  • 英國樹莓派公司設(shè)計的 RP2040 微控制器芯片
  • 雙核 Arm Cortex M0+ 處理器,彈性的時鐘頻率高達 133 MHz
  • 264kB SRAM 和 2MB 板載閃存
    • RP2040 能夠支持高達 16MB 的片外閃存,不過在 Pico 中只有 2MB。
  • USB 1.1,支持設(shè)備和主機
  • 低功耗睡眠和休眠模式
  • 通過 USB 使用大容量存儲器進行拖放編程
  • 26 × 多功能 GPIO 引腳
  • 2 × SPI、2 × I2C、2 × UART、3 × 12 位 ADC、16 × 可控 PWM 通道
  • 精確的片上時鐘和定時器
  • 溫度傳感器
  • 片上加速浮點庫
  • 8 × 用于支持定制外設(shè)的可編程 I/O (PIO) 狀態(tài)機

樹莓派 pico W/WH 引腳定義布局

在這里插入圖片描述

引腳附加說明:

  • 板子上有好幾個地線,GPIO 有 8 個地線加上 3 針 Debug 連接器上的一個附加地線
  • 一個位于33號針腳的地線被指定為模擬地線
  • 所有與電源相關(guān)的引腳都被安排在了一起,靠近 microUSB 連接器
    • VBUS,這是來自 microUSB 總線的輸出電源,5 V。如果 Pico 不是由 microUSB 連接器供電,那么這里將沒有輸出。
    • VSYS,這是輸入電壓,范圍為 2 至 5 V。板載電壓轉(zhuǎn)換器將為 Pico 將其改為 3.3 V。
    • 3V3,這是 Pico 內(nèi)部調(diào)節(jié)器的 3.3 伏輸出。只要將負載保持在 300ma 以下,它就可用于為其他組件供電。
  • 幾個輸入可以控制 Pico 的電源
    • 3V3_EN,可以使用此輸入禁用 Pico 的內(nèi)部電壓調(diào)節(jié)器,從而關(guān)閉 Pico 和由其供電的任何組件。
    • RUN,可以啟用或禁用 RP2040 微控制器,也可以將其復(fù)位。

樹莓派 Pico W 在保留 Pico 外形尺寸的同時,使用英飛凌 CYW43439 增加了板載單頻 2.4GHz 無線接口(802.11n)。板載 2.4GHz 無線接口具有以下功能:

  • 無線(802.11n),單頻(2.4 千兆赫)
  • WPA3
  • 軟接入點,最多支持四個客戶端
  • 藍牙 5.2
    • 支持藍牙 LE 中央和外設(shè)功能
    • 支持經(jīng)典藍牙

天線采用 ABRACON(前 ProAnt)授權(quán)的板載天線。無線接口通過 SPI 與 RP2040 微控制器連接。

由于引腳限制,部分無線接口引腳是共享的。CLK 與 VSYS 監(jiān)視器共享,因此只有在沒有 SPI 傳輸時,才能通過 ADC 讀取 VSYS。英飛凌 CYW43439 DIN/DOUT 和 IRQ 均共享 RP2040 上的一個引腳。只有當 SPI 沒有進行傳輸時,才適合檢查 IRQ。接口的運行頻率通常為 33MHz。

在 Pico 上進行編程開發(fā)

可以使用兩種編程語言之一開始使用 Pico:

  • MicroPython,一種專門為微控制器制作的解釋語言
  • C++,許多微控制器用戶都熟悉 C++,因為它被用于 Arduino 和 ESP32 板上

使用 C++ 在樹莓派 pico 上進行開發(fā),能夠更有效榨干 pico 的性能,但是 MicroPython 更容易上手。

1 使用 MicroPython 在 Pico 上進行編程開發(fā)

1.1 Thonny IDE

Thonny IDE 適用于Windows、Mac OSX 和 Linux,也是樹莓派操作系統(tǒng)(以前的 Raspbian)的一部分。

這里在 Windows11 上使用 Thonny IDE 嘗試利用 MicroPython 進行編程開發(fā)。

1.2 安裝和啟動 MicroPython
  • 將 microUSB 連接到 Pico 上,并準備將另一端插入電腦。在插入之前,先按下Pico上的Boot Select(開關(guān))按鈕。按住BOOTSEL鍵幾秒鐘,然后松開。

  • 在電腦上應(yīng)該會看到一個新的驅(qū)動器,類似于將 U 盤插入電腦時的情況

    • 如果這里沒有反應(yīng),可能是線的問題,需要使用具備數(shù)據(jù)傳輸功能的線
  • 打開新的 “驅(qū)動器”,會看到一個名為 RPI-RP2 的文件夾。在這個驅(qū)動器里,會看到幾個文件,其中一個是網(wǎng)頁文檔index.htm,點擊該網(wǎng)頁文件,瀏覽器就會打開,會被重定向到樹莓派 Pico 入門頁面

  • 點擊 MicroPython 入門的標簽。會看到一個鏈接來下載一個 UF2 文件,這就是可下載的 MicroPython 文件。把這個文件下載到電腦上
    在這里插入圖片描述

  • 現(xiàn)在將下載的文件拖到 Pico 的 RPI-RP2 文件夾中。一旦這樣做了,文件夾就會消失,Pico 將以 MicroPython 模式啟動

注:這里實際上將之前下載的 MUF2 文件拖進去之后,pico 會自動重啟,重啟后就看不到那個移動硬盤了

打開設(shè)備管理器,在端口一欄下有一個 USB 串行設(shè)備,記住方框中的東西,例如我的是 COM4
在這里插入圖片描述

1.3 安裝并配置 Thonny IDE
  • 去官網(wǎng)下載即可,鏈接:https://thonny.org/

    • 官網(wǎng)下載速度非常慢,還容易下載失敗,也可以去 github 下載:https://github.com/thonny/thonny/releases
  • 安裝并打開Thonny,然后選擇視圖,打開這三個
    在這里插入圖片描述

  • 選擇:工具 - 設(shè)置,按下圖選擇
    在這里插入圖片描述

  • 下面的端口選擇剛剛記住的那個,我的是 COM4 。點擊確認,完成!

1.4 點亮板載 LED

在 Shell 中依此執(zhí)行:

from machine import Pin
led = Pin(25, Pin.OUT)
led.value(1)

可以看到板載的 LED 亮了。

  • Hello World
    在 shell 中輸入如下代碼:

    print("Hello World")
    
  • 查看板子的型號
    對于用 MicroPython 編寫的腳本,沒有直接的方法可以通過查看硬件來確定它是運行在樹莓派 Pico還是Pico W上。不過,可以通過查看特定 MicroPython 固件中是否包含網(wǎng)絡(luò)功能來間接判斷:

    import network
    if hasattr(network, "WLAN"):print("pico-W")
    else:print("pico")
    

    也可以使用 sys 模塊檢查 MicroPython 固件版本,以查看它是針對樹莓派Pico還是Pico W編譯的。

    import sys
    sys.implementation
    
1.5 腳本測試

前面的實驗都是在 Shell 中執(zhí)行的,這樣存在缺點:

  • 一旦執(zhí)行了程序,代碼就會消失
  • 對于比較大/復(fù)雜的程序來說,很不方便

可以直接在編輯器中編寫程序代碼,代碼編寫完成之后,可以通過 ctrl+s 來保存代碼,這個時候會彈出選擇存放在本地電腦或Pico上??梢赃x擇存放在 pico 上,并給代碼命名,名稱需要以 .py 結(jié)尾。

此時腳本就保存在 pico 上了,可以通過執(zhí)行按鈕來執(zhí)行腳本。

1.6 在沒有主機的情況下運行腳本

開發(fā)好的程序,希望能夠獨立在 pico 上運行,由 microUSB 端口或通過 Pico VSYS 電源輸入供電,而不是每次都需要讓其通過連接主機上手動執(zhí)行。前面的方式都是從 Thonny IDE 將程序加載到 Pico 上運行的,依賴連接的主機。

前面已經(jīng)將腳本保存在 pico 上了,只需要把腳本命名為main.py即可,這樣當 Pico 啟動時,它會查找名為main.py的程序。如果它找到了它,就會加載它并在啟動時運行它。

此時把 pico 從主機上拔下來,只需要給其供電,pico 就會在啟動之后自動執(zhí)行 main.py

2 使用 C/C++ 在 Pico 上進行編程開發(fā)

這里使用的編輯器是 CLion 和 VS-Code,這兩個二選一即可。

2.1 準備軟件/文件
2.1.1 下載 SDK

clone 這個倉庫,也就是下載這個倉庫的代碼:https://github.com/raspberrypi/pico-sdk

git clone https://github.com/raspberrypi/pico-sdk
2.1.2 下載示例代碼

clone這個倉庫,也就是下載這個倉庫的代碼:https://github.com/raspberrypi/pico-examples

git clone https://github.com/raspberrypi/pico-examples
2.1.3 下載安裝 gcc-arm-none-eabi

下載鏈接在這個網(wǎng)站里:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

windows 下載這個就可以:gcc-arm-none-eabi-xxxx-win32.exe
在這里插入圖片描述

安裝,注意記住安裝位置。

2.2 配置環(huán)境
2.2.1 CLion

在 CLion 中打開示例代碼項目文件夾 pico-examples,進入設(shè)置,找到 CMake
在這里插入圖片描述

配置環(huán)境
在這里插入圖片描述

加入兩個:

  • PICO_SDK_PATH :值為下載的 pico sdk 的目錄
  • PICO_TOOLCHAIN_PATH :安裝 gcc-arm-none-eabi 的目錄下的 bin 目錄

配置完成!

2.2.2 VS-Code

打開Visual StudioDeveloper Command Prompt 命令行,cmd 不行的

輸入 code 打開 VSCode,必須這樣打開!

然后安裝 cmake tools 插件,重啟 VSCode,依然是從 Developer Command Prompt 命令行打開 VSCode!

打開設(shè)置,選擇拓展 - CMake Tools Configuration - Configure Environment - 添加項

在這里插入圖片描述

加入兩個:

  • PICO_SDK_PATH :值為下載的 pico sdk 的目錄
  • PICO_TOOLCHAIN_PATH :安裝 gcc-arm-none-eabi 的目錄下的 bin 目錄

再選擇拓展 - CMake Tools Configuration - Generator,設(shè)置值為 NMake Makefiles
在這里插入圖片描述

關(guān)閉設(shè)置,打開示例代碼文件夾,右下角出現(xiàn)是否配置項目,點 。然后提示配置項目,選擇 GCC for arm-none-eabi
在這里插入圖片描述

配置完成!

2.3 點亮板載 LED

以 CLion 為例,打開示例代碼下的 blink 下的 blink.c ,點擊構(gòu)建:
在這里插入圖片描述

構(gòu)建完成后,在 cmake-build-debug/blink/elf2uf2 目錄下可以找到 blink.uf2 文件,這即是編譯后的需要燒錄的文件

按住 pico 上的按鈕,使用 USB 線連接電腦后松開按鈕,將 blink.uf2 拖進去。

OK,pico 自動重啟,LED 已經(jīng)亮了!

這個時候應(yīng)該已經(jīng)發(fā)現(xiàn)了,沒錯,MicroPython 的固件也是 .uf2 后綴,說明 MicroPython 也是用 C 寫出來、編譯好的。

3 添加 OLED 屏幕

可以將一個 OLED 顯示器連接到 Pico 上,這樣就可以在上面打印一些東西。

顯示屏使用的是 0.91 英寸 I2C 協(xié)議的 OLED 屏,OLED 屏幕模塊和樹莓派 Pico 的 GPIO 連線如下:

OLEDPICO
VCC(電源正3.3-5V)3V3
GNDGND
SCL(I2C時鐘線)GP21
SDA(I2C數(shù)據(jù)線)GP20

顯示器需要一個庫,可以使用 Thonny ID 安裝:

  • 點擊 "工具 "菜單
  • 點擊 “管理包”
  • 搜索 “ssd1306”
  • 找到 "ssd1306"并安裝它
3.1 OLED 顯示屏的演示腳本
# 樹莓派 Pico OLED Display Test
# Uses ssd1306 moduleimport machine
import utimesda=machine.Pin(20)
scl=machine.Pin(21)i2c=machine.I2C(0, sda=sda, scl=scl, freq=400000)from ssd1306 import SSD1306_I2C
oled = SSD1306_I2C(128, 32, i2c)print(i2c.scan())oled.text('Welcome to the', 0, 0)
oled.text('Pi Pico-W', 0, 10)
oled.text('Display Demo', 0, 20)
oled.show()
utime.sleep(4)oled.fill(1)
oled.show()
utime.sleep(2)
oled.fill(0)
oled.show()while True:oled.text("Hello World",0,0)for i in range (0, 164):oled.scroll(1,0)oled.show()utime.sleep(0.01)

這里的 OLED 顯示屏是一個 I2C 設(shè)備,所以在腳本的開頭將兩個 GPIO 引腳定義為 SDA (GPIO 20) 和 SCL (GPIO 21)。

Pico 有兩條 I2C 總線,可以使用幾種不同的 GPIO 引腳來連接它們。但它們并不是隨便的引腳,例如某些引腳被指定為總線 0 的 SDA,只有它們才能用于 SDA 總線 0。

使用機器庫的I2C函數(shù)定義一個 I2C 連接。我們需要給它提供以下參數(shù)。

  • I2C總線號,例子中是 0
  • SDA引腳
  • SCL引腳
  • I2C總線頻率,例子中是400KHz

這里我們沒有傳遞 I2C 地址。因為 SD1306 OLED 顯示器有一個固定的 I2C 地址,所以我們不需要指定它。不過,在這里添加了一行與顯示器無關(guān)的內(nèi)容,但可以掃描 I2C 總線,并打印出它發(fā)現(xiàn)占用的地址。在 Shell 中打印出來的是十進制,而不是十六進制。

3.2 顯示 Pico 的系統(tǒng)信息

下面的代碼可以用來打印樹莓派 Pico 的系統(tǒng)信息,包括 MicroPython 版本號、內(nèi)建模塊清單、CPU 頻率、內(nèi)存大小、磁盤空間使用情況等。

import uos
d = uos.uname()
print('board name:', d[4])
print('micropython version:', d[2])
print('\nbuildin modules:')
help('modules')import machine
print('\nsystem freq: {} MHz'.format(machine.freq()//1000000))import gc
print('memory:', gc.mem_free() + gc.mem_alloc())d = uos.statvfs('/')
print('Disk size:')
print('total:', d[0]*d[2])
print('free:', d[0]*d[3])

對上面的腳本做一點點的修改,并保存到 pico 上,命名為main.py,就可以在 pico 啟動后再 OLED 上顯示 pico 的系統(tǒng)信息。
main.py

import uos
import machine
import utime
import gc
import timedef stat():sda=machine.Pin(20)scl=machine.Pin(21)i2c=machine.I2C(0, sda=sda, scl=scl, freq=400000)from ssd1306 import SSD1306_I2Coled = SSD1306_I2C(128, 32, i2c)d = uos.uname()oled.text(f'{d[4]}', 0, 0)oled.text('Mem: {:.2f}% {:.0f}KB'.format(gc.mem_alloc()/(gc.mem_free() + gc.mem_alloc()) * 100, (gc.mem_free() + gc.mem_alloc()) / 1024), 0, 11)d = uos.statvfs('/')if int(time.time()) % 2 == 0:oled.text(f'CPU Freq: {machine.freq()//1000000}MHz', 0, 22)else:oled.text('Disk: {:.2f}% {:.0f}KB'.format((d[0]*d[2] - d[0]*d[3]) / (d[0]*d[2]) * 100, d[0]*d[2] / 1024), 0, 22)oled.show()utime.sleep(1.5)if __name__ == "__main__":d = uos.statvfs('/')print("d[0]*d[2] - d[0]*d[3]:", d[0]*d[2] - d[0]*d[3])print("d[0]*d[2]:", d[0]*d[2])print("d[0]*d[3]:", d[0]*d[3])while True:stat()
http://www.risenshineclean.com/news/2328.html

相關(guān)文章:

  • p2p網(wǎng)站開發(fā)新浪微輿情大數(shù)據(jù)平臺
  • 廣告網(wǎng)站模板下載不了接外包項目的網(wǎng)站
  • 深圳網(wǎng)站開發(fā)公司西安網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣
  • 南通住房城鄉(xiāng)建設(shè)委官方網(wǎng)站微信群推廣平臺有哪些
  • 做360網(wǎng)站優(yōu)化蘇州關(guān)鍵詞優(yōu)化軟件
  • 泛解析對網(wǎng)站的影響百度問問首頁
  • 陽谷網(wǎng)站建設(shè)公司網(wǎng)店運營教學(xué)
  • 精美企業(yè)網(wǎng)站seo數(shù)據(jù)優(yōu)化教程
  • H5網(wǎng)站建設(shè)報價多少網(wǎng)站優(yōu)化排名公司
  • 數(shù)據(jù)庫檢索網(wǎng)站建設(shè)快速優(yōu)化seo軟件
  • 米客優(yōu)品的網(wǎng)站是哪做的中視頻自媒體平臺注冊官網(wǎng)
  • 上海集團網(wǎng)站制作杭州seo公司哪家好
  • 商業(yè)網(wǎng)站的建設(shè)與制作世界500強企業(yè)名單
  • b2b電子商務(wù)網(wǎng)站交易流程百度信息流投放在哪些平臺
  • 韓語淘寶代購網(wǎng)站建設(shè)東莞關(guān)鍵詞自動排名
  • 建設(shè)網(wǎng)站時以什么為導(dǎo)向性價比高seo排名
  • 電商網(wǎng)站的付款功能域名ip查詢
  • 天將建設(shè)集團有限公司網(wǎng)站什么文案容易上熱門
  • 一品威客做任務(wù)要給網(wǎng)站錢嗎江門網(wǎng)站建設(shè)模板
  • 德國網(wǎng)站域名后綴外鏈怎么做
  • 哈爾濱做網(wǎng)站哪好小紅書推廣引流
  • 咸陽市城鄉(xiāng)建設(shè)規(guī)劃局網(wǎng)站企業(yè)網(wǎng)絡(luò)營銷成功案例
  • 大型網(wǎng)購網(wǎng)站開發(fā)框架谷歌應(yīng)用商店下載
  • 一套金蝶erp系統(tǒng)多少錢seo公司推廣宣傳
  • wordpress架設(shè)教程視頻教程seo比較好的優(yōu)化方法
  • wordpress調(diào)用分類欄目深圳seo論壇
  • 深圳企業(yè)做網(wǎng)站公司有哪些百度指數(shù)有三個功能模塊
  • 北京企業(yè)優(yōu)化推廣網(wǎng)站淄博
  • 手機網(wǎng)站打開速度項目宣傳推廣方案
  • 網(wǎng)頁布局的類型有哪些seo公司軟件