chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

Arduino的使用技巧

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-27 11:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Arduino UNO常見問題解答

那里有很多Arduino,這可能會引起一些混亂。我們想向人們說明最新版本中的一些更改。

Arduino的使用技巧

NB 這只是我們對Arduino做出的某些決定的看法和解釋。我們沒有與Arduino相關(guān)聯(lián),也不要為他們說話!如果您需要對Arduino問題的正式答復(fù),請直接與他們聯(lián)系。謝謝!

NB2 仍在進行中,我們正在收集常見問題來回答。如果您還有其他問題,請在我們的論壇中發(fā)布。

Arduino時間軸,但首先……一些歷史!首先是帶有RS232的串行Arduino(它的名字是什么?),它沒有在Arduino團隊和朋友之外使用。

第一個流行制造的Arduino被稱為NG(新一代,例如Star Trek,yknow?)。NG使用了以16 MHz運行的Atmega8芯片和用于USB接口的FT232芯片。該引導(dǎo)程序占用2KB的空間,并以19200波特的速度運行。

下一個版本是Diecimila。 Diecimila將芯片從Atmega8更新為Atmega168。這里最棒的事情是空間和內(nèi)存增加了一倍(16K而不是8K)。它仍然以16MHz運行。 Diecimila還增加了兩個額外的3.3V插頭(來自FTDI芯片)和復(fù)位引腳,當(dāng)屏蔽層覆蓋了Reset按鈕時,該引腳非常方便。引導(dǎo)加載程序占用2KB的空間,并以19200波特的速度運行。還添加了自動重置功能,使每個人的生活變得更加美好。

2009年,發(fā)布了Duemilanove。這也將芯片再次升級到Atmega328??臻g和內(nèi)存又增加了一倍!另一個升級是現(xiàn)在可以在USB和DC插孔之間自動切換電源,從而刪除了先前的跳線。這使得從編程過渡到獨立變得更加容易和快捷,并且擺脫了一些混亂。引導(dǎo)加載程序占用2KB的空間,運行速度為57600波特。

2010年,我們推出了Uno! Uno仍使用328P芯片和電源切換器。它有一個名為OptiBoot的較小引導(dǎo)加載程序(用戶項目有更多空間),運行速度為115K。因此,即使芯片相同,您也可以獲得引導(dǎo)加載程序先前使用的另外1.5K的額外閃存空間。 FTDI芯片也已替換為atmega8u2,后者可支持各種USB接口。最后,還有一個額外的3.3V穩(wěn)壓器(LP2985),可提供更好的3.3V電源。

USB芯片 所以!所有較舊的Arduino(NG,Diecimila和Duemilanove)都使用FTDI芯片(FT232RL)來轉(zhuǎn)換Arduino芯片(Atmel ATmega)的TTL串行。這樣可以進行可打印的調(diào)試,并連接到PureData/Max,Processing,Python等軟件,還可以通過串行引導(dǎo)加載程序更新固件。

有關(guān)的好消息FT232RL具有免版稅的驅(qū)動程序,幾乎可以正常使用。壞消息是它只能用作USB/串行端口。它不能像鍵盤,鼠標,磁盤驅(qū)動器,MIDI設(shè)備等一樣起作用。

Uno通過將FT232RL芯片與atmega8u2芯片交換來改變了這種情況。這款新芯片可能有幾件事情,但是在我們進行討論之前,讓我們先弄清楚默認情況下,該芯片的功能與它所取代的FTDI芯片相同。這只是USB串行端口!

更新芯片的一項改進是,以前,Mac用戶需要安裝FTDI驅(qū)動程序。 8u2模仿“通用” CDC串行設(shè)備。因此,現(xiàn)在,Mac用戶不必安裝驅(qū)動程序。 Windows用戶仍然需要安裝.INF文件,但是幸運的是沒有驅(qū)動程序。這意味著新版本的Windows將出現(xiàn)較少的問題。遺憾的是,沒有辦法在Windows中擁有不需要INF文件的串行USB設(shè)備:(

8u2的優(yōu)點是 advanced 用戶可以將其轉(zhuǎn)變?yōu)榱硪环NUSB設(shè)備,例如,它可以像鍵盤或鼠標,磁盤驅(qū)動器,或MIDI接口等一樣工作。這樣做,但我們希望很快發(fā)布。

最后,使用8u2降低了電路板的價格,彌補了其他一些不足。

為什么不只使用atmega32u4?

Arduino團隊已經(jīng)表明他們考慮了這一點,但更喜歡DIP芯片的可破解性。

現(xiàn)在,有一些帶有32u4芯片的Arduino,例如Leonardo,Micro和Esplora

如何更改USB固件?

可以通過焊接6針I(yè)SP接頭(R3具有6針)來對8u2進行編程標頭已預(yù)先焊接)并使用標準的AVR編程器。您也可以在8u2中使用引導(dǎo)加載程序(DFU)。在第一代Unos上,您可以通過在板子下面焊接10K電阻器來啟用它。 (Uno的R2和R3版本使用16U2,不需要電阻?。┩瑯樱覀儧]有任何示例或教程,但希望很快。

8u2的代碼基于LUFA,這是Dean Cameran極為出色的USB-AVR庫,其中包含大量示例和文檔。它也是完全開源的。

Uno是否使用諧振器或晶體作為處理器時鐘

