XX性欧美肥妇精品久久久久久,51精品国自产在线,国产欧美日韩,日韩中文字幕

0 賣盤信息
BOM詢價(jià)
您現(xiàn)在的位置: 首頁(yè) > 技術(shù)方案 >工業(yè)控制 > 使用C開(kāi)始使用Raspberry Pi Pico多核微控制器板

使用C開(kāi)始使用Raspberry Pi Pico多核微控制器板

來(lái)源:
2023-06-12
類別:工業(yè)控制
eye 123
文章創(chuàng)建人 拍明芯城

  雅各布·貝寧戈

  嵌入式系統(tǒng)固有地需要具有功能強(qiáng)大、低成本的微控制器單元 (MCU)。這些設(shè)備不僅在產(chǎn)品中發(fā)揮著重要作用,而且在支持測(cè)試、快速原型設(shè)計(jì)和機(jī)器學(xué)習(xí) (ML) 等功能方面也發(fā)揮著重要作用。但是,開(kāi)始使用 MCU 通常需要深入了解 MCU 技術(shù)和低級(jí)編程語(yǔ)言。最重要的是,開(kāi)發(fā)板的價(jià)格通常在 20 美元到 1000 美元之間,這對(duì)許多開(kāi)發(fā)人員來(lái)說(shuō)太貴了。此外,開(kāi)發(fā)板并不總是可用的,即使有,設(shè)計(jì)人員也常常難以啟動(dòng)并運(yùn)行開(kāi)發(fā)板。

  本文介紹Raspberry Pi Pico (SC0915) 作為RP2040 MCU的低成本開(kāi)發(fā)板,可為開(kāi)發(fā)人員提供廣泛的功能。本文探討了 Pico 和一些擴(kuò)展板,檢查了 Raspberry Pi Pico 支持的不同軟件開(kāi)發(fā)套件,并演示了如何使用 C SDK 創(chuàng)建閃爍的 LED 應(yīng)用程序。

  Raspberry Pi Pico 簡(jiǎn)介

  Raspberry Pi Pico 于 2021 年首次作為 RP2040 微控制器的開(kāi)發(fā)平臺(tái)推出。 Pico 可以用作獨(dú)立的開(kāi)發(fā)板,或者由于可以焊接到載板上的邊緣連接,它可以直接設(shè)計(jì)到產(chǎn)品中(圖 1)。 Pico 低于 5 美元的成本及其多功能用途,已成為制造商和專業(yè)開(kāi)發(fā)人員的熱門解決方案。

  

Raspberry Pi Pico 的圖片是一款低成本開(kāi)發(fā)板


  圖 1:Raspberry Pi Pico 是一款低成本開(kāi)發(fā)板,包含在 RP2040 微控制器上開(kāi)發(fā)應(yīng)用程序所需的一切。 (圖片來(lái)源:樹(shù)莓派)

  RP2040 采用主頻為 133 兆赫茲 (MHz) 的雙核Arm? Cortex?-M0+ 處理器,并包含高達(dá) 264 千字節(jié) (Kbytes) 的 SRAM。 RP2040 不包括片上閃存。相反,Raspberry Pi Pico 提供了一個(gè)外部 2 兆字節(jié) (Mbyte) 閃存芯片,該芯片通過(guò)四串行外設(shè)接口 (QSPI) 與 RP2040 連接。該板還提供了一個(gè)用戶 LED、一個(gè)晶體振蕩器(鎖相環(huán) (PLL) 用于創(chuàng)建穩(wěn)定的高速 CPU 時(shí)鐘)和一個(gè)按鈕(用于配置處理器是正常啟動(dòng)還是進(jìn)入引導(dǎo)加載程序)。

  廣泛的生態(tài)系統(tǒng)

  Raspberry Pi Pico 已經(jīng)擁有廣泛的生態(tài)系統(tǒng),允許開(kāi)發(fā)人員選擇使用 MicroPython 或 C 軟件開(kāi)發(fā)工具包為電路板編寫應(yīng)用程序。關(guān)于 Raspberry Pi Pico 的一個(gè)有趣的注意事項(xiàng)是,不只有一個(gè)可用的開(kāi)發(fā)板。相反,有三個(gè);具有標(biāo)準(zhǔn)配置的原始 SC0915、包含接頭連接器的SC0917以及包含用于連接應(yīng)用的低成本 Wi-Fi 芯片的SC0918 (圖 2)。

  

Raspberry Pi Pico 圖像提供三種配置


  圖 2:Raspberry Pi Pico 提供三種配置。 (圖片來(lái)源:Beningo Embedded Group, LLC)

  對(duì)于這些版本中的每一個(gè),電路板的總體占用空間都保持不變。電路板的邊緣連接包括用于外圍設(shè)備的 40 引腳邊緣連接和連接選項(xiàng),如圖 3 所示。這些包括電源、接地、通用異步接收器和發(fā)送器 (UART)、通用輸入和輸出 (GPIO)、脈沖寬度調(diào)制 (PWM)、模數(shù)轉(zhuǎn)換器 (ADC)、串行外圍互連 (SPI)、內(nèi)部集成電路 (I2C) 接口和調(diào)試。

  

