arduino 上傳項目出錯_Arduino多核編程:簡單例子

91d4dccb0ded1aff6c8c21c03f331fd7.png

不管你是Arduino領域的新手還是經驗豐富的開發人員,很可能你還只使用過單核在進行編程。 這沒有什么好笑的---- 事實上,直到幾天前我才使用Arduino IDE進行了第一次多核編程。 我和所有其他Arduino粉絲都非常喜歡IDE的易用性以及MicroController 開發所需的很少的環境配置。 同樣的IDE,只需要很少的環境配置,就可以用于多核開發了。
下面來看看怎樣編寫使用六個并行MCU內核的程序吧,但在此之前首先讓我們來了解為什么多核優于一個內核。

59504034dd73b4753d3e7c7c2933c9ef.png

為什么要使用多核?

如果你的項目是關于讀取傳感器的值或讓LED亮起來這種簡單而無需任何復雜的計算的工作,那么你的電路板的MCU有1個或100個核心都是一樣的。 這種簡單地工作無論用1核還是100核最后得出的效果都是很相似的 - 至少從人類可以感知到的角度來看。 但是,通過多個核心,你可以開發具有復雜算法和計算的更先進的解決方案,例如快速傅里葉變換,手勢識別,邊緣計算,預測性維護,甚至是簡單的實時3D渲染。 下面,我們將介紹如何利用索尼的物理網開發套件"Spresense"來在Arduino IDE里進行多核編程。 該板不僅具有六個ARM核心,還有高達156 MHz的頻率。 而且如果需要的話,這個板子可以使用電池供電。

第一步: 在Arduino IDE里安裝Spresense

Spresense Arduino軟件包1.3.0版以上支持使用Arduino IDE進行多核編程。 如果你還沒有安裝它,最簡單的方法是按照Spresense開發人員網站上的步驟操作。
鏈接:https://developer.sony.com/develop/spresense/developer-tools/get-started-using-arduino-ide/set-up-the-arduino-ide#_installation_through_arduino_ide_board_manager

第二步:打開示例代碼

我們使用的例子將用一個主核和四個子核,在Arduino IDE的文件菜單中,打開示例代碼:File → Examples → MultiCore MP → Boot → Main

abec625d3ab47ca7c0caaa9b2b14f95c.png

0b135d7030491be7769ddcb2c101cf8e.png


這個 main.ino 代碼(Sketch)中 包含了多核MP庫,在FOR循環中調用MP.begin(subid)函數來啟動每個子核:

92ae6f3299c339888e29d6ddc597ee25.png

第三步:編譯并上傳主核心代碼

為了上傳Spresense板上面正確核心的代碼(Sketch),從Arduino IDE 工具菜單選擇:Tools → Core → MainCore

eb9549f9d8aab5707ffef73e563a2892.png


接下來,按下上傳按鈕上傳編譯主核代碼:

e612cf4a68e40562ac96f3784e79070b.png

第四步:快速檢查

如果上傳成功了的話,主核現在應該已經被編好程了。你可以打開串口檢測器看看輸出,如下圖,主核工作良好,其他的核心有一個錯誤。這當然,因為我們還沒有上傳他們的代碼,這就是我們接下來要做的。

f46fc1d2f43a1c6242c1d79b74e261df.png

第五步:子核心編程

在IDE中,打開File → Examples → MultiCore MP → Boot → Sub1

abec625d3ab47ca7c0caaa9b2b14f95c.png

5f9f1516c10a603c1b17f70ff6bd8205.png


setup()函數里, MP.begin()函數通知主核各個子核已經啟動好了. 在loop() 函數里, MPlog()每一次迭代輸出 一次“loop” 并且讓第一個LED燈閃一下。

145d6b30f2c387aa4fdcc7c1ba31aefd.png

第六步:子核程序編譯上傳

從Arduino IDE 的工具菜單中選擇SubCore 1:Tools → Core → SubCore 1.

ab26a7cd3a854e55c0c3aa4033425731.png