FT232RL具有內(nèi)部振蕩器,而8u2沒有。這意味著8u2旁邊有一個16mhz晶體,以使其能夠保持精確的USB時序。

另一方面,作為Arduino中核心處理器的Atmega328p芯片現(xiàn)在具有16mhz陶瓷諧振器。陶瓷諧振器的精確度略低于晶體,但我們已經(jīng)確信這一諧振器已經(jīng)過指定并且可以很好地工作。

所以Arduino在計時方面不那么精確嗎?

簡短的答案是:是的。長答案是,人們使用Arduino所做的大多數(shù)事情都不依賴于20ppm的精確定時,否則100ppm就會失敗。對于需要長期精確計時的人,我們建議使用TCXO(溫度補償晶體振蕩器)-但您會知道是否需要它。

《我class =“ fa fa-question-circle-o”》

兩者之間共享一個16Mhz晶體?

很好的問題,從技術(shù)上講可以。但是,實際上,開發(fā)板并沒有通過一個晶體通過FCC認證(長的痕跡和快速的方波=大量的噪聲)。

好,可以說我不在乎。..

您絕對可以連接CLKO從‘8u2到’328p的晶體,但是您是一個人,因為我們不認為會有任何相關(guān)的教程。

背面的FCC徽標是什么?

Arduino現(xiàn)在已通過FCC認證!這意味著該板本身就通過了FCC電磁輻射認證。這不是不是意味著您的項目已通過FCC認證。更改Arduino的那一刻,它已不再經(jīng)過FCC認證(盡管我們需要一些備用文檔)。

它還是歐洲人的CE認證。

新的Bootloader?

有一個新的Bootloader。它就像舊版本一樣工作-兼容STK500協(xié)議,但大小只有 1/4 !從2K開始,新的引導(dǎo)程序只有512b。這為您的項目代碼提供了更多空間!好極了!它也更快 -115K(而不是57.6k),因此您將在3秒內(nèi)上傳代碼。

壞消息是,您必須確保在“董事會”菜單中選擇Uno !??!如果您不這樣做,則由于引導(dǎo)加載程序速度錯誤而使您感到困惑,并且您將無法獲得額外的1.5K!

總體而言,它是一個很好的方向,并且芯片可以很好地用于較早的Arduino(因此,您只需更換芯片即可將Diecimila或Duemilanove升級到Uno)。

有關(guān)引導(dǎo)加載程序的更多詳細信息,例如源代碼,請訪問Optiboot項目頁面。

為什么不只是將‘8u2用作程序員?

雖然8u2可以充當(dāng)完整的ISP編程器,但出于某些原因卻并非如此。

初學(xué)者使用完整的ISP編程器將導(dǎo)致積木。如果只是被引導(dǎo)加載,就不會將Arduino芯片弄得面目全非。

讓該芯片僅作為USB/串行接口來使用,從而簡化了固件,因此該芯片僅具有一種功能,而不必具有它具有程序員和串行接口的雙重作用(考慮一下,這并不容易)

向后兼容-仍然可以使用FTDI分支板或電纜對Arduino芯片進行編程,使人們很容易面包板或制作克隆。

新的’8u2如何影響Arduino衍生物?

每個USB設(shè)備都必須具有唯一的產(chǎn)品ID和供應(yīng)商ID。供應(yīng)商ID(VID)出售給公司,產(chǎn)品ID(PID)由該公司選擇。因此,例如,F(xiàn)TDI擁有VID#0403,并且他們給芯片提供的ID在#0000和#FFFF之間(65,536個不同的PID)。Ardiuno的舊會員使用FTDI的VID/PID,因為這是您購買芯片時交易的一部分。由于Uno不再使用FTDI芯片,因此Arduino團隊不得不購買USB供應(yīng)商ID(VID)?,F(xiàn)在,每個Arduino產(chǎn)品都將從Uno(#0001)開始具有自己的PID。

如果要制作自己的Arduino兼容板,您可以選擇以下幾種:

Don ‘不使用8u2,而是使用帶有VID的FTDI芯片代替

如果您打算制造多塊用于個人使用的板,則必須購買VID從USB IF一次性收取$ 2000的費用

如果您要為自己的實驗制作一塊單板,則可以選擇一個不會干擾您設(shè)備上的任何設(shè)備的VID/PID計算機并替換其中的那些

您可以從開發(fā)USB設(shè)備的公司購買單個VID /PID對的許可證(目前我們沒有任何特定鏈接)

但是,您分發(fā)自己的Arduino兼容產(chǎn)品時不能使用Arduino VID!如果VID的成本對您來說太高了,只需使用FTDI芯片K?

我試圖找到一個購買“ 8u2”的地方,卻找不到任何地方!

是的,目前全球范圍內(nèi)都缺少Atmel零件。甚至Arduino內(nèi)核(Atmega328P)中使用的芯片也很難獲得。經(jīng)濟衰退后會發(fā)生這種情況。我們希望這些芯片和其他Atmel芯片能盡快在Digigikey之類的地方出現(xiàn)。直到那時,繼續(xù)在findchips.com上搜索!

那么這是否意味著Arduino短缺?

可能不是。 Arduino團隊直接從Atmel購買了成千上萬的芯片。因此,他們可能會優(yōu)先于分銷商。我們假設(shè)團隊購買了足夠的東西可以持續(xù)一段時間。

i》

