精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

做為IT人的你 趁年輕學點Python吧

h1654155971.7688 ? 來源:未知 ? 作者:伍文輝 ? 2018-05-06 09:03 ? 次閱讀

曾幾何時,流行過這么一句話:再不瘋狂我們就老了!這是青春的再召喚,還是獻給青春的挽歌,個中滋味,也許只有內心自知!

AI蓬勃發展的今天,IT巨頭都在悄悄布局,做為IT人的你,是否也準備好了?雖說Python不是進入AI領域的最佳編程語言,但毫無疑問,Python是進入其中并探索AI奧秘非常流行的編程語言。所以,趁著還年青,無論是心理還是身理,亦或是職業生涯的青春期,學點Python吧!

Adafruit推出的Metro M0 Express開發板,集MCU開發與Python一體,確實是入門Python的極佳開發板。純Python學習,不免枯燥,如果還能在開發板上點個燈,是不是會更好一點!(話外音:還是枯燥!)

除了Python,還可以使用Arduino來開發、測試,也算是一專多能了。

先看板,再點燈,此乃學習電子的不二法門(個人經驗,切勿模仿)。

初看,這貨不是Arduino板么?其實不是滴,雖具其形,但內心更強大。Metro M0 Express擁有一顆 ATSAMD21G18芯,相比ATmeg328來說,在主頻及存儲方面都有極大的提升。引腳全面兼容Arduino UNO。

供電方面,新增了7V~9V DC供電接口,DC Jack規格為5.5/2.1mm,極性內正外負,旁邊還有一個物理開關,手動打開或關斷電源。

與Arduino不同的是,GPIO接口不再使用過孔,而是使用貼片式,開發板背面整體一塊,配合Metro Express的大大Logo,更顯大氣。

硬件配置方面,MCU型號為ADSAMD21G18,最高運行主頻為48MHz,3.3V工作電壓。存儲組合則為256KB的Flash存儲加32KB的SRAM;另外還板載了一片4MB的SPI存儲,進一步擴充了存儲需求。 Metro Express的主要特性如下:

? ATSAMD21G18核心,最高運行主頻為48MHz

? 256KB/32KB的存儲組合

? 2MB SPI Flash存儲擴展

? 32.768KHz晶振

? 3.3V電壓調節器,最大支持500mA電流

? 原生USB支持,不再需要FTDI轉串口支持

? 硬件串口/I2C/SPI支持

? PWM輸出

? 25個GPIO,工作電壓為3.3V

? SWD調試接口

? 電源開關

值得指出的是,25個GPIO可除了可以復用做數字/模擬引腳外,其中還包括了一個真正的模塊輸出引腳A0。另外原生的USB支持,免去了類似FTDI之類的轉換芯片,USB接口除了可以充當串口通訊設備外,還可以連接鍵盤、鼠標及MIDI設備。

另外在開發板上也集成了一個SWD調試接口,只是不知道在Arduino環境里如何使用它?

先不管這些了!上個電看看。

使用MicroUSB轉換線連接開發板的USB口與PC連接,測試用的PC上安裝的是Windows 10系統。當開發板與PC連接后,通過USB給開發板供電。上電后開發板的三色LED燈循環變換顯示顏色,另外指示串口通信的TX指示燈開始閃爍。

Windows 10自動檢測到串口設備并安裝了正確的驅動程序,如下

另外PC上會多出一個大容量存儲磁盤,其中包含了PYTHON啟動代碼及相關的資源,如下

其中main.py里面包含了相關的功能代碼。在串口的輸出如下

這個默認的程序有點復雜,對于初學者來說,咱們來嘗試寫個簡單的點燈程序,也算是第一個hello world程序。

我們知道在PC上寫Python程序,有很多的IDE可供選擇。那么在為MCU寫代碼時,有什么好的IDE可供選擇呢?Adafruit官方推薦使用Mu來作為Metro M0 Express的IDE。從官網下載并安裝Mu程序,啟動后畫面如下

界面比較樸素,沒有什么噱頭!不過這個IDE提供了一個REPL控制臺,這是個很實用的程序。當然你也許會想,用VSCode行不?用Spyder行不?當然也行,不過我們知道Python程序都提供了一個REPL環境供用戶獲取幫助或實驗簡單的代碼,這個時候這些IDE就沒有用了,因為這些IDE都是基于PC端的Python解釋器!

先寫一段簡單的Python代碼,與MCU無關,純粹是驗證Python解釋器。

代碼如下

import time

s = 0

for i in range(10):

print(i)

time.sleep(1)

print('s = {}'.format(s))

將代碼保存為sum.py,如下