按下上傳按鈕編譯上傳子核程序到板子上
然后,對剩下的三個子核重復5和6步。

第七步:最終結果

如果子核程序上傳的對的話,LED燈會閃爍,并且串口監視器會輸出所有核心的記錄:

de2e733ddeedbe0dfb3bec3d3c601c6e.png


如果你想把所有核心代碼放在一個Sketch里,可以參照 MessageHello這個示例代碼,在Spresense的官方網站上,更多的例子也可以在Spresense開發者官方網站上找到。

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

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

相關文章

Hadoop-RPC應用demo

Hadoop里的rpc框架可以單獨拿出來使用。jar包全在hadoop-common工程里。 導入hadoop-common工程里(hadoop-2.7.3為例): hadoop-common-2.7.3.jar \hadoop-2.7.3\share\hadoop\common\lib下的全部jar包 實例 rpc.client 客戶端 rpc.pr…

php 變量 可用拼音表示,php漢字轉拼音的示例

. 代碼如下:class Helper_Spell{public $spellArray array();static public function getArray() {return unserialize(file_get_contents(pytable_without_tune.txt));}/*** desc 獲取字符串的首字母* param $string 要轉換的字符串* param $isOne 是否取首字母* param $uppe…

Opencv-Python:圖像尺寸、圖像的讀取、顯示、保存與復制

Opencv-Python:圖像尺寸、圖像的讀取、顯示、保存與復制 原創 2017年11月23日 21:30:494440在使用opencv的方法時,首先必須導入opencv包。新的opencv導入cv2,這里也和cv做了一個對比 [python] view plaincopy import cv2 一、圖像尺寸 圖像的…

寶塔面板服務器ip地址修改_「網站」快速搭建服務器環境及網站

目錄:「NAS」我的搭建NAS全過程在文章開頭我想說明的是,此文章中所使用的工具為 BT 面板即寶塔面板,適合小白使用但是對于想要提升個人能力來說, BT 面板并不是一個好選擇,而作為新手來說,可以使用該面板進…

redis啟動報錯-磁盤滿了

imjournal: fopen() failed for path: ‘/var/lib/rsyslog/imjournal.state.tmp’: Structure needs cleaning [v8.24.0-57.el7_9.1 try http://www.rsyslog.com/e/2013 ] 1.查看服務狀態 systemctl status rsyslog 2.嘗試重啟服務 systemctl restart rsyslog 3.查看分區占用情…

楊輝三角python_Python面試150題匯總,都是常問的面試題!

周末,Python面試題每日一題暫停更新,下面把最近整理的1-50篇Python面試文整理一下,平時文章都放在比較末尾,閱讀量都不高,相信很多人都沒看過,如果對于Python感興趣的,建議可以認真閱讀一下&…

java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.wifi.SCAN_RESULTS flg

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.nokia.wlanapp, PID: 18526java.lang.RuntimeException: Error receiving broadcast Intent { actandroid.net.wifi.SCAN_RESULTS flg0x4000010 (has extras【外部】) } in com.nokia.wlanapp.Receive…

shell 整數條件判斷

兩個整數的比較 整數1 -eq 整數2 判斷整數1是否和整數2相等(相等為真) 整數1 -ne 整數2 判斷整數1是否和整數2不相等(不相等位置) 整數1 -gt 整數2 判斷整數1是否大于整數2(大于為真) 整數1 -lt 整數2 判斷整數1是否小于整數2(小于為真) 整數1 -ge 整數2 判斷整數1是否大于等于…

php處理上傳文件的步驟,php文件上傳步驟

我們在開發網站的時候,經常會遇到需要制作文件上傳功能,下面我們就為大家介紹一下php制作文件上傳功能的詳細步驟。推薦教程:PHP視頻教程第一步:創建一個文件上傳表單允許用戶從表單上傳文件是非常有用的。請看下面這個供上傳文件…

matlab求傅里葉級數展開式_傅里葉級數:從向量的角度看函數

幫助你理解線性代數與機器學習緊密結合的核心內容下文節選自北大出版社《機器學習線性代數基礎》, [遇見]已獲授權許可. 這本書不同于傳統教材, 從新的角度來介紹線性代數的核心知識, 講解也很棒, 又剛好參加參加了當當每滿100-50的活動, 感興趣的朋友可以關注下. 傅里葉級數&a…

c++實現超聲回波包絡檢測_超聲波物位計的選用

超聲波物位計超聲波在氣體、液體和固體介質中以一定速度傳播時因被吸收而衰減,但衰減程度不同,在氣體中衰減最大,而在固體中衰減最小;當超聲波穿越兩種不同介質構成的分界面時會產生反射和折射,且當這兩種介質的聲阻抗…

Android應用開發:CardView的使用及兼容

原文:http://blog.csdn.net/airk000/article/details/39520977 點擊閱讀原文 --------------------------------------------------------------- 引言 在Google I/O 2014上,Google公布了Android L Preview版本,此版本的UI有了非常大的改變…

云海技術u盤怎么恢復成普通盤_BITLOCKER加密中斷數據無法讀取恢復一例

同行求助此問題,密碼客戶是知道的,輸入密碼后提示如圖:如果點擊RESUME則提示如下:無視提示關閉提示框后再次提示分區需要格式化:PC3000 DE中可以添加虛擬驅動器解析BITLOCKER加密的分區,但該例添加虛擬驅動…

git 未能順利結束(退出碼1)

按照這個博客上安裝完小烏龜git后:https://blog.csdn.net/jdsjlzx/article/details/51098588win10下安裝完烏龜git后無法上傳文件進行文件上傳時出現錯誤如下:git 未能順利結束(退出碼1)(922ms2018/4/17 22&#xff1a…

php sql跳過前四條數據,mysql實現每組取前N條記錄的sql,以及后續的組數據量限制...

select a.msg_id, a.com_id, a.data, a.ctime from sns_user_03.user_request_86 a where 5 (select count(*) from sns_user_03.user_request_86 where uid8880386 and com_id a.app_id and msg_id a.msg_id ) order by a.ctime; 上面的sql實現分組查詢,select a.…

交際過程的兩個基本環節_男女相處,若不介意這些“小動作”,基本可以確定“關系曖昧”...

當你對我說再見的時候,我看到你的笑容里有祝福,眼神里卻有遺憾……——南明夫人愛情中最美好幸福的事,莫過于你深愛的人,恰好也鐘情于你。這種兩情相悅的愛情總是如此難得,讓人心生羨慕。這份甜蜜與美好,讓…

Android之NetworkOnMainThreadException異常

原文鏈接:http://blog.csdn.net/mad1989/article/details/25964495 點擊閱讀原文 ------------------------------------------------------------------ 看名字就應該知道,是網絡請求在MainThread中產生的異常 先來看一下官網的解釋: Cl…

中國信通院金融科技負責人韓涵:大數據是生產資料的變革,區塊鏈是生產關系的變革...

在近日召開的“2018中國金融科技產業峰會”上,中國信息通信研究院主任工程師、金融科技負責人韓涵正式發布了《中國金融科技前沿技術發展趨勢及應用場景研究報告》,詳細講解了A(人工智能)B(區塊鏈)C&#x…

php mysql 拼音首字母,Mysql應用MySQL查詢漢字的拼音首字母實例教程

《Mysql應用MySQL查詢漢字的拼音首字母實例教程》要點:本文介紹了Mysql應用MySQL查詢漢字的拼音首字母實例教程,希望對您有用。如果有疑問,可以聯系我們。導讀:最好的方法還是用 PHP 來取拼音首字母,在 MySQL 里新建一個字段來存放…

java簡單紙牌游戲_活動回顧 | 暢玩法語紙牌游戲

11月17日下午,20級小伙伴們迎來了第二次法語角活動!這次外教Anne-Flore Vrac 老師為同學們安排了豐富有趣的法語紙牌游戲,快來一起回顧活動的精彩瞬間吧!集體游戲一:從1到30老師首先帶領同學們進行了“從1到30”的小游…