Arduino小組是否已將FTDI芯片從FTDI芯片移到了8u2芯片上,制造商?

雖然出現(xiàn)了難以獲得的芯片并VID/PID的混亂似乎有點令人討厭,我們認為這并不意味著Arduino團隊是惡意的,或試圖使衍生產(chǎn)品的人生活困難。向’8u2的遷移使Arduino更加強大,并且易于安裝,因為安裝的驅(qū)動程序更少。盡管現(xiàn)在短缺,但最終市場上會有很多芯片。

Arduino論壇中的某些人已經(jīng)考慮組建一個小組,該小組將購買VID供Arduinites用于個人項目。這是一個很好的主意,并且可能是避免VID/PID沖突的最佳方法。在65,536個項目中,每個PID花費的錢很少。

當(dāng)然,因為它們沒有擺脫引導(dǎo)加載程序系統(tǒng),所以您可以始終使用FTDI芯片。

盾牌還在起作用嗎?

所有以前的屏蔽仍應(yīng)能正常工作,因為插頭間距相同,核心芯片相同且零件位置相同。實際上,由于3V電源已經(jīng)升級(請參見下一點),因此某些方法應(yīng)該工作得更好。

機箱,平板等仍然可以使用嗎?

是的! Uno在物理上與以前的Arduino具有相同的大小和布局。安裝孔在同一位置?,F(xiàn)在,還有一個附加的安裝孔。

更多3.3v電源!

對于較舊的主板,一件可悲的事情是它們具有3.3v電源,但這實際上就是FTDI芯片內(nèi)部3.3v穩(wěn)壓器所能提供的。您可能會從中獲得50mA的電流。但是諸如XBees,SD卡,某些快速ADCDAC之類的高功率設(shè)備很容易將FTDI芯片拉下并重置USB連接。 Uno通過添加一個新的3.3V穩(wěn)壓器LP2985解決了這個問題,該穩(wěn)壓器可以輕松提供150mA電流。

LP2985是一款非常高質(zhì)量的穩(wěn)壓器,非常適合于為物品供電,并且非常漂亮。堅實的1%模擬參考。

為什么Arduino芯片可以20MHz運行時為何以16MHz運行?

這是一個常見問題。原因是第一個Arduino使用的Atmega8的運行速度不能超過16Mhz。隨著芯片的升級,他們希望使主板速度兼容。 Arduino也不是真正打算用于快速處理(無論如何它僅是8位的),因此芯片以16MHz運行。

它仍然是開源硬件嗎?和軟件?

是! Uno仍可在知識共享許可下使用。您可以在Arduino網(wǎng)站上獲得最新的原理圖和布局。

UNO R2和R3 在2011年秋季,Arduino團隊透露將會有新的次要修訂經(jīng)典Arduino的“ UNO R3”(修訂版3)。許多人向我們詢問了有關(guān)R3的信息,因此,到目前為止,我們已經(jīng)掌握了所有信息。

UNO R3直到12月1日左右才對經(jīng)銷商銷售。真!直到那時還沒有人!

UNO R3向后兼容UNO-相同的驅(qū)動程序,相同的上載內(nèi)容,相同的外觀

UNO中有一些更改,這里是它們是什么:

USB控制器芯片已從atmega8u2(8K閃存)移動到atmega16u2(16K閃存)。 這并不意味著您的草圖具有更多的閃存或RAM 。此升級僅針對USB接口芯片 。從理論上講,這意味著使用低級USB接口(例如MIDI/操縱桿/鍵盤)會更加容易。 但是,這只是理論上的問題,沒有示例代碼或固件可以真正做到這一點。

另外還有三個突破針在PCB上,在AREF引腳旁邊有兩個I2C引腳(SDA/SCL)-這是模擬4和5引腳的重復(fù)。沒有額外的I2C接口或其他任何東西,只是因為I2C引腳位于Mega的不同位置,所以他們在那里復(fù)制了這些引腳以用作將來的屏蔽。復(fù)位引腳旁邊還有一個IOREF引腳-這是為了讓屏蔽層知道板上正在運行的I/O引腳電壓(對于UNO,為5V)。再次,這是電源引腳的重復(fù),它不會增加UNO的電壓電平。

“ RESET”按鈕已移到電源按鈕旁邊。 USB連接器,這樣在屏蔽層位于頂部時更易于按下。

這是UNO中沒有發(fā)生的變化:

處理器的尺寸和速度-自從Duemilanove以來,它的運行頻率為16MHz的ATMega328P相同。您的代碼不會在R3上更快或更佳地運行

相同數(shù)量的插針-沒有添加額外的插針甚至有更多的突破(請參見上文?。?/p>

電路板的尺寸和形狀-與以前相同的尺寸

屏蔽罩的兼容性-每個能正常工作并插入UNO R1/R2的屏蔽罩都應(yīng)該能夠在R3上正常工作

驅(qū)動程序-驅(qū)動程序是相同的

上傳速度-相同的上傳速度和技術(shù)

如果您想立即使用Arduino R3,請訪問adafruit商店,拿起木板或包裝!

Arduino庫

需要幫助庫?在此處查看我們針對所有操作系統(tǒng)的超級詳細教程:

http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

什么是庫? 庫是很棒的地方,在美國還不是非法的!如果您需要學(xué)習(xí)如何做某事,例如修理摩托車,可以去當(dāng)?shù)氐膱D書館去拿書。當(dāng)然,您可以買書,但是圖書館很好,因為作為一種資源,您可以在需要時隨時獲得書,使房子整潔。