Mu聰明的地方在于它能將代碼保存到開發板映射到PC的磁盤上,將文件命名為sum.py并保存。然后看串口中是否有輸出。然而并沒有,仍然是main.py程序的輸出!

原來,CircuitPython在處理程序的執行時,會遵循一定的規則。CircuitPython會在磁盤上依次查找code.txt, code.py, main.txt及main.py,找到并執行第一個程序。咱們將上述代碼保存為sum.py,根本不是上述文件之列,所以剛創建的文件根本就不會運行!

明白了這一點,就好辦了。只需要將sum.py更名為code.py就可以了,試試!

更名后的代碼文件即時生效了,如下

可以看到咱們期望的結果了。

不止如此,提示還給出了一些有用的信息,比如"Auto-reload is on"這句話告訴我們,代碼文件修改并保存后會即時生效,同時我們也看到了code.py執行會優先于main.py。

最后一個有趣的地方在于,當code.py執行完畢后,我們可以按任意鍵進入REPL環境,如下

確實很好很強大!

不過我們前面提到Mu這個IDE時也說了,Mu本身就提供了一個REPL環境,

下面這個窗口就是REPL環境了,這是個很有用的窗口,例如我們想看看開發板GPIO接口的命名,可以在REPL里執行如下命令

熟悉Arduino編程的用戶一定對A0、A1這些接口耳熟能詳,所以,如果要引用其中一個接口,按照Python的規則,應該是board.XX,其中XX就是上面列出的名稱了。

好,下面開始正式點燈,編輯如下代碼

很光棍的一段代碼,當然也好懂!保存,然后就自動運行了。看到LED燈閃啊閃,串口也有對應的輸出。

然而問題來了,Cpython中的哪些庫可以用呢?這個可以參考官方的文檔,參見附錄。上面代碼中用到的一些庫都在參考資源中列出來了,花5分鐘熟悉一下!

說了半天,CircuitPython是啥?CircuitPython是大名鼎鼎的MicroPython的再移植產品,專門為Adafruit的部分硬件定制。

除了支持Python,開發板也支持Arduino模式開發。按照Arduino一般的開發模式,首先要下載并安裝對應的板級庫文件,Metro M0 Express也不例外,如下

確定后,就可以在Arduino的開發板管理器里添加對應的開發板類型了。這里碰到一點糟心的事,就是官方的PDF文檔里舉例使用的是另一款開發板,不是針對Metro M0 Express的,花了很長時間安裝后卻發現找不到Metro M0 Express這一開發板型號,重新在網頁版里找到了正確的庫文件后才解決!因為Arduino現在支持的開發板種類太多,很多開發板的命名也比較相似,結果往往就是找錯了對象,鬧了笑話,浪費了時間!

下圖是正確安裝了軟件庫后顯示的板卡名稱

現在可以打開一個blink程序來點燈了,編譯并上傳的結果如下

LED燈又開始閃爍了。

不過問題又來了,Python不能用了!

這是正?,F象,現在的存儲空間被ARDUINO程序占用了,所以PYTHON當然也就不能用了。怎么辦呢,下面是切換回Python的方法。

首先雙擊開發板上的復位鍵,進入bootloader模式,此時PC端映射的盤符會變成METROBOOT,里面有3個文件,如下

從附錄給出的CircuitPython參考里下載一個擴展名為.bin的文件,注意不要下載錯了,必須是針對Metro M0的.bin文件,然后拖動到映射的盤符里,等待大約15秒鐘,奇跡出現了,CircuitPython又出現了。只是此時的CircuitPython里還沒有創建可運行的Python文件,自己寫一個,命名為code.py或main.py,然后丟到映射盤里,又可以了!

總體來說,Metro M0 Express還是很好玩的。首先是硬件參數提升了,更高的運行主頻及更大的存儲空間,完敗Arduino UNO R3!;其次,引入了CircuitPython的新式編程語言,一方面程序代碼更簡單,另一方面也為那些想要學習和了解Python的用戶提供了一個學習的理由;最后一點就是靈活的引導配置模式,使得在二種編程語言(c/c++及Python)之間可以靈活切換!

至于配置過程中碰到的文檔不一致的問題,只能怪筆者看文檔的時候不夠細心,不過如果官方在整理文檔時,針對性更具體一點,也許用戶的體驗會更好一點吧!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • AI
    AI
    +關注

    關注

    87

    文章

    30146

    瀏覽量

    268421
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84455
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186655