Raspberry Pi Pico 邊緣連接引出線圖像(點(diǎn)擊放大)


  圖 3:Raspberry Pi Pico 邊緣連接引出線提供了多種外設(shè)訪問(wèn)。 (圖片來(lái)源:樹(shù)莓派)

  分線板選項(xiàng)

  當(dāng) Raspberry Pi 將用于快速原型制作時(shí),需要輕松訪問(wèn)電路板的邊緣連接器。訪問(wèn)它們的一種選擇是填充標(biāo)題并使用面包板。但是,此解決方案通常會(huì)導(dǎo)致電線混亂,從而導(dǎo)致錯(cuò)誤。因此,有多種分線板選項(xiàng)可以將邊緣連接器擴(kuò)展到更容易獲得的接口。

  例如,Bridgetek的MM2040EV Pico 模塊板 將大部分邊緣連接器分解為引腳和插座連接。此外,還有用于Seeed Studio的 Pico 的103100142屏蔽 ,它提供每個(gè)外圍接口作為連接器。每個(gè)連接器都與擴(kuò)展板引腳兼容,以添加慣性傳感器、電機(jī)驅(qū)動(dòng)器和測(cè)距儀等功能。

  到 C 還是到 MicroPython?

  嵌入式系統(tǒng)傳統(tǒng)上是用 C 編寫的,因?yàn)樗胶饬说图?jí)控制和高級(jí)系統(tǒng)應(yīng)用程序方法。今天 C 的問(wèn)題在于它是一種過(guò)時(shí)的、已有 50 年歷史的編程語(yǔ)言,很少在大學(xué)教授。也很容易不小心注入錯(cuò)誤并造成損壞。盡管存在這些潛在問(wèn)題,C 語(yǔ)言仍是大多數(shù)嵌入式系統(tǒng)開(kāi)發(fā)的首選語(yǔ)言。

  由 Raspberry Pi Pico 生態(tài)系統(tǒng)提供的使用 C 的替代方法是 MicroPython。 MicroPython 是一個(gè) CPython 端口,設(shè)計(jì)用于在基于 MCU 的系統(tǒng)上運(yùn)行。雖然它無(wú)疑是比 C 更重的處理器用戶,但它是許多開(kāi)發(fā)人員熟悉和習(xí)慣的現(xiàn)代語(yǔ)言。 MicroPython 可以抽象出 MCU 和硬件的底層細(xì)節(jié)。硬件訪問(wèn)是通過(guò)易于學(xué)習(xí)的高級(jí)應(yīng)用程序編程接口 (API) 進(jìn)行的,這是項(xiàng)目期限緊迫的重要功能。

  在選擇要使用的軟件開(kāi)發(fā)工具包 (SDK)(C 或 MicroPython)時(shí),開(kāi)發(fā)人員需要關(guān)注特定需求。與 MicroPython 相比,使用 C 將提供對(duì) MCU 寄存器的低級(jí)訪問(wèn),內(nèi)存占用更小,效率更高。

  設(shè)置 C SDK

  使用 C SDK 創(chuàng)建閃爍 LED 應(yīng)用程序時(shí),有多種選擇。首先是查看 SDK 文檔并按照說(shuō)明進(jìn)行操作。第二種是使用預(yù)置的Docker容器,自動(dòng)安裝上手所需的所有工具。第三種選擇是手動(dòng)安裝工具鏈和 Raspberry Pi Pico 示例代碼,包括:

  混帳

  蟒蛇3

  制作

  gcc-arm-none-eabi

  libnewlib-arm-none-eabi

  可以通過(guò)使用以下命令克隆 Raspberry Pi 的 git repo 來(lái)檢索 Raspberry Pi Pico 示例代碼:

  git clone https://github.com/raspberrypi/pico-sdk /home/sdk/pico-sdk &&

  cd /home/sdk/pico-sdk &&

  git 子模塊更新 --init &&

  一旦安裝了這些庫(kù)和源代碼,下一步就是探索和編譯閃爍的 LED 應(yīng)用程序。

  編寫第一個(gè) blinky 應(yīng)用程序

  C SDK 帶有一個(gè)閃爍的示例,開(kāi)發(fā)人員可以使用它來(lái)構(gòu)建他們的第一個(gè)應(yīng)用程序。下面的代碼清單使用 Pico 的板載 LED 和 PICO_DEFAULT_LED_PIN 指令來(lái)設(shè)置 I/O 引腳并以 250 毫秒 (ms) 的延遲使其閃爍。

  復(fù)制

  /**

  * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.

  *

  * SPDX-License-Identifier: BSD-3-Clause

  */

  #include "pico/stdlib.h"

  int main() {

  #ifndef PICO_DEFAULT_LED_PIN

  #warning blink example requires a board with a regular LED

  #else

  const uint LED_PIN = PICO_DEFAULT_LED_PIN;

  gpio_init(LED_PIN);

  gpio_set_dir(LED_PIN, GPIO_OUT);

  while (true) {

  gpio_put(LED_PIN, 1);

  sleep_ms(250);

  gpio_put(LED_PIN, 0);

  sleep_ms(250);

  }

  #endif

  }

  代碼清單:Raspberry Pi Pico 使用 PICO_DEFAULT_LED_PIN 指令設(shè)置 I/O 引腳并以 250 毫秒的延遲使其閃爍。 (代碼來(lái)源:樹(shù)莓派)

  根據(jù)列表,LED_PIN 被分配了默認(rèn)引腳;然后調(diào)用 C gpio API。 gpio_init 用于初始化引腳,而 gpio_set_dir 用于將 LED_PIN 設(shè)置為輸出。然后創(chuàng)建一個(gè)無(wú)限循環(huán),每 250 毫秒切換一次 LED 的狀態(tài)。

  編譯應(yīng)用程序相對(duì)簡(jiǎn)單。首先,開(kāi)發(fā)人員需要使用以下命令在其 Raspberry Pi Pico 文件夾中創(chuàng)建構(gòu)建目錄:

  mkdir 構(gòu)建

  光盤構(gòu)建

  接下來(lái),cmake 需要通過(guò)執(zhí)行以下命令為構(gòu)建做好準(zhǔn)備:

  制作

  現(xiàn)在,開(kāi)發(fā)人員可以切換到 blinky 目錄并運(yùn)行 make:

  CD閃爍

  制作

  構(gòu)建過(guò)程的輸出將是一個(gè) blinky.uf2 文件。編譯后的程序可以通過(guò)按住 BOOTSEL 引腳并給板子上電來(lái)加載到 Raspberry Pi Pico 上。然后 RP2 將顯示為大容量存儲(chǔ)設(shè)備。開(kāi)發(fā)人員需要將 blinky.uf2 文件拖到驅(qū)動(dòng)器上,此時(shí)引導(dǎo)加載程序?qū)惭b應(yīng)用程序。完成后,LED 應(yīng)開(kāi)始閃爍。

  結(jié)論

  Raspberry Pi Pico 是一款極具吸引力的解決方案,適用于尋求開(kāi)發(fā)周期靈活性的嵌入式開(kāi)發(fā)人員。有多種選擇可供選擇,包括獨(dú)立解決方案或具有無(wú)線連接功能的電路板。此外,生態(tài)系統(tǒng)支持 C 和 C++,以及 MicroPython。開(kāi)發(fā)人員可以選擇最適合其應(yīng)用程序的語(yǔ)言,然后利用相應(yīng)的 SDK 來(lái)加速軟件開(kāi)發(fā)。

