日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月23日(星期三)

2020年07月23日 | AVR開(kāi)發(fā) Arduino方法(一) 端口子系統(tǒng)

發(fā)布者:hylh2008 來(lái)源: 51hei關(guān)鍵字:AVR開(kāi)發(fā)  Arduino方法  端口子系統(tǒng) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

  Arduino UNO R3使用的主處理器ATMega328P上有3個(gè)8位的輸入/輸出端口,它們分別是PB,PC和PD。Arduino IDE提供的Blink示例可以幫助我們了解端口的數(shù)字輸出功能:


 1 int led = 13;

 2 

 3 void setup() {                

 4   pinMode(led, OUTPUT);     

 5 }

 6 

 7 void loop() {

 8   digitalWrite(led, HIGH);

 9   delay(1000);

10   digitalWrite(led, LOW);

11   delay(1000);

12 }

  這個(gè)示例使Arduino 13(PB5)引腳上的LED閃爍。與數(shù)字輸出相關(guān)的Arduino庫(kù)函數(shù)有:


  pinMode(pin, mode):配置指定引腳為輸入或輸出

  pin:指定引腳

  mode:OUTPUT(輸出),INPUT(輸入)或INPUT_PULLUP(帶上拉電阻的輸入)

  digitalWrite(pin, value):從指定引腳輸出電平

  pin:指定引腳

  value:LOW(低電平,0V),HIGH(高電平,5V)


  ATMega328P的每個(gè)端口都由3個(gè)相關(guān)寄存器控制,方向寄存器DDRx(x = B, C, D)用于指定端口引腳方向,若向其中某位寫(xiě)入1,則該位控制的引腳被設(shè)置為輸出,寫(xiě)入0則為輸入。輸出寄存器PORTx(x = B, C, D)在該端口引腳被設(shè)置為輸出時(shí),寫(xiě)入1則輸出高電平,寫(xiě)入0則輸出低電平;在該端口引腳被設(shè)置為輸入時(shí),寫(xiě)入1則對(duì)其啟用上拉電阻,即在該端口引腳被懸空時(shí)默認(rèn)輸入高電平。輸入寄存器PINx(x = B, C, D)在端口引腳被設(shè)置為輸入時(shí)存儲(chǔ)該端口引腳的輸入,若端口引腳輸入高電平,則寄存器相應(yīng)位被置為1,輸入低電平則置為0。


  通過(guò)直接訪問(wèn)寄存器改寫(xiě)以上程序:


1 void setup() {

2   DDRB |= (1 << PB5);

3 }

5 void loop() {

6   PORTB ^= (1 << PB5);

7   delay(1000);

8 }

  向電路中添加一個(gè)按鍵,讓它的兩端分別連接在Arduino 2(PD2)引腳和GND(地)引腳上(如下所示)。

技術(shù)分享

  這樣使得按鍵在沒(méi)有按下時(shí)2(PD2)引腳處于懸空狀態(tài),因此需要將2(PD2)引腳設(shè)置為帶上拉電阻的輸入模式:


 1 const int buttonPin = 2;

 2 const int ledPin =  13;

 3 

 4 int buttonState = 0; 

 5 

 6 void setup() {

 7   pinMode(ledPin, OUTPUT);      

 8   pinMode(buttonPin, INPUT_PULLUP);     

 9 }

10 

11 void loop(){

12   buttonState = digitalRead(buttonPin);

13 

14   if (buttonState == HIGH) {     

15     digitalWrite(ledPin, HIGH);  

16   } 

17   else {

18     digitalWrite(ledPin, LOW); 

19   }

20 }


  除了pinMode()函數(shù)外,與數(shù)字輸入相關(guān)的Arduino庫(kù)函數(shù)有:


  digitalRead(pin):從指定引腳上讀取電平

  pin:指定引腳

  函數(shù)返回LOW(低電平,0V)或HIGH(高電平,5V)


  通過(guò)直接訪問(wèn)寄存器改寫(xiě)以上程序:


 1 void setup() {

 2   DDRB |= (1 << PB5);

 3   DDRD &= ~(1 << PD2);

 4   PORTD |= (1 << PD2);

 5 }

 6 

 7 void loop() {

 8   if (PIND & (1 << PD2)) {

 9     PORTB |= (1 << PB5);

10   } else {

11     PORTB &= ~(1 << PB5);

12   }

13 }


關(guān)鍵字:AVR開(kāi)發(fā)  Arduino方法  端口子系統(tǒng) 引用地址:AVR開(kāi)發(fā) Arduino方法(一) 端口子系統(tǒng)

上一篇:AVR第1課:準(zhǔn)備階段
下一篇:AVR--I/O端口寄存器

推薦閱讀

  美國(guó)參議院終結(jié)結(jié)束對(duì)中國(guó)中興公司制裁問(wèn)題懸念與爭(zhēng)論,給予中興再生機(jī)會(huì)。不過(guò)中興危機(jī)引發(fā)中國(guó)芯片依賴西方科技的現(xiàn)狀認(rèn)知以及憂患。中國(guó)官方警告,芯片問(wèn)題依然存在,中國(guó)工信部副部長(zhǎng)辛國(guó)斌日前指出,計(jì)算機(jī)和服務(wù)器所用高端芯片仍有95%以上需要進(jìn)口,與發(fā)達(dá)國(guó)家還有幾十年的差距?! ≈袊?guó)官員就芯片依賴進(jìn)口發(fā)出警告。據(jù)金融時(shí)報(bào)引述中國(guó)一位政...