原文標題:再不學點Python,咱真老了

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    周立功寫給學單片機的年輕人 經典勵志

    周立功寫給學單片機的年輕人經典勵志
    發表于 08-11 18:39

    怎么學點

    怎么學點陣PCB打樣找華強 http://www.hqpcb.com/3 樣板2天出貨
    發表于 10-22 20:08

    年輕人該怎么正確應對高血壓

    ,含鹽或鈉的調味料,罐頭、腌制品、蛋黃、動物內臟、動物性脂肪要避免攝食??啥鄶z取多元不飽和脂肪酸,如新鮮魚肉,對血壓控制及日后冠狀動脈粥狀硬化有幫助。  年輕人該怎么正確應對高血壓,做為年輕人來說
    發表于 04-01 16:25

    年輕人的困惑

    的發展方向也非常地迷茫。他們甚至不知道自己究竟適合什么行業,能做什么?他們應該選擇跳槽、轉行?還是去考研充電呢?面對種種困惑?作為年輕人又該有怎樣的選擇呢?作為IT愛好者來說,單片機嵌入式開發工作
    發表于 11-11 16:36

    放下的浮躁心

    種種困惑?作為年輕人又該有怎樣的選擇呢?作為IT愛好者來說,單片機嵌入式開發工作是一個不錯的選擇。發燒友專業單片機嵌入式培訓技術解決的職場困惑,深圳單片機培訓,西鄉單片機嵌入式培訓,技術咨詢qq2116084661
    發表于 06-03 15:51

    Python 之父 退出Python 核心決策層,而轉居幕后

    歲了,那創始退出我想也有身體的原因!畢竟不是誰都想“活到老,干到老”的。還是 Linus 好,鎮得住,不服就噴服!遲早都會發生的。如同佛陀涅磐的時候,弟子問他以后如何修行,佛陀答:以戒為師?;蛟S
    發表于 07-14 17:45

    年輕人,以后讓AI給你升職加薪

    進行提問和打分,有時候會讓覺得Ta沒能完全看出深藏于靈魂的才華。但是,如果有一天對面坐的不再是一個“”,那么這樣的面試,能想象嗎?
    發表于 08-28 09:16

    機器Python仿真軟件介紹

    相關知識機器Python仿真軟件介紹軟件安裝使用Python的第一步現在,我們將嘗試使該機器移動。 有關的RoBIOS命令是int VWSetSpeed(int linSpeed,
    發表于 12-20 07:53

    榮耀10全新上市,一起來看看它對“年輕人”的理解

    和30年的手機發展歷程相比,「榮耀」這個名字顯的年輕奔放,卻不稚嫩青澀。而榮耀的定位也很契合它的標簽——向年輕人輸出優質的產品和文化。
    的頭像 發表于 05-07 16:12 ?5520次閱讀

    淺談Python語言

    python是目前市面上,我個人認為是最簡潔&&最優雅&&最有錢途&&最全能的編程語言,沒有之一。所以既然決定了要學習python,那么就需要先下一個決心,至少決定要做為自己的主力語
    發表于 10-09 09:45 ?1595次閱讀

    馬云、雷軍、李彥宏等大佬告訴年輕人是否要買房

    眼下對于年輕人來說,最大的負擔可能就是買房了,而且市場環境在倒逼著年輕人盡早去考慮房子這樣的大事,但是對于不少年輕人來說,想要擁有自己的一套房子,傾盡一家之力或許都不一定能搞定,所以年輕人
    發表于 11-28 15:29 ?2104次閱讀

    小米CC9評測 契合年輕人需求的全功能拍照旗艦

    的相關產品也往往被冠以“年輕人的第一個**”,但是,小米手機真的了解年輕人的審美和喜好嗎?年輕人需要的只是高性價比嗎?
    的頭像 發表于 07-10 10:29 ?4408次閱讀

    Python寫機器上位機

    Python寫GUI的插件比較多,常用的有Tkinter、pyqt5,本將使用pyqt5寫機器的上位機。Tkinter 是 Python的標準 GUI 庫,是Python推薦使用的界
    發表于 05-09 11:10 ?0次下載
    <b class='flag-5'>Python</b>寫機器<b class='flag-5'>人</b>上位機

    轟趴館要如何搞定這屆年輕人?

    年輕人在追求什么?”隨著00后與90后逐漸成為當前的消費主力,這個問題的答案變得愈加重要。作為消費主力,年輕人可能不再關注消費所具備的社會價值和附加價值。被消費主義洗腦的人其實只是少數,更多
    的頭像 發表于 02-28 14:23 ?570次閱讀
    轟趴館要如何搞定這屆<b class='flag-5'>年輕人</b>?

    詳解pcb光學點是什么

    詳解pcb光學點是什么
    的頭像 發表于 10-12 10:36 ?1639次閱讀