久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> Arduino >> 瀏覽文章

Arduino語言注解語言注解

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月02日   【字體:

     Arduino語言是建立在C/C++基礎(chǔ)上的,其實(shí)也就是基礎(chǔ)的C語言,Arduino語言只不過把AVR單片機(jī)(微控制器)相關(guān)的一些參數(shù)設(shè)置都函數(shù)化,不用我們?nèi)チ私馑牡讓,讓我們不了解AVR單片機(jī)(微控制器)的朋友也能輕松上手。
       在與Arduino DIYER接觸的這段時(shí)間里,發(fā)現(xiàn)有些朋友對(duì)Arduino語言還是比較難入手,那么這里我就簡(jiǎn)單的注釋一下Arduino語言(本人也是半罐子水,有錯(cuò)的地方還請(qǐng)各位指正)。
/*************基礎(chǔ)C語言*************/
關(guān)鍵字:


語法符號(hào):


運(yùn)算符:

數(shù)據(jù)類型:
 

數(shù)據(jù)類型轉(zhuǎn)換:

常量:
 

  • HIGH | LOW     表示數(shù)字IO口的電平,HIGH 表示高電平(1),LOW 表示低電平(0)。
  • INPUT | OUTPUT   表示數(shù)字IO口的方向,INPUT 表示輸入(高阻態(tài)),OUTPUT  表示輸出(AVR能提供5V電壓 40mA電流)。
  • true | false    true 表示真(1),false表示假(0)。

/******************************************/
       以上為基礎(chǔ)c語言的關(guān)鍵字和符號(hào),有c語言基礎(chǔ)的都應(yīng)該了解其含義,這里也不作過多的解釋。
/*************Arduino 語言*************/
結(jié)構(gòu)

  • void setup()   初始化變量,管腳模式,調(diào)用庫函數(shù)等
  • void loop()  連續(xù)執(zhí)行函數(shù)內(nèi)的語句

功能數(shù)字 I/O
 

  • pinMode(pin, mode)    數(shù)字IO口輸入輸出模式定義函數(shù),pin表示為0~13, mode表示為INPUT或OUTPUT。
  • digitalWrite(pin, value)    數(shù)字IO口輸出電平定義函數(shù),pin表示為0~13,value表示為HIGH或LOW。比如定義HIGH可以驅(qū)動(dòng)LED。
  • int digitalRead(pin)    數(shù)字IO口讀輸入電平函數(shù),pin表示為0~13,value表示為HIGH或LOW。比如可以讀數(shù)字傳感器。


模擬 I/O
 

  • int analogRead(pin)    模擬IO口讀函數(shù),pin表示為0~5(Arduino Diecimila為0~5,Arduino nano為0~7)。比如可以讀模擬傳感器(10位AD,0~5V表示為0~1023)。
  • analogWrite(pin, value) - PWM     數(shù)字IO口PWM輸出函數(shù),Arduino數(shù)字IO口標(biāo)注了PWM的IO口可使用該函數(shù),pin表示3, 5, 6, 9, 10, 11,value表示為0~255。比如可用于電機(jī)PWM調(diào)速或音樂播放。


擴(kuò)展 I/O
 

  • shiftOut(dataPin, clockPin, bitOrder, value)    SPI外部IO擴(kuò)展函數(shù),通常使用帶SPI接口的74HC595做8個(gè)IO擴(kuò)展,dataPin為數(shù)據(jù)口,clockPin為時(shí)鐘口,bitOrder為數(shù)據(jù)傳輸方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要傳送的數(shù)據(jù)(0~255),另外還需要一個(gè)IO口做74HC595的使能控制。
  • unsigned long pulseIn(pin, value)    脈沖長度記錄函數(shù),返回時(shí)間參數(shù)(us),pin表示為0~13,value為HIGH或LOW。比如value為HIGH,那么當(dāng)pin輸入為高電平時(shí),開始計(jì)時(shí),當(dāng)pin輸入為低電平時(shí),停止計(jì)時(shí),然后返回該時(shí)間。


時(shí)間函數(shù)
 

  • unsigned long millis()   返回時(shí)間函數(shù)(單位ms),該函數(shù)是指,當(dāng)程序運(yùn)行就開始計(jì)時(shí)并返回記錄的參數(shù),該參數(shù)溢出大概需要50天時(shí)間。
  • delay(ms)    延時(shí)函數(shù)(單位ms)。
  • delayMicroseconds(us)    延時(shí)函數(shù)(單位us)。


數(shù)學(xué)函數(shù)
 

  • min(x, y)  求最小值
  • max(x, y)  求最大值
  • abs(x)   計(jì)算絕對(duì)值
  • constrain(x, a, b)  約束函數(shù),下限a,上限b,x必須在ab之間才能返回。
  • map(value, fromLow, fromHigh, toLow, toHigh)    約束函數(shù),value必須在fromLow與toLow之間和fromHigh與toHigh之間。
  • pow(base, exponent)  開方函數(shù),base的exponent次方。
  • sq(x)     平方
  • sqrt(x)   開根號(hào)


三角函數(shù)
 


隨機(jī)數(shù)函數(shù)

 

  • randomSeed(seed)   隨機(jī)數(shù)端口定義函數(shù),seed表示讀模擬口analogRead(pin)函數(shù) 。
  • long random(max)   隨機(jī)數(shù)函數(shù),返回?cái)?shù)據(jù)大于等于0,小于max。
  • long random(min, max)   隨機(jī)數(shù)函數(shù),返回?cái)?shù)據(jù)大于等于min,小于max。

外部中斷函數(shù)

 

  • attachInterrupt(interrupt, , mode)     外部中斷只能用到數(shù)字IO口2和3,interrupt表示中斷口初始0或1,表示一個(gè)功能函數(shù),mode:LOW低電平中斷,CHANGE有變化就中斷,RISING上升沿中斷,FALLING 下降沿中斷。
  • detachInterrupt(interrupt)    中斷開關(guān),interrupt=1 開,interrupt=0 關(guān)。


中斷使能函數(shù)

 


串口收發(fā)函數(shù)

 

  • Serial.begin(speed)  串口定義波特率函數(shù),speed表示波特率,如9600,19200等。
  • int Serial.available()  判斷緩沖器狀態(tài)。
  • int Serial.read()   讀串口并返回收到參數(shù)。
  • Serial.flush()    清空緩沖器。
  • Serial.print(data)  串口輸出數(shù)據(jù)。
  • Serial.println(data)   串口輸出數(shù)據(jù)并帶回車符。

/**********************************/
/************Arduino語言庫文件*************/
官方庫文件
 

  • EEPROM - EEPROM讀寫程序庫
  • Ethernet - 以太網(wǎng)控制器程序庫
  • LiquidCrystal - LCD控制程序庫
  • Servo - 舵機(jī)控制程序庫
  • SoftwareSerial - 任何數(shù)字IO口模擬串口程序庫
  • Stepper - 步進(jìn)電機(jī)控制程序庫
  • Wire - TWI/I2C總線程序庫
  • Matrix - LED矩陣控制程序庫
  • Sprite - LED矩陣圖象處理控制程序庫

非官方庫文件
 

  • DateTime - a library for keeping track of the current date and time in software.
  • Debounce - for reading noisy digital inputs (e.g. from buttons)
  • Firmata - for communicating with applications on the computer using a standard serial protocol.
  • GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
  • LCD - control LCDs (using 8 data lines)
  • LCD 4 Bit - control LCDs (using 4 data lines)
  • LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
  • LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
  • Messenger - for processing text-based messages from the computer
  • Metro - help you time actions at regular intervals
  • MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.
  • OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
  • PS2Keyboard - read characters from a PS2 keyboard.
  • Servo - provides software support for Servo motors on any pins.
  • Servotimer1 - provides hardware support for Servo motors on pins 9 and 10
  • Simple Message System - send messages between Arduino and the computer
  • SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
  • TextString - handle strings
  • TLC5940 - 16 channel 12 bit PWM controller.
  • X10 - Sending X10 signals over AC power lines

/****************************************/
以上庫文件都需要下載到編譯環(huán)境(如下目錄:arduino-0011\hardware\libraries)中才能使用。

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 青青草久久 | 中日韩毛片 | 91性高湖久久久久久久久_久久99 | 在线国产一区二区 | 91在线精品一区二区 | 精品中文字幕一区二区三区 | 亚洲日本国产 | 亚洲高清视频在线观看 | 亚洲成av人影片在线观看 | 欧美久久久网站 | 欧美在线视频网 | 一区二区三区国产在线观看 | 伊人春色成人 | 久久综合成人精品亚洲另类欧美 | 国产最新网址 | 欧美黄在线观看 | 亚洲精久 | 成年网站在线观看 | www.天堂av.com | 欧美精品一区三区 | 自拍视频国产 | 瑟瑟免费视频 | 久久久久久亚洲精品不卡 | 亚洲一区二区av在线 | 国产午夜精品久久 | 蜜臀av日日欢夜夜爽一区 | 久久久久久精 | 久久伊人久久 | 香蕉久久av| 九九热精品在线 | 国产欧美一区二区三区日本久久久 | 久久久久久毛片免费观看 | 久久色视频 | 欧美在线视频观看 | 国产精品久久国产精品 | 国产午夜精品久久久 | 亚洲国产成人精品女人久久久 | 欧美综合一区二区三区 | 国产精品久久久久久久久久尿 | 欧美性吧| 亚洲高清在线 |