軟件圖書館非常相似。在第3課中,我們已經(jīng)研究了過程是什么:過程是要執(zhí)行的事情的列表。庫是過程的大集合,其中所有過程都相關(guān)!例如,如果您想控制電動機,則可能需要找到一個電動機控制庫:一個已經(jīng)為您編寫的過程的集合,您可以使用這些過程,而不必進行繁瑣的學(xué)習(xí)電動機的細微差別的工作。

例如,這是串行庫,它允許Arduino將數(shù)據(jù)發(fā)送回計算機:

使用庫 Arduino項目的最佳功能之一是能夠添加預(yù)制的庫,以增加硬件支持。它們很多,您可以選擇安裝哪個。僅當(dāng)您正在處理的草圖需要它們時才加載它們,因此在大多數(shù)情況下,您可以下載并存儲它們以備將來使用。

草圖通常會依賴,在庫中,您可以通過查看草圖的頂部來查看它們的內(nèi)容。如果您看到以下內(nèi)容:

下載:文件

復(fù)制代碼

#include #include

這意味著您將需要一個名為FatReader的庫或包含文件FatReader的庫。如果未安裝,則會出現(xiàn)錯誤:

庫中有什么? 庫是其中包含一些文件的文件夾,這些文件將以 .cpp (C ++代碼文件)和 結(jié)尾。 h (C ++頭文件)。

可能還會有一些 .o 文件。 .o 文件是C ++編譯的對象。如果最終要處理庫并對其進行修改,請確保刪除 .o 文件,因為這將迫使Arduino IDE將修改后的 .cpp 編譯為 .o 。

您可能會看到的兩個可選文件是 keywords.txt (這是一個提示文件,用于告訴Arduino IDE如何為草圖和示例文件夾上色,其中可能會有一些方便的測試標記,這些標記將顯示在“文件”→“示例”→“庫”下拉菜單下。

請記?。煳募A的結(jié)構(gòu)非常重要! .c 和 .h 文件必須位于文件夾的“最低級別”中,例如,您不能具有 Arduino/libraries/WaveHC/WaveHC/file.c 或 Arduino/libraries/MyLibraries/WaveHC/file.c -它必須為 Arduino/libraries/WaveHC/file.c

如何安裝庫在Arduino v16及更早版本中,庫存儲在 ArduinoInstallDirectory/hardware/libraries 文件夾中,該文件夾還包含所有內(nèi)置庫(如Wire和Serial)。

在v17及更高版本中,用戶庫現(xiàn)在存儲在 ArduinoSketchDirectory/libraries 文件夾中。您可能需要第一次制作庫 子文件夾。但是,這樣做的好處是,您不必在每次升級軟件時都移動并重新安裝庫。

例如,這是在Windows中安裝NewSoftSerial時的外觀。當(dāng)然您的用戶名會有所不同。)

在Mac上,您的arduino素描文件夾可能會被稱為 Documents/arduino ,因此請在名為 libraries 的內(nèi)部創(chuàng)建一個新文件夾,然后將未壓縮的庫放入

請檢查Documents/arduino/libraries/MyNewLibary文件夾中是否包含.cpp和.h文件。

完成后,重新啟動Arduino IDE。

Bootloader

這是一些高級的Bootloader調(diào)整-99%的Arduino用戶應(yīng)不要惹他們的引導(dǎo)程序!

用于Atmega328的引導(dǎo)加載程序,這里是“固定” ATmega328引導(dǎo)加載程序的軟件包。要對其進行編程,可能需要更改Makefile的ISPTOOL等定義。命令為 make adaboot328;。 make TARGET = adaboot328 isp328 (我無法使用默認的‘isp’目標,因此我制作了一個新目標)。

此版本具有一些修復(fù)程序:首先,它集成了下面的“ no-wait”和“ no-hang”修復(fù)程序。它還修復(fù)了在不使用IDE進行編程時令人討厭的“缺少簽名字節(jié)”的錯誤。我還修復(fù)了EEPROM代碼,以便現(xiàn)在您可以上傳和下載EEPROM存儲器以及閃存。最后,對于沒有TX/RX指示燈的arduino克隆,LED會提供“上傳反饋”。

請注意,由于擴展了內(nèi)存,該芯片的保險絲有所不同!

“ No-Wait”引導(dǎo)程序 這是一個引導(dǎo)加載程序hack,它將在上載后自動啟動草圖,并且僅在按下重置按鈕時才會啟動引導(dǎo)加載程序(因此,當(dāng)您插入電源時,它將直接進入草圖)。 br》

復(fù)制以下行:

下載:文件

復(fù)制代碼

ch = MCUSR;

MCUSR = 0;

WDTCSR |= _BV(WDCE) | _BV(WDE);

WDTCSR = 0;

// Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot.

if (! (ch & _BV(EXTRF))) // if its a not an external reset.。.

app_start(); // skip bootloader ch = MCUSR;

MCUSR = 0;

WDTCSR |= _BV(WDCE) | _BV(WDE);

WDTCSR = 0;

// Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot.

if (! (ch & _BV(EXTRF))) // if its a not an external reset.。.

app_start(); // skip bootloader

并粘貼它們,如下所示:

下載:文件