工業(yè)物聯(lián)網(wǎng)(IIoT)解決方案提供商Real-Time InnovaTIons(RTI)近日發(fā)布了Connext產(chǎn)品套件的最新版本——Connext? 6,其中包含首創(chuàng)性的互連軟件產(chǎn)品,旨在加速高度自主系統(tǒng)的開(kāi)發(fā)與部署。面向自主車輛開(kāi)發(fā),這款產(chǎn)品提供了必需的先進(jìn)技術(shù),具備足夠的能力解決4級(jí)和5級(jí)自主駕駛所面臨的復(fù)雜數(shù)據(jù)分發(fā)挑戰(zhàn)。Connext 6是自主車輛領(lǐng)域唯一基于標(biāo)準(zhǔn)的框架,...
如何分配變量到指定的地址舉例:unsigned char temp_A@0x00; //定義無(wú)符號(hào)變量temp_A,強(qiáng)制其地址為0x00unsigned char temp_B@0x100; //定義無(wú)符號(hào)變量temp_B,強(qiáng)制其地址為0x100@tiny unsigned char temp_C; //定義無(wú)符號(hào)變量temp_C,由編譯器自動(dòng)在地址小于0x100的RAM中為其分配一個(gè)地址@near unsigned char temp_D; //定義無(wú)符號(hào)變量temp...
開(kāi)發(fā)環(huán)境BootLoader:u-boot-1.1.6kernel:linux-2.6.30.4cpu:S3C2440步驟1、編寫(xiě)驅(qū)動(dòng)代碼這應(yīng)該是最簡(jiǎn)單的一個(gè)驅(qū)動(dòng)了,只在內(nèi)核打印一下信息,代碼如下:#include <linux/module.h>#include <linux/kernel.h>MODULE_LICENSE("GPL"); static int __init le2440_hello_init(void){ printk("<1>n Hello,changle_2440!n...

史海拾趣

問(wèn)答坊 | AI 解惑

關(guān)于CDMA手機(jī)射頻的校準(zhǔn)

首先,控制手機(jī)的有AT命令;          安捷倫的綜測(cè)儀就更不用當(dāng)心了,他們都有專用的編程指南,你只要按照相應(yīng)儀器的編程指南來(lái)編寫(xiě)程序就可以了。         ...…

查看全部問(wèn)答∨

數(shù)字機(jī)頂盒的工作原理

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 編輯 數(shù)字機(jī)頂盒原理簡(jiǎn)介 機(jī)頂盒(STB)簡(jiǎn)介: 機(jī)頂盒是一種能提供模擬音頻和視頻接口,使現(xiàn)在的模擬電視機(jī)能正常接收節(jié)目;同時(shí),還能提供數(shù)字電視、數(shù)字廣播接口,提供交互式功能的接口裝置。它 ...…

查看全部問(wèn)答∨

嵌入式學(xué)習(xí),嵌入式學(xué)習(xí)有哪些要素呢

學(xué)習(xí),老師是非常關(guān)鍵的環(huán)節(jié)。對(duì)于嵌入式的學(xué)習(xí)當(dāng)然也不例外。所以,在嵌入式的學(xué)習(xí)中,老師是很重要的要素之一。 嵌入式學(xué)習(xí),挑選什么樣的老師? 雙師型老師。具體的來(lái)說(shuō),一方面,具備嵌入式的研發(fā)經(jīng)驗(yàn),有獨(dú)立開(kāi)發(fā)的項(xiàng)目和作品,在嵌入式行 ...…

查看全部問(wèn)答∨

46家大公司筆試題

有sony、華為、聯(lián)想、大唐、網(wǎng)通………

查看全部問(wèn)答∨

MINI STM32 開(kāi)發(fā)板原理圖

應(yīng)廣大壇友的要求,今天把MINI板子原理圖上傳上來(lái)     簡(jiǎn)單介紹下板子的硬件資源:     1、板載STM32F103VET6芯片 LQFP100封裝;   2、板載1路CAN接口,接口芯片TJA1050;   3、板載1路RS485接口, ...…

查看全部問(wèn)答∨

TI Miracast系統(tǒng)解決方案:實(shí)現(xiàn)Wi-Fi影音串流

本帖最后由 dontium 于 2015-1-23 12:42 編輯 TI Miracast解決方案與Miracast認(rèn)證的測(cè)試平臺(tái)兼容,可與Wi-Fi CERTIFIED Miracast裝置互通。Miracast系統(tǒng)使用TI處理器的負(fù)載分擔(dān)(offload)能力與內(nèi)建加速器,以及專用的速率適配(rate adaptation)與 ...…

查看全部問(wèn)答∨

99se鼠標(biāo)增強(qiáng)軟件

99se鼠標(biāo)增強(qiáng)軟件,非常好用?!?

查看全部問(wèn)答∨

MSP432的硬件SPI驅(qū)動(dòng)SD卡的問(wèn)題

今天發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象,上午能用MSP432的硬件SPI驅(qū)動(dòng)SD卡,下午就不能了,最后發(fā)現(xiàn)程序始終停留在SPI_enableInterrupt()這個(gè)函數(shù)里,這是什么鬼啊??? …

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved