在前一小節(jié)中介紹了點(diǎn)亮第一個(gè)LED燈,這里我們準(zhǔn)備進(jìn)階嘗試下,輸出第一段PWM波形。(PWM也就是脈寬調(diào)制,一種可調(diào)占空比的技術(shù),得到的效果就是:如果用示波器測(cè)量引腳會(huì)發(fā)現(xiàn)有方波輸出,而且高電平、低電平的時(shí)間是可調(diào)的。)
創(chuàng)新互聯(lián)于2013年開(kāi)始,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元婁底做網(wǎng)站,已為上家服務(wù),為婁底各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18982081108
這里爪爪熊準(zhǔn)備寫(xiě)成一個(gè)golang的庫(kù),并開(kāi)源到github上,后續(xù)更新將直接更新到github中,如果你有興趣可以和我聯(lián)系。 github.com/dpawsbear/bear_rpi_go
我在很多的教程中都看到說(shuō)樹(shù)莓派的PWM(硬件)只有一個(gè)GPIO能夠輸出,就是 GPIO1 。這可是不小的打擊,因?yàn)槲蚁胧褂弥辽偎膫€(gè) PWM ,還是不死心,想通過(guò)硬件手冊(cè)上找尋蛛絲馬跡,看看究竟怎么回事。
手冊(cè)上找尋東西稍等下講述,這里先提供一種方法測(cè)試 樹(shù)莓派3B 的 PWM 方法:用指令控制硬件PWM。
這里通過(guò)指令的方式掌握了基本的pwm設(shè)置技巧,決定去翻一下手冊(cè)看看到底PWM怎么回事,這里因?yàn)闆](méi)有 BCM2837 的手冊(cè),根據(jù)之前文章引用官網(wǎng)所說(shuō), 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)闆](méi)有示波器,暫時(shí)不好測(cè)試。先找到下面對(duì)應(yīng)圖:
根據(jù)以上兩個(gè)圖對(duì)比可以發(fā)現(xiàn)如下規(guī)律:
對(duì)照上面的表可以看出從 BCM2837 中印出來(lái)的能夠使用在PWM上的就這幾個(gè)了。
為了驗(yàn)證個(gè)人猜想是否正確,這里先直接使用指令的模式,模擬配置下是否能夠正常輸出。
通過(guò)上面一系列指令模擬發(fā)現(xiàn),(GPIO1、GPIO26)、(GPIO23、GPIO24)是綁定在一起的,調(diào)節(jié)任意一個(gè),另外一個(gè)也會(huì)發(fā)生變化。也即是PWM0、PWM1雖然輸出了兩路,可以理解成兩路其實(shí)都是連在一個(gè)輸出口上。這里由于沒(méi)有示波器或者邏輯分析儀這類(lèi)設(shè)備(僅有一個(gè)LED燈),所以測(cè)試很簡(jiǎn)陋,下一步是使用示波器這類(lèi)東西對(duì)頻率以及信號(hào)穩(wěn)定性進(jìn)行下測(cè)試。
小節(jié):樹(shù)莓派具有四路硬件輸出PWM能力,但是四路中只能輸出兩個(gè)獨(dú)立(占空比獨(dú)立)的PWM,同時(shí)四路輸出的頻率均是恒定的。
上面大概了解清楚了樹(shù)莓派3B的PWM結(jié)構(gòu),接下來(lái)就是探究如何使用Go語(yǔ)言進(jìn)行設(shè)置。
因?yàn)槟玫搅耸謨?cè),這里我想直接操作寄存器的方式進(jìn)行設(shè)置,也是順便學(xué)習(xí)下Go語(yǔ)言處理寄存器的過(guò)程。首先需要拿到pwm 系列寄存器的基地址,但是翻了一圈手冊(cè),發(fā)現(xiàn)只有偏移,沒(méi)有找到基地址。
經(jīng)過(guò)了一段時(shí)間的努力后,決定寫(xiě)一個(gè) 樹(shù)莓派3B golang包開(kāi)源放在github上,只需要寫(xiě)相關(guān)程序進(jìn)行調(diào)用就可以了,以下是相關(guān)demo(pwm)(在GPIO.12 上輸出PWM波,放上LED燈會(huì)有呼吸燈的效果,具體多少頻率還沒(méi)有進(jìn)行測(cè)試)
以下是demo(pwm) 源碼
TinyGo是一個(gè)為微控制器、WebAssembly(Wasm)和命令行工具等小型場(chǎng)景設(shè)計(jì)的Go語(yǔ)言編譯器。TinyGo重用了Go語(yǔ)言工具和LLVM使用的庫(kù),以編譯用Go語(yǔ)言編寫(xiě)的程序。目前,該項(xiàng)目在GitHub上已經(jīng)積累了10.1k的Star。
如下為一個(gè)示例程序,當(dāng)運(yùn)行在任何支持的帶板載LED的主板上時(shí),則會(huì)點(diǎn)亮內(nèi)置LED。
上述程序可以在單片機(jī)、Adafruit ItsyBitsy M0微控制器或任何支持的帶內(nèi)置LED的板上進(jìn)行編譯和不需要修改的運(yùn)行,只要設(shè)置正確的TinyGo編譯器目標(biāo)即可。例如,設(shè)置如下目標(biāo)可以編譯和點(diǎn)亮 單片機(jī)。
項(xiàng)目概述
TinyGo項(xiàng)目旨在將Go語(yǔ)言引入到具有單進(jìn)程或核心的微控制器和小系統(tǒng)。TinyGo類(lèi)似于emgo,但主要的區(qū)別在于作者想要保留Go內(nèi)存模型。另一個(gè)區(qū)別在于TinyGo在內(nèi)部使用LLVM,因而可以獲得更小更高效的代碼以及更高的靈活性。
創(chuàng)建TinyGo項(xiàng)目的初衷是,如果Python可以在微控制器上運(yùn)行,Go語(yǔ)言當(dāng)然也應(yīng)該能夠在更低級(jí)微設(shè)備上運(yùn)行。
支持設(shè)備
你可以為微控制器、WebAssembly和Linux編譯TinyGo程序。目前,TinyGo支持以下85種微處理器板。
更多技術(shù)細(xì)節(jié)請(qǐng)參閱原項(xiàng)目。
? ??
當(dāng)前位置: Language Tips Columnist 專(zhuān)欄作家 津津樂(lè)道
萬(wàn)能動(dòng)詞“GET”的主要用法
中國(guó)日?qǐng)?bào)網(wǎng) 2016-10-12 11:27
分享到
? ? ? ? ?
英語(yǔ)中,“GET”作動(dòng)詞時(shí),它不僅內(nèi)涵非常豐富,而且其用法頗為復(fù)雜。它是一個(gè)萬(wàn)能動(dòng)詞,備受英語(yǔ)人士青睞。關(guān)于GET的使用頻率和語(yǔ)體風(fēng)格,英國(guó)著名詞匯專(zhuān)家皮爾索爾(J. Pearsall)女士在1998年出版的《新牛津英語(yǔ)詞典》中特地指出:GET是五個(gè)最常用的英語(yǔ)動(dòng)詞之一,但它常用于非正式的口語(yǔ)或書(shū)面語(yǔ)中。為了敘述方便,下面從詞性功能的角度,簡(jiǎn)要?dú)w納一下GET的語(yǔ)義及語(yǔ)用特點(diǎn),以便英語(yǔ)學(xué)習(xí)者能正確掌握這一萬(wàn)能動(dòng)詞的主要用法。
?
一、及物動(dòng)詞
及物動(dòng)詞get的用法很多,但在每種搭配中g(shù)et的意義是不完全相同的。
1.用于get+sb(sth);意為“叫來(lái)某人(得到某物)”。例如:
Please go and get him. [請(qǐng)你去把他叫來(lái)。]
She got high marks in the final examination. [她在期末考試中得了高分。]
2.用于get+sb+sth/get+sth+for sb;意為“為某人弄到某物”。例如:
I'll get you a drink. [我去個(gè)你拿杯飲料來(lái)。]
Could you get a school timetable for me? [你能幫我弄張課程表嗎?]
3.用于“get+名詞+賓補(bǔ)”,該賓語(yǔ)補(bǔ)足語(yǔ)可以是:
1)不定式;意為“使……做……”(具有使役性)。例如:
You must get them to come here. [你必須讓他們來(lái)這里。]
He couldn't get the car to start and went by bus. [他因無(wú)法發(fā)動(dòng)車(chē)子,所以就乘公共汽車(chē)去。]
2)現(xiàn)在分詞;意為“使……(開(kāi)始)起來(lái)”或處于某種狀態(tài)。例如:
What he said got us thinking. [他說(shuō)話(huà)使我們思考起來(lái)。]
Can you get the machine running? [你能把這機(jī)器發(fā)動(dòng)起來(lái)嗎? ]
3)過(guò)去分詞;其中的過(guò)去分詞表示被動(dòng)關(guān)系。例如:
We get our milk delivered. [我們訂的牛奶送到了。]
You must get the work done by Friday. [你必須最遲在星期五以前把工作做完。]
值得注意的是,這種被動(dòng)關(guān)系有時(shí)可能表示某種遭遇;這主要取決于過(guò)去分詞的含義。例如:
He got his watch stolen. [他的手表被偷了。]
Ina got her fingers caught in the door. [艾娜的手指讓門(mén)給夾住了。]
另外,“get sth done”和“have sth done”在語(yǔ)義及語(yǔ)用上都有區(qū)別;前者通常表示動(dòng)作讓別人完成,后者通常表示動(dòng)作由自己完成。例如:
She got her hair cut yesterday. [她昨天剪了頭發(fā)(別人剪的)。]
A week ago I had a hundred dollars saved. [一個(gè)星期前我節(jié)省了一百美元(自己省的)。]
4)形容詞;意為“使……(變成某種狀態(tài))”。例如:
What he said got us angry. [他說(shuō)的話(huà)讓我們很生氣。]
We've got everything ready. [我們已把一切都準(zhǔn)備好了。]
二、不及物動(dòng)詞
不及物動(dòng)詞get的用法也很多,不同的搭配有不同的意義。
1.用于“get+形容詞”;get相當(dāng)于系動(dòng)詞,構(gòu)成系表結(jié)構(gòu)說(shuō)明主語(yǔ)的狀況、性質(zhì)、特征等情況。例如:
She got sick. [她生病了。]
Please don't get angry. [請(qǐng)不要生氣。]
值得一提的是,英國(guó)著名語(yǔ)法專(zhuān)家斯旺(M. Swan)先生在1980年出版的專(zhuān)著《實(shí)用英語(yǔ)慣用法》中指出:get不能與表示顏色的形容詞構(gòu)成系表結(jié)構(gòu)。例如不說(shuō):
* Leaves get brown.
但可以把get改為go:Leaves go brown.[樹(shù)葉變棕色。]
另外,get用進(jìn)行時(shí)態(tài)來(lái)表示狀態(tài)的改變。例如:
The weather is getting cold. [天氣逐漸變冷。]
I'm getting very deaf, you know. [你知道,我的耳朵越來(lái)越聾了。]
用進(jìn)行時(shí)態(tài)的get還可以與形容詞的比較級(jí)連用,強(qiáng)調(diào)漸進(jìn)過(guò)程。例如:
The things are getting worse. [事情變更糟了。]
Our life is getting better and better. [我們的生活是越來(lái)越好了。]
2.用于“get+副詞”,表示位置的變換;其中一些已成為成語(yǔ)。例如:
Where did you get on? [你上哪兒去了?]
The news soon got abroad. [這消息很快就傳開(kāi)了。]
3.用于“get+不定式”(構(gòu)成復(fù)合謂語(yǔ)),表示一種狀態(tài)的變化。例如:
How did you get to be captain? [你怎么當(dāng)上隊(duì)長(zhǎng)的?]
I'll never get to understand him. [我永遠(yuǎn)不會(huì)理解他。]
4.用于“get+現(xiàn)在分詞”;這種用法主要見(jiàn)于美國(guó)英語(yǔ)。例如:
We'd better get going, I suppose. [我想我們最好趕緊動(dòng)身。]
They got talking and didn't notice the time. [他們談了起來(lái)并沒(méi)有注意時(shí)間。]
5.用于“get+過(guò)去分詞”;這時(shí)get表示的是相當(dāng)于become(即系動(dòng)詞)的意思,后面的過(guò)去分詞屬形容詞范疇(即形容詞化的過(guò)去分詞),作主語(yǔ)補(bǔ)語(yǔ)。例如:
He got very worried. [他變得很擔(dān)心。]
She gets easily excited. [她很容易激動(dòng)。]
三、助動(dòng)詞
get作為助動(dòng)詞,它與過(guò)去分詞構(gòu)成被動(dòng)語(yǔ)態(tài)(即Get-Passive)。中國(guó)著名語(yǔ)言學(xué)家周海中先生在1990年發(fā)表的論文《Get-Passive研究》中指出:目前,Get-Passive的使用還沒(méi)有Be-Passive那么廣泛,一般限于口語(yǔ)和非正式書(shū)面語(yǔ);然而,這一被動(dòng)語(yǔ)態(tài)卻有著用得愈來(lái)愈多的趨勢(shì),這種語(yǔ)言現(xiàn)象很值得我們重視和研究。
Get-Passive除了在形式和語(yǔ)體上與Be-Passive有區(qū)別外,在語(yǔ)義及語(yǔ)用上也有其特點(diǎn)。美國(guó)著名語(yǔ)言學(xué)家伯恩斯坦(T. Bernstein)先生在1981年出版的專(zhuān)著《注意你的語(yǔ)言》中認(rèn)為:當(dāng)強(qiáng)調(diào)狀態(tài)時(shí),最好使用Be-Passive;當(dāng)強(qiáng)調(diào)動(dòng)作時(shí),最好使用Get-Passive。他給了一個(gè)頗有趣的例句:She has been married, so often you might think she enjoys just getting married, not being married.
Get-Passive明確地表示做出動(dòng)作的時(shí)間,而B(niǎo)e-Passive則表示動(dòng)作造成的狀態(tài)的持續(xù)時(shí)限。例如:
At that time he was not yet married, but he got married in 1920. [當(dāng)時(shí)他還沒(méi)有結(jié)婚,但他在1920年結(jié)婚了。]
因?yàn)镚et-Passive具有這一語(yǔ)義特點(diǎn),所以以下一句不能成立:
* He got married a long time.
但我們可以說(shuō):He was married a long time. [他結(jié)婚很長(zhǎng)時(shí)間了。]
就感情色彩而言, Get-Passive一般都有不利、不幸、不愉快或不如意的意義色彩;而B(niǎo)e-Passive可以表示褒義、貶義或中性意義。例如:
John got arrested by the police. [約翰被警察逮捕了。]
Mariah got dismissed from the service. [瑪麗亞被解雇了。]
某些動(dòng)詞用于Get-Passive時(shí),雖然在形式上是被動(dòng)的,但在意義上卻是主動(dòng)的。例如:
We got started at noon. = We started at noon. [我們中午開(kāi)始。]
Good-bye and write me as soon as you get settled. = Good-bye and write me as soon as you settle. [再見(jiàn),你安頓下來(lái)后盡快給我寫(xiě)信。]
這類(lèi)動(dòng)詞還有confuse[迷惑]、divorce[離婚]、dress[穿著]、engage[訂婚]、lost[迷路]、marry[結(jié)婚]、wash[洗凈]等。
最后一提的是,由動(dòng)詞get構(gòu)成的成語(yǔ),如get hell[受?chē)?yán)厲處罰]、get hot[惱怒,生氣]、get nowhere[無(wú)效,徒勞]、get out[出去,離開(kāi)]、get rid of[擺脫,除去]、get through with[做完,辦完]等就有近百條。這些成語(yǔ)既有字面意義,又有引申意義或比喻意義。它們是英語(yǔ)寶庫(kù)中的明珠,其用法同樣值得學(xué)習(xí)者掌握。
本文僅代表作者本人觀點(diǎn),與本網(wǎng)立場(chǎng)無(wú)關(guān)。歡迎大家討論學(xué)術(shù)問(wèn)題,尊重他人,禁止人身攻擊和發(fā)布一切違反國(guó)家現(xiàn)行法律法規(guī)的內(nèi)容。
(本文作者為英國(guó)牛津大學(xué)訪(fǎng)問(wèn)學(xué)者 林娜博士)
上一篇 : 《Madam Secretary》中的經(jīng)典口語(yǔ)句型
下一篇 : 安全:到底是safety,還是security?
分享到
? ? ? ? ?
中國(guó)日?qǐng)?bào)網(wǎng)英語(yǔ)點(diǎn)津版權(quán)說(shuō)明:凡注明來(lái)源為“中國(guó)日?qǐng)?bào)網(wǎng)英語(yǔ)點(diǎn)津:XXX(署名)”的原創(chuàng)作品,除與中國(guó)日?qǐng)?bào)網(wǎng)簽署英語(yǔ)點(diǎn)津內(nèi)容授權(quán)協(xié)議的網(wǎng)站外,其他任何網(wǎng)站或單位未經(jīng)允許不得非法盜鏈、轉(zhuǎn)載和使用,違者必究。如需使用,請(qǐng)與010-84883561聯(lián)系;凡本網(wǎng)注明“來(lái)源:XXX(非英語(yǔ)點(diǎn)津)”的作品,均轉(zhuǎn)載自其它媒體,目的在于傳播更多信息,其他媒體如需轉(zhuǎn)載,請(qǐng)與稿件來(lái)源方聯(lián)系,如產(chǎn)生任何問(wèn)題與本網(wǎng)無(wú)關(guān);本網(wǎng)所發(fā)布的歌曲、電影片段,版權(quán)歸原作者所有,僅供學(xué)習(xí)與研究,如果侵權(quán),請(qǐng)?zhí)峁┌鏅?quán)證明,以便盡快刪除。
你可能還感興趣的文章
?
川普推特撕X闖禍 美民眾:你還是關(guān)了吧
?
《星球大戰(zhàn)》粉絲要求把萊婭公主正式列入迪士尼公主
?
《單身日記3:好孕來(lái)襲》電影精講(視頻)
?
關(guān)于《神夏》你不知道的十件事