復(fù)制代碼

/* main program starts here */

int main(void)

{

uint8_t ch,ch2;

uint16_t w;

ch = MCUSR;

MCUSR = 0;

WDTCSR |= _BV(WDCE) | _BV(WDE);

WDTCSR = 0;

// Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot.

if (! (ch & _BV(EXTRF))) // if its a not an external reset.。.

app_start(); // skip bootloader

/* set pin direction for bootloader pin and enable pullup */

/* for ATmega128, two pins need to be initialized */ /* main program starts here */

int main(void)

{

uint8_t ch,ch2;

uint16_t w;

ch = MCUSR;

MCUSR = 0;

WDTCSR |= _BV(WDCE) | _BV(WDE);

WDTCSR = 0;

// Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot.

if (! (ch & _BV(EXTRF))) // if its a not an external reset.。.

app_start(); // skip bootloader

/* set pin direction for bootloader pin and enable pullup */

/* for ATmega128, two pins need to be initialized */

現(xiàn)在,以相同的方式,復(fù)制以下代碼:

下載:文件

復(fù)制代碼

// autoreset via watchdog (sneaky!)

WDTCSR = _BV(WDE);

while (1); // 16 ms // autoreset via watchdog (sneaky?。?/p>

WDTCSR = _BV(WDE);

while (1); // 16 ms

并粘貼到此處:

下載:文件

復(fù)制代碼

/* Leave programming mode */

else if(ch==‘Q’) {

nothing_response();

// autoreset via watchdog (sneaky?。?/p>

WDTCSR = _BV(WDE);

while (1); // 16 ms

}

/* Erase device, don‘t care as we will erase one page at a time anyway. */

else if(ch==’R‘) {

nothing_response();

} /* Leave programming mode */

else if(ch==’Q‘) {

nothing_response();

// autoreset via watchdog (sneaky?。?/p>

WDTCSR = _BV(WDE);

while (1); // 16 ms

}

/* Erase device, don’t care as we will erase one page at a time anyway. */

else if(ch==‘R’) {

nothing_response();

}

您也可以在此處獲取源代碼和已編譯的十六進制文件。

它將在NG或Diecimila Arduino中工作。

無掛機引導(dǎo)程序如果您使用的是自動安裝的Diecimila -reset當(dāng)通信程序意外觸發(fā)引導(dǎo)加載程序時,您可能會感到沮喪。這是一個快速的技巧,可以使引導(dǎo)加載程序在未首先收到‘0’字符的情況下退出(這表示Arduino軟件正在嘗試與之對話。)

復(fù)制以下行:

下載:文件

復(fù)制代碼

uint8_t firstchar = 0; uint8_t firstchar = 0;

并粘貼:

下載:文件

復(fù)制代碼

/* main program starts here */

int main(void)

{

uint8_t ch,ch2;

uint16_t w;

uint8_t firstchar = 0; /* main program starts here */

int main(void)

{

uint8_t ch,ch2;

uint16_t w;

uint8_t firstchar = 0;

復(fù)制:

下載:文件

復(fù)制代碼

firstchar = 1; // we got an appropriate bootloader instruction firstchar = 1; // we got an appropriate bootloader instruction

粘貼:

下載:文件

復(fù)制代碼

/* Hello is anyone home ? */

if(ch==‘0’) {

firstchar = 1; // we got an appropriate bootloader instruction

nothing_response(); /* Hello is anyone home ? */

if(ch==‘0’) {

firstchar = 1; // we got an appropriate bootloader instruction

nothing_response();

,然后將其粘貼到上面的代碼下方:

下載:文件

復(fù)制代碼

} else if (firstchar == 0) {

// the first character we got is not ‘0’, lets bail!

// autoreset via watchdog (sneaky!)

WDTCSR = _BV(WDE);

while (1); // 16 ms

} } else if (firstchar == 0) {

// the first character we got is not ‘0’, lets bail!

// autoreset via watchdog (sneaky?。?/p>

WDTCSR = _BV(WDE);

while (1); // 16 ms

}

您也可以只用 app_start()

上傳草圖 bootloader與‘stk500’兼容,這意味著您可以使用ol‘AVRDUDE對arduino進行編程。

只需插入USB電纜即可。 ,然后在開始avrdude之前按重設(shè)。如果需要avrdude教程,請查看此頁面。

使用 -b 19200 將波特率設(shè)置為19200

設(shè)備簽名顯示為似乎不起作用,因此您需要使用 -F

編程器類型為 avrisp

設(shè)備類型為 -p m168

端口是FTDI芯片顯示的端口

升級

簡介

Arduino的“大腦”是一個稱為ATmega的微控制器。它是ATMEL(一家挪威芯片公司)的產(chǎn)品線。就像英特爾AMD每年發(fā)布新的更好的芯片一樣,Atmel也是如此。 Arduino的第一個版本(直至NG)使用ATmega8-一種具有8K閃存和1K RAM的芯片。然后Atmel發(fā)布了ATmega168,它是16K閃存和1K RAM的直接替代品-確實是一個很大的改進!現(xiàn)在有了帶有32K閃存和2K RAM的ATmega328。

更新和更換Arduino既輕松又輕松,僅花費幾美元。您的草圖將像以前一樣工作,但還有更多的呼吸空間。

要執(zhí)行此升級,您將必須購買預(yù)編程的芯片,或者自己使用AVR編程器對其進行編程,也可以通過對其進行“位撞擊”。 p》

更換芯片首先,《使用小型平頭螺絲刀或類似工具從插座上強行輕輕地撬起Arduino微控制器。嘗試確保銷釘不彎曲。放在安全的地方。最好放在防靜電袋中。

下一步,準備新芯片。 IC的引腳在出廠時略有傾斜,因此需要將其彎曲一點以使其平行。

span》

最后,更換舊芯片,排列所有引腳,并確保芯片上的凹口與插座上的凹口匹配!

下載具有ATmega328兼容性的Arduino IDE 版本13和更高版本的Arduino該軟件支持328!如果您從2009年2月5日之前從Adafruit購買的芯片,則波特率將設(shè)置為19200(與舊版Arduinos相同)。 2月5日之后,升級芯片更改為57600波特率(快3倍!),以便與新的Arduino兼容。如果您使用的是19200波特率的芯片,則上傳將很困難。只需退出Arduino應(yīng)用程序并在名為 boards.txt 的硬件文件夾中編輯文件,然后將行更改為:

下載:文件

復(fù)制代碼

atmega328.upload.speed=57600 atmega328.upload.speed=57600

至:

下載:文件

復(fù)制代碼

atmega328.upload.speed=19200 atmega328.upload.speed=19200

如果遇到問題,請同時嘗試以防萬一!

3.3V轉(zhuǎn)換

介紹 所有正式的Arduino都以5伏電壓運行,長期以來,這一直是業(yè)余電子產(chǎn)品和微控制器的“標準”電壓。但是現(xiàn)在最酷的新型傳感器,顯示器和芯片均為3.3V,不兼容5V。例如,XBee無線電,SD卡和天線表均以3.3V邏輯和電源運行。如果您嘗試以5V電壓連接到它們,則可能會損壞附件的內(nèi)部。

我們使用CD4050之類的芯片進行電平轉(zhuǎn)換,但是如果您使用大量3.3 V設(shè)備,也許您最好將整個Arduino升級為從3.3V開始運行!

為此,我們將更換調(diào)節(jié)器,以使DC桶形插孔達到3.3v類型穩(wěn)壓器,不是5V。然后重新配置5V USB電源線,使其也通過調(diào)節(jié)器。

替換調(diào)壓器 默認穩(wěn)壓器為5.0V類型,但我們希望輸出3.3V,因此需要替換它。我們將在TO-252-3封裝中使用1117-3.3V(有一些1117穩(wěn)壓器制造商,就像7805由許多工廠制造的)穩(wěn)壓器。看起來像這樣:

您可以從任何電子零件商店購買這些產(chǎn)品,例如,這里是digikey鏈接。

首先,我們需要刪除舊的調(diào)節(jié)器。最簡單的方法是先夾住兩條腿。

然后,您需要加熱凸耳以使其呈液體,以便可以將舊零件提起。盡管看似不直觀,但最好將添加焊料到接線片上,然后用鐵將其熔化,這會改善導(dǎo)熱性,因為接線片太大。

清理選項卡并刪除所有剪切的部分仍然卡住。

現(xiàn)在將新的3.3V穩(wěn)壓器排成一行,然后先焊接接線片,使用大量焊料并耐心等待,接線片就像散熱器一樣。

然后做兩條腿。

更換保險絲 下一部分有點棘手,USB插孔已經(jīng)給了我們5V的電壓,并且通常與穩(wěn)壓器的輸出有關(guān)(essentia通常,當(dāng)DC插孔未通電時,它有一個連接它的小電路。)

使USB 5V也通過調(diào)節(jié)器的最簡單方法是卸下保險絲并將二極管從USB輸出焊接到穩(wěn)壓器輸入。

您可以使用任何功率二極管,一個1N4001完美的,只需幾美分。

需要權(quán)衡的是,USB插孔沒有500 mA保險絲。好消息是,計算機將在USB連接器(計算機內(nèi)部)上擁有自己的保險絲,因此您不太可能會破壞PC。但是請注意,這會失去一點安全性。

用烙鐵加熱保險絲,再次添加焊料可能有助于導(dǎo)熱。由于保險絲的導(dǎo)電性很強,您可以只加熱一側(cè)一段時間,兩端就會熔化。

將二極管短接并將引線彎曲。將沒有條紋(陽極)的一側(cè)焊接到最靠近電路板邊緣的舊保險絲墊上。將帶條紋的一端(陰極)焊接到調(diào)節(jié)器的右腳上。

Arduino仍將自動選擇為您提供更多電源的電源插頭。

就是這樣!您現(xiàn)在使用3.3V供電。這比AVR芯片的功率/頻率規(guī)格低一點,因為它們應(yīng)該具有大約3.6V的電壓才能運行16Mhz,但是自 可能 AVR可以超頻一點。

Arduino黑客

保險杠 讓導(dǎo)電跡線接觸您的桌子并不是很好,您可以通過在底部添加保險杠來保護Arduino。

您可以從McMaster Carr零件號購買。 95495K66(大量)或Adafruit

免費占用一些RAM 如果您正在處理需要很多 的項目,則可以釋放100個以上的字節(jié)(ATmega168上RAM的10%?。┩ㄟ^減少串行接收緩沖區(qū)。默認情況下,它的128個字節(jié)相當(dāng)多!

打開 hardware/cores/arduino (或 cores/arduino )目錄,然后編輯名為 wiring_serial.c 或 HardwareSerial.cpp

的文件,靠近頂部的是 #define RX_BUFFER_SIZE 128 ,這意味著128個字節(jié)用于緩沖區(qū)。您可以將其更改為32(甚至16?。?。如果幾乎沒有串行輸入,請使其盡可能低,只要其》0。

您還可以通過將 rx_buffer_head 和 rx_buffer_tail 從更改為另外2個字節(jié)》 int 到 uint8_t

ArduinoISP

簡介 許多人開始學(xué)習(xí)使用Arduino的微控制器,但隨后又想構(gòu)建自己的項目而不必犧牲開發(fā)板?;蛘?,也許他們想制作自己的與IDE兼容的Arduino變體。無論哪種方式,一個常見的問題是如何將引導(dǎo)加載程序刻錄到新的AVR芯片上。由于AVR一片空白,因此需要將它們設(shè)置為與Arduino IDE兼容,但為此您需要一個AVR編程器(如USBtinyISP)。

好消息是,您可以使用現(xiàn)有的USB刻錄機加載引導(dǎo)加載程序Arduino僅需一點點工作。 arduino.cc站點上甚至還有一個迷你教程。

該教程是該教程的擴展。首先,我們將展示如何通過將28針ZIF插座焊接到原型屏蔽層并使用Arduino的PWM輸出線生成時鐘來制造永久的引導(dǎo)程序刻錄機。這樣一來,您可以“救援”設(shè)置為錯誤類型的振蕩器的許多芯片,或者將設(shè)置為從外部振蕩器(大多數(shù)Arduino引導(dǎo)加載程序)更改為內(nèi)部的芯片(例如lilypad)。

零件 您將需要。..

Arduino

原型屏蔽套件

28針ZIF(零插入力)插座(您可以使用普通插座,但ZIF是理想的插座)

一些電線

空白ATmega328P

如果您從Adafruit購買了該套件,則會有一些額外的物品,例如壓電蜂鳴器,您可以在此項目的獨立版本中使用的LED,按鈕等,現(xiàn)在就將其忽略!

組裝 首先,將ZIF插座放置在原型屏蔽板上,如下所示:

焊接所有28個引腳一種牢固的連接!

將以下電線焊接到ZIF插座上

將數(shù)字1固定到數(shù)字10-藍色不要忘記將電線彎曲到下面以進行連接焊接時連接到ZIF插座引腳?。。?/p>

引腳7至5V-紅色

引腳8接地-黑色

針9到數(shù)字9-灰色

針17到數(shù)字11-棕色

針18到數(shù)字12-橙色

針19到數(shù)字13-黃色

針20到+ 5V-紅色

針22到地-黑色

按照protoshield教程將紅色LED焊接到 LED1 位置,綠色LED置于 LED2 位置。還要在LED旁邊焊接兩個1.0K電阻。我們將使用LED作為指示器。然后,將LED2分支(白色)到模擬0的電線焊接,LED1分支(白色)到數(shù)字8的電線焊接。

最后,您需要在接頭上焊接以允許放置屏蔽,斷開0.1英寸的公接頭并將其放入Arduino插槽中,然后將上方的屏蔽層頂部焊接到位。

加載代碼

加載草圖的時間!從我們的Github存儲庫中獲取代碼并將其粘貼到新草圖中,然后將其上傳到Arduino。

我們有報告說此過程不適用于Arduino 1.5.2。請改用最新的主流Arduino版本!

將屏蔽層插入頂部,提起閂鎖,彈出芯片,然后放低閂鎖。確保芯片方向是這樣(因此,通過左側(cè)的杠桿,您可以閱讀文本):

在仍然插入USB電纜的情況下(并選擇與以前相同的串行端口),選擇工具→刻錄Bootloader→帶有Arduino的ISP

在更高版本的Arduino IDE,從 Tools→Programmer 菜單中選擇 Arduino as ISP ,然后從Tools菜單中選擇 Burn Bootloader 。

編程時,您將看到此消息,并且LED指示燈將熄滅。

就是這樣!別忘了,您可以刻錄幾種不同的種類引導(dǎo)加載程序,例如Uno,Duemilanove,Lilypad,因此,根據(jù)您的情況,您可能希望使用其中一種。

獎金!與AVRdude一起使用 您可以非常輕松地從命令行使用ArduinoISP,使用AVRdude,這是通過運行以下命令對AVR進行編程的標準程序:

下載:文件

復(fù)制代碼

avrdude -c arduino -p atmega328 -P COMPORT -b 19200 -U flash:w:filetoburn.hex avrdude -c arduino -p atmega328 -P COMPORT -b 19200 -U flash:w:filetoburn.hex

代替 atmega328 ,您還可以編程 atmega8 atmega88 atmega48 atmega168等,等等
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    196785
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ARDUINO串口收發(fā)16進制碼

    到16進制碼為 1B 02 00 0A 8E 00 41 BA 40 00 42 16 FE BF 18,對收到的16進制碼進行解析,可以得到正確的溫度濕度值。但是用Arduino UNO向設(shè)備發(fā)送
    發(fā)表于 01-18 17:27

    EZ - BTTM模塊Arduino評估板CYBT - 243053 - EVAL介紹

    EZ-BTTM模塊Arduino評估板CYBT - 243053 - EVAL介紹 在電子開發(fā)領(lǐng)域,藍牙模塊的評估和開發(fā)板是我們進行相關(guān)項目的重要工具。今天就來給大家詳細介紹一下EZ - BTTM
    的頭像 發(fā)表于 12-21 11:15 ?823次閱讀

    UNO Q:開啟Arduino的全新未來

    圖源: * Arduino* 作者:Matt Campbell,貿(mào)澤電子專稿 發(fā)布日期: 2025年10月7日 Arduino UNO Q不僅是靈活UNO平臺的下一代產(chǎn)品,更是一種全新的開發(fā)模式。雙
    的頭像 發(fā)表于 12-15 11:46 ?752次閱讀

    Arduino plc和termux esp

    Arduino plc和termux esp
    的頭像 發(fā)表于 12-06 06:41 ?1830次閱讀

    貿(mào)澤電子開售全新Arduino UNO Q單板計算機

    貿(mào)澤電子開售全新Arduino UNO Q單板計算機。Arduino UNO Q單板計算機(SBC)將高性能計算與實時控制結(jié)合,提供理想的創(chuàng)新平臺。
    的頭像 發(fā)表于 11-08 09:50 ?1316次閱讀

    “The command 'arduino-verify-sketch' cannot be executed.錯誤解決方案

    “The command 'arduino-verify-sketch' cannot be executed. There are no active handlers available for the command.”
    的頭像 發(fā)表于 11-08 07:13 ?491次閱讀

    Arduino UNO Q 登陸 DigiKey,現(xiàn)已開放預(yù)訂

    融合高性能微處理器與專用微控制器,Arduino UNO Q加強創(chuàng)新開發(fā)能力 美國, 明尼蘇達, 錫夫里弗福爾斯市 - 2025 年 10 月 07 日 全球領(lǐng)先的電子元器件與自動化產(chǎn)品分銷商
    的頭像 發(fā)表于 10-13 14:55 ?576次閱讀
    <b class='flag-5'>Arduino</b> UNO Q 登陸 DigiKey,現(xiàn)已開放預(yù)訂

    高通宣布收購 Arduino,加速普及前沿邊緣計算與 AI 技術(shù)

    “ ?全新 Arduino UNO Q 開發(fā)板與 Arduino App Lab 將為數(shù)百萬開發(fā)者帶來高通 Dragonwing 處理器的強大動力。? ” ? 要點速覽: 強強聯(lián)合 :此次收購將高
    的頭像 發(fā)表于 10-08 11:15 ?676次閱讀
    高通宣布收購 <b class='flag-5'>Arduino</b>,加速普及前沿邊緣計算與 AI 技術(shù)

    如何用Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄
    的頭像 發(fā)表于 08-08 20:16 ?3532次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板給另一個<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    【Milk-V Duo S 開發(fā)板免費體驗】Milk-V DuoS之使用Arduino開發(fā)小核

    Milk-V DuoS之使用Arduino開發(fā) Arduino 是一個很流行的開源硬件平臺,具有簡潔性、易用性和開放性等優(yōu)點。它提供了豐富的庫函數(shù)和示例代碼,使得即使對于沒有編程經(jīng)驗的人來說,也能夠
    發(fā)表于 07-17 21:01

    Arduino與LabVIEW聯(lián)合編程指南

    Arduino編程并與LabVIEW上位機結(jié)合實現(xiàn)設(shè)備的遠程控制與數(shù)據(jù)采集。
    發(fā)表于 06-19 15:54 ?3次下載

    免費分享Arduino入門+進階(全套例程+書籍)

    Arduino是一款開源電子原型平臺,由硬件(單片機開發(fā)板)和軟件(編程環(huán)境)組成,旨在讓非專業(yè)用戶也能輕松入門電子制作和編程。它的核心思想是簡化硬件開發(fā),通過直觀的編程和模塊化設(shè)計,讓用戶快速實現(xiàn)
    的頭像 發(fā)表于 05-22 11:40 ?1101次閱讀
    免費分享<b class='flag-5'>Arduino</b>入門+進階(全套例程+書籍)

    下一代物聯(lián)網(wǎng):芯科科技和Arduino借助邊緣AI和ML簡化Matter設(shè)計和應(yīng)用

    Silicon Labs(芯科科技)和Arduino宣布建立合作伙伴關(guān)系,旨在通過Arduino Nano Matter開發(fā)板(基于芯科科技的MGM240系列多協(xié)議無線模塊)的兩階段合作來簡化Matter協(xié)議的設(shè)計和應(yīng)用
    的頭像 發(fā)表于 05-19 11:15 ?759次閱讀
    下一代物聯(lián)網(wǎng):芯科科技和<b class='flag-5'>Arduino</b>借助邊緣AI和ML簡化Matter設(shè)計和應(yīng)用

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識

    第二章 Arduino基礎(chǔ)知識 本章,我們將向大家介紹Arduino是一個什么東西?讓大家對Arduino有一個大概了解。本章將分為如下幾個小節(jié):2.1什么是Arduino2.2
    發(fā)表于 05-13 09:28

    STM32開發(fā)板一般都會配置arduino接口,是不是基本上也都會支持arduino

    STM32開發(fā)板一般都會配置arduino接口,是不是基本上也都會支持arduino?這個在哪里可以查詢開發(fā)板是否支持
    發(fā)表于 03-07 06:33