責(zé)任編輯:David

【免責(zé)聲明】

1、本文內(nèi)容、數(shù)據(jù)、圖表等來(lái)源于網(wǎng)絡(luò)引用或其他公開(kāi)資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對(duì)本文的引用持有異議,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。

2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。

3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對(duì)內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請(qǐng)讀者明確相關(guān)結(jié)果。

4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。

拍明芯城擁有對(duì)此聲明的最終解釋權(quán)。

相關(guān)資訊

拍明芯城微信圖標(biāo)

各大手機(jī)應(yīng)用商城搜索“拍明芯城”

下載客戶端,隨時(shí)隨地買賣元器件!

拍明芯城公眾號(hào)
拍明芯城抖音
拍明芯城b站
拍明芯城頭條
拍明芯城微博
拍明芯城視頻號(hào)
拍明
廣告
恒捷廣告
廣告
深亞廣告
廣告
原廠直供
廣告
XX性欧美肥妇精品久久久久久,51精品国自产在线,国产欧美日韩,日韩中文字幕

          两性视频久久| 丝袜一区二区三区| 亚洲视频在线播放| 大香蕉在线,一区二区| 亚洲乱码国产| 921国产乱码久久久久久| 变态调教一区二区三区| 午夜人妻三级理论电影在线| 天天鲁一鲁摸一摸爽一爽| chinese熟女熟妇3乱| 在线观看日本女优| 91亚洲精品国偷| 玩弄人妻少妇500| 大香蕉在线精品视频| 色婷婷亚洲一区二区三区| freexxxbabes性欧美| 熟妇人妻系列AV无码一区二区| 国产黄片视频在线观看| 精国产品一区二区三区| eeuss影院www免费天堂| 欧美日韩激情一区二区三区| eeuss影院www在线窝窝| 女厕美女撒尿视频| 少妇午夜福利视频| 日韩一区二区免费资源在线观看 | 一本色道久久88加勒比—综合 | 少妇被内射视频| 日韩av免费不卡| 欧美videosex性少妇| 亚洲av第二区国产| 丰流japanese丰满熟妇| 久久久麻豆精亚洲av麻花 | 久久舔| 日韩欧美亚洲| 日韩一区二区三区精品| 亚洲精品一区二区三区2023年最新| 亚洲一区二区黄色| 公天天吃我奶躁我| 欧美一区二区三区成人久久片| 大地8高清免费观看| 特黄a级毛片免费视频|