真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

樹莓派用go語言行嗎 學(xué)樹莓派需要什么語言

樹莓派為什么采用python語言為主要開發(fā)語言

樹莓派的創(chuàng)造者想讓更多小孩學(xué)會(huì)編程,去用電腦實(shí)現(xiàn)自己有趣的想法。本來打算只讓這個(gè)機(jī)器跑Python(是只跑Python,像學(xué)習(xí)機(jī)一樣的東西。并沒有想過在上面弄一個(gè)完整的linux)。但是后來動(dòng)真格的時(shí)候發(fā)現(xiàn)大材小用了于是就直接跑linux了,當(dāng)然Python是不會(huì)落下的。

站在用戶的角度思考問題,與客戶深入溝通,找到雙塔網(wǎng)站設(shè)計(jì)與雙塔網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋雙塔地區(qū)。

可以看看記者對(duì)樹莓派的創(chuàng)造者做的訪談。

Python的優(yōu)點(diǎn)大家都曉得,功能強(qiáng)大,使用簡(jiǎn)單,修改調(diào)整方便

【原創(chuàng)】樹莓派3B開發(fā)Go語言(四)-自寫庫實(shí)現(xiàn)pwm輸出

在前一小節(jié)中介紹了點(diǎn)亮第一個(gè)LED燈,這里我們準(zhǔn)備進(jìn)階嘗試下,輸出第一段PWM波形。(PWM也就是脈寬調(diào)制,一種可調(diào)占空比的技術(shù),得到的效果就是:如果用示波器測(cè)量引腳會(huì)發(fā)現(xiàn)有方波輸出,而且高電平、低電平的時(shí)間是可調(diào)的。)

這里爪爪熊準(zhǔn)備寫成一個(gè)golang的庫,并開源到github上,后續(xù)更新將直接更新到github中,如果你有興趣可以和我聯(lián)系。 github.com/dpawsbear/bear_rpi_go

我在很多的教程中都看到說樹莓派的PWM(硬件)只有一個(gè)GPIO能夠輸出,就是 GPIO1 。這可是不小的打擊,因?yàn)槲蚁胧褂弥辽偎膫€(gè) PWM ,還是不死心,想通過硬件手冊(cè)上找尋蛛絲馬跡,看看究竟怎么回事。

手冊(cè)上找尋東西稍等下講述,這里先提供一種方法測(cè)試 樹莓派3B 的 PWM 方法:用指令控制硬件PWM。

這里通過指令的方式掌握了基本的pwm設(shè)置技巧,決定去翻一下手冊(cè)看看到底PWM怎么回事,這里因?yàn)闆]有 BCM2837 的手冊(cè),根據(jù)之前文章引用官網(wǎng)所說, BCM2835 和 BCM2837 應(yīng)該是一樣的。這里我們直接翻閱 BCM2835 的手冊(cè),直接找到 PWM 章節(jié)。找到了如下圖:

圖中可以看到在博通的命名規(guī)則中 GPIO 12、13、18、19、40、41、45、52、53 均可以作為PWM輸出。但是只有兩路PWM0 PWM1。根據(jù)我之前所學(xué)知識(shí),不出意外應(yīng)該是PWM0 和 PWM1可以輸出不一樣的占空比,但是頻率應(yīng)該是一樣的。因?yàn)闆]有示波器,暫時(shí)不好測(cè)試。先找到下面對(duì)應(yīng)圖:

根據(jù)以上兩個(gè)圖對(duì)比可以發(fā)現(xiàn)如下規(guī)律:

對(duì)照上面的表可以看出從 BCM2837 中印出來的能夠使用在PWM上的就這幾個(gè)了。

為了驗(yàn)證個(gè)人猜想是否正確,這里先直接使用指令的模式,模擬配置下是否能夠正常輸出。

通過上面一系列指令模擬發(fā)現(xiàn),(GPIO1、GPIO26)、(GPIO23、GPIO24)是綁定在一起的,調(diào)節(jié)任意一個(gè),另外一個(gè)也會(huì)發(fā)生變化。也即是PWM0、PWM1雖然輸出了兩路,可以理解成兩路其實(shí)都是連在一個(gè)輸出口上。這里由于沒有示波器或者邏輯分析儀這類設(shè)備(僅有一個(gè)LED燈),所以測(cè)試很簡(jiǎn)陋,下一步是使用示波器這類東西對(duì)頻率以及信號(hào)穩(wěn)定性進(jìn)行下測(cè)試。

小節(jié):樹莓派具有四路硬件輸出PWM能力,但是四路中只能輸出兩個(gè)獨(dú)立(占空比獨(dú)立)的PWM,同時(shí)四路輸出的頻率均是恒定的。

上面大概了解清楚了樹莓派3B的PWM結(jié)構(gòu),接下來就是探究如何使用Go語言進(jìn)行設(shè)置。

因?yàn)槟玫搅耸謨?cè),這里我想直接操作寄存器的方式進(jìn)行設(shè)置,也是順便學(xué)習(xí)下Go語言處理寄存器的過程。首先需要拿到pwm 系列寄存器的基地址,但是翻了一圈手冊(cè),發(fā)現(xiàn)只有偏移,沒有找到基地址。

經(jīng)過了一段時(shí)間的努力后,決定寫一個(gè) 樹莓派3B golang包開源放在github上,只需要寫相關(guān)程序進(jìn)行調(diào)用就可以了,以下是相關(guān)demo(pwm)(在GPIO.12 上輸出PWM波,放上LED燈會(huì)有呼吸燈的效果,具體多少頻率還沒有進(jìn)行測(cè)試)

以下是demo(pwm) 源碼

# 手摸手教你使用 樹莓派 go語言 點(diǎn)亮一個(gè)led

說明:這里筆者使用 gobot框架

官網(wǎng):

執(zhí)行下面命令:

命令執(zhí)行完成后,會(huì)生成一個(gè)main的二進(jìn)制文件,那個(gè)就是我們的程序

備注:如果你想編譯其他版本的樹莓程序?修改 GOARM 即可

GOARM=6 (Raspberry Pi A, A+, B, B+, Zero) GOARM=7 (Raspberry Pi 2, 3)

備注:總結(jié)后面有上傳腳本 ^?_?^

1.請(qǐng)確保你已經(jīng)連接到樹莓派了

2.如果無法上傳,或者報(bào)錯(cuò),請(qǐng)查權(quán)限是否正確

執(zhí)行上傳命令:

scp main pi@192.168.1.xxx :/home/pi/

1.請(qǐng)確保你已經(jīng)連接到樹莓派了

進(jìn)入 /home/pi (就是你剛上傳的文件路徑)

運(yùn)行它: ./main

祝你好運(yùn)!

1.上傳文件的時(shí)候,請(qǐng)注意命令

2.不知道如何ssh登陸樹莓派?(請(qǐng)看我上一篇文章)

3.當(dāng)然需要一點(diǎn)linux的知識(shí)


分享標(biāo)題:樹莓派用go語言行嗎 學(xué)樹莓派需要什么語言
網(wǎng)頁地址:http://weahome.cn/article/doodcde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部