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

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

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

使用串行輸出的ATtiny84/85在線調(diào)試

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-15 09:48 ? 次閱讀

步驟1:軟件概述

串行通信支持已添加到標(biāo)準(zhǔn)的Blink Arduino示例程序中使用SoftwareSerial類和分配用于接收/發(fā)送的兩個(gè)設(shè)備引腳。該程序使用Arduino IDE和Sparkfun Tiny AVR編程器從PC/筆記本電腦上傳到面包板ATtiny84(ATtiny85)。在執(zhí)行期間,程序會(huì)生成串行消息,并通過(guò)Adafruit USB至TTL串行電纜將其發(fā)送到PC上的COM窗口。將串行電纜插入PC的USB端口之一并創(chuàng)建該COM端口后,該端口會(huì)自動(dòng)提供給IDE。

需要Arduino IDE編譯并啟動(dòng)應(yīng)用程序草圖的上傳。還需要支持ATtiny84和ATtiny85的第三方IDE板程序包。我使用并推薦Spence Konde(又名Azzy博士)的ATTinyCore電路板定義包。我還看到了David Mellis對(duì)董事會(huì)支持包的引用。 Adafruit提供了有關(guān)向IDE添加板支持包的直接指南,該指南傾向于添加Adafruit包,但通過(guò)代替令人眼花board亂的板包URL( http://drazzy.com/package_drazzy.com_index .json )代替Adafruit包URL。

步驟2:必需的硬件

《表border =“ 1 “ cellpadding =” 0“ cellspacing =” 0“ class =” users“ style =” border-width:1.0px; border-style:solid; border-color:rgb(189,189,189); font-size:85.0%;“》 Part 目的 小型AVR程序員

將編譯后的代碼上傳到微控制器 USB至TTL串行電纜 1 創(chuàng)建一個(gè)COM終端窗口并傳輸串行顯示消息

ATtiny84和/或ATtiny85 運(yùn)行已編譯的代碼 LED 程序執(zhí)行驗(yàn)證 330Ω電阻 保護(hù)LED免受燒毀 10KΩ電阻 用于RESET引腳的上拉電阻 USB 1腳延長(zhǎng)電纜 使Programmer/微控制器連接更容易 半面包板 保存硬件組件和連接 6針公頭(母頭) 焊接到Tiny Programmer的SPI引腳上以擴(kuò)展上傳信號(hào) 7”母-公引線 連接Tiny Programmer將信號(hào)上傳到微控制器;

red:VCC;黑色:GND;黃:RESET;紫色:MISO;綠色:MOSI;橙色:SCK

公對(duì)公,如果在上述步驟中使用母6針排針進(jìn)行SPI引腳分配 3“公-公引線 擴(kuò)展串行電纜信號(hào),以便可以連接到微控制器;

黑-GND;白-RX;綠-TX

1 如果使用UNO來(lái)接收和顯示串行消息則不需要。請(qǐng)參閱“其他”部分中的相關(guān)注釋。

步驟3:Tiny AVR編程器設(shè)置

Tiny AVR編程器具有SPI的現(xiàn)有引腳分配接口信號(hào),但必須將6針接頭連接到輸出,以將信號(hào)擴(kuò)展到面包板。

焊接后,請(qǐng)遵循Sparkfun連接指南安裝所需的USBtinyISP驅(qū)動(dòng)程序( 之前,將Programmer插入U(xiǎn)SB端口。要完成Programmer設(shè)置,請(qǐng)將跳線連接到新焊接的接頭上。信號(hào)名稱和推薦的電線顏色為小號(hào)

請(qǐng)注意,Sparkfun編程器具有用于ATtiny85編程的板載插槽。該插座與兩側(cè)的4針訪問(wèn)接頭一起允許為tiny85/45/25下載和制作原型。但是,此方法僅限于tinyx5設(shè)備。另一方面,SPI接口允許對(duì)大多數(shù)ATmega,AT90和ATtiny微控制器進(jìn)行編程和在線測(cè)試/調(diào)試??梢栽诖颂幷业接嘘P(guān)SPI接口用于AVR微控制器編程的精彩討論。雖然這是一個(gè)供Equinox程序員使用的應(yīng)用筆記,但結(jié)論同樣適用于Tiny AVR程序員。

步驟4:ATtiny84的面包板布局

現(xiàn)在,用上面的ATtiny84的裝飾圖中所示的硬件組件填充面包板。為了減少將SPI或串行信號(hào)連接到錯(cuò)誤的引腳的風(fēng)險(xiǎn),最好將組件和連接的方向與圖中的位置盡可能地接近。 (請(qǐng)注意,圖中列出的引腳號(hào)是Arduino引腳號(hào),而不是設(shè)備物理引腳號(hào)。)

所有6條Tiny AVR SPI信號(hào)導(dǎo)線均已連接

VCC(紅色)到面包板電源

MOSI(綠色)到tiny84針腳6(MOSI)

MISO(紫色)到tiny84針腳5(MISO)

重置(黃色)到tiny84引腳11(RESET)

SCK(橙色)到tiny84引腳4(SCK)

GND(黑色)到面包板接地

LED通過(guò)300歐姆電阻器連接到引腳4(SCK)

一個(gè)10K上拉電阻器連接電源到RESET

以確保上傳后不會(huì)意外激活RESET。

已連接了USB到串行電纜上的四個(gè)信號(hào)中的三個(gè):

接地(黑色)到面包板接地軌

傳輸(綠色)以接收分配給SoftwareSerial的引腳(pin9)

接收(白色)以傳輸分配給SoftwareSerial的引腳(針腳10)

電源(紅色)不應(yīng)連接,因?yàn)橛删幊唐?a target="_blank">供電

步驟5:程序說(shuō)明

串行輸出示例程序(下面列出)基于Arduino Blink示例程序,并附加了對(duì)SoftwareSerial的支持。下表說(shuō)明了其他串行支持語(yǔ)句:

《表border =“ 1” cellpadding =“ 0” cellspacing =“ 0” class =“ users” style =“ border-width:1.0px; border-style:實(shí)體;邊框顏色:rgb(189,189,189);字體大小:85.0%;“》 聲明 目的 #include 可以訪問(wèn)軟件序列類功能 #如果已定義。..#else 本節(jié)分配設(shè)備特定的引腳號(hào)功能 #error 僅為tiny84/85定義引腳,如果不是其中之一,則停止編譯 軟件序列mySerial(rxPin,txPin); 實(shí)例化一個(gè)SoftwareSerial變量以用于串行輸出 mySerial .begin(9600); 以9600波特初始化/啟動(dòng)SoftwareSerial通信 mySerial.println( text ); 將文本發(fā)送到串行輸出窗口以進(jìn)行顯示

表示安裝已完成

要顯示cate Led剛剛打開

以指示Led剛剛關(guān)閉

//************************************************************************

// PART 1: Serial output setup and example output:

// 。 Modifies the example Blink code to illustrate serial output

// 。 Common code for ATtiny85 and ATtiny84

//************************************************************************

#include // Arduino SoftwareSerial class

// While the processing code is common, the pins used are device specific

#if defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny84A__)

#define ledPin 4 // Toggle to turn connected Led on/off

#define rxPin 9 // Pin used for Serial receive

#define txPin 10 // Pin used for Serial transmit

#elif defined(__AVR_ATtiny85__)

#define ledPin 1

#define rxPin 4

#define txPin 3

#else

#error Only ATiny84 and ATtiny85 are Supported by this Project

#endif

// Create instance of the Software Serial class specifying which device

// pins are to be used for receive and transmit

SoftwareSerial mySerial(rxPin, txPin);

//------------------------------------------------------------------------

// Initialize processing resources

//------------------------------------------------------------------------

void setup()

{

mySerial.begin(9600); // Start serial processing

delay(2000); // Give Serial class time to complete initialization.

// otherwise, 1st output likely missing or garbled

pinMode(ledPin, OUTPUT); // Configure led pin for OUTPUT

mySerial.println(“SETUP Complete - SoftwareSerial Example”);

}

//------------------------------------------------------------------------

// Toggle the led; document HIGH/LOW with serial output messages

//------------------------------------------------------------------------

void loop()

{

// Turn led on; display “it‘s on” message

digitalWrite(ledPin, HIGH);

mySerial.println(“LED ON”);

delay(2000);

// Turn led off; display “it’s off” message

digitalWrite(ledPin, LOW);

mySerial.println(“ LED OFF”);

delay(2000);

}

步驟6:運(yùn)行程序

《表border =“ 1” cellpadding =“ 0” cellspacing =“ 0” class =“ users” style =“ border-width:1.0px; border -style:solid; border-color:rgb(189,189,189);“》 將板子設(shè)置為ATtiny84 將編程器設(shè)置為USBtinyIsp(ATTinyCore)

環(huán)境現(xiàn)已完成。請(qǐng)按照以下步驟運(yùn)行程序:

將示例程序復(fù)制到Arduino IDE

為ATtiny84配置IDE(如上所示)并編譯

電路板:“ ATtiny24/44/84”

引腳映射:“順時(shí)針(如damellis核心)”

這是默認(rèn)設(shè)置,但無(wú)意更改它會(huì)產(chǎn)生災(zāi)難性后果

芯片:“ ATtiny84”

程序員:“ USBtinyISP(ATTinyCore)”

將插件插入將微型AVR編程器連接至PC USB端口

將Adafruit USB至TTL的串行電纜插入第二個(gè)USB端口

已創(chuàng)建一個(gè)COM端口,并將其添加到Arduino IDE端口列表中

選擇在步驟4中創(chuàng)建的端口(在我的系統(tǒng)上為COM6),然后啟動(dòng)COM窗口

單擊以下位置的上傳程序(向右箭頭)按鈕Arduino IDE的頂部

程序?qū)⒈患虞d到微控制器并開始運(yùn)行

led每隔2秒閃爍一次

串行輸出將消息寫入COM窗口

設(shè)置完成-SoftwareSerial示例

LED點(diǎn)亮

LED熄滅

…點(diǎn)亮,熄滅消息序列一致并重復(fù)閃爍

步驟7:ATtiny85的設(shè)置和運(yùn)行程序

前面各節(jié)中有關(guān)ATtiny84的所有步驟也適用于ATtiny85。由于此時(shí)已經(jīng)設(shè)置了軟件環(huán)境,因此僅需要如上面的ATtiny85 Fritzing圖中所示配置硬件,在Arduino IDE中將處理器更改為ATtiny85,按照步驟4中的說(shuō)明編譯并運(yùn)行程序。/p》

第8步:其他

可以將Arduino UNO用作串行輸出串行電纜的連接:

將UNO的專用接收(引腳0)和發(fā)送(引腳1)引腳連接到微控制器的接收和發(fā)送引腳。請(qǐng)注意,連接是使用串行電纜時(shí)的接收-接收,發(fā)送-發(fā)送,而不是接收-發(fā)送,發(fā)送-接收。

在UNO上運(yùn)行Arduino示例Minimum program(空設(shè)置;空循環(huán))

從IDE(我的筆記本電腦上的COM3)啟動(dòng)COM窗口(已可用)

在tiny84/tiny85上上傳并運(yùn)行串行輸出程序

串行輸出消息將出現(xiàn)在Arduino COM窗口中

通過(guò)從面包板上斷開SPI接口并將電源線從串行電纜連接到面包板電源導(dǎo)軌,串行電纜可以支持獨(dú)立運(yùn)行。必須使用終端仿真器實(shí)用程序(如PuTTY)連接到串行電纜的關(guān)聯(lián)COM窗口,而不是Arduino IDE。 PuTTY配置概述如下。完整的解釋可以在這里找到。

下載PuTTY,然后雙擊關(guān)聯(lián)的圖標(biāo)以啟動(dòng)PuTTY配置窗口。

通過(guò)單擊串行連接類型按鈕為串行輸出配置PuTTY

插入U(xiǎn)SB串行電纜會(huì)創(chuàng)建一個(gè)COM端口,該端口在Windows設(shè)備管理器à端口(COM和LPT)下列出

在PuTTY-》“串行線路”配置窗口中輸入COM端口的名稱

默認(rèn)波特率是9600,這對(duì)于該應(yīng)用程序是正確的

單擊在PuTTY配置窗口底部的“打開”按鈕上,以啟動(dòng)串行輸出窗口

串行輸出消息將顯示在COM窗口中
責(zé)任編輯:wv

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

    關(guān)注

    0

    文章

    235

    瀏覽量

    33691
  • ATtiny
    +關(guān)注

    關(guān)注

    3

    文章

    128

    瀏覽量

    19534
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185929
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MCUXpresso IDE下在線聯(lián)合調(diào)試雙核MCU工程的三種方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯(lián)合調(diào)試i.MXRT1170雙核工程的三種方法。
    的頭像 發(fā)表于 08-08 15:18 ?251次閱讀
    MCUXpresso IDE下<b class='flag-5'>在線</b>聯(lián)合<b class='flag-5'>調(diào)試</b>雙核MCU工程的三種方法

    DS90UB927Q-Q1 5MHz至85MHz 24位彩色FPD-link III串行器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS90UB927Q-Q1 5MHz至85MHz 24位彩色FPD-link III串行器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-05 10:09 ?0次下載
    DS90UB927Q-Q1 5MHz至<b class='flag-5'>85</b>MHz 24位彩色FPD-link III<b class='flag-5'>串行</b>器數(shù)據(jù)表

    tc377在線調(diào)試和離線調(diào)試的區(qū)別是什么?

    在使用icu模塊對(duì)輸入的pwm頻率和占空比回采時(shí),發(fā)生了在線調(diào)試可以正?;夭?,離線調(diào)試則無(wú)法回采的問(wèn)題,想請(qǐng)教一下,在線調(diào)試和離線
    發(fā)表于 05-21 07:20

    STM32 SBSFU的APP程序怎么配置在線調(diào)試?

    STM32SBSFU的APP程序怎么配置在線調(diào)試 目前SBSFU的APP程序都是串口燒錄,直接調(diào)試會(huì)有異常
    發(fā)表于 04-10 06:01

    8位串行輸入/串行輸出或并行輸出移位寄存器74LVC595A產(chǎn)品數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《8位串行輸入/串行輸出或并行輸出移位寄存器74LVC595A產(chǎn)品數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 02-25 09:22 ?0次下載
    8位<b class='flag-5'>串行</b>輸入/<b class='flag-5'>串行</b><b class='flag-5'>輸出</b>或并行<b class='flag-5'>輸出</b>移位寄存器74LVC595A產(chǎn)品數(shù)據(jù)表

    AURIX Development Studio支持在線調(diào)試自制的最小系統(tǒng)嗎?

    AURIX Development Studio支持在線調(diào)試自制的最小系統(tǒng)嗎?看到的都是調(diào)試英飛凌官方的board,沒(méi)見(jiàn)到其他的。
    發(fā)表于 02-19 07:48

    開關(guān)電源調(diào)試內(nèi)容與四大調(diào)試方法分享

    開關(guān)電源調(diào)試是指根據(jù)設(shè)計(jì)的輸入輸出規(guī)格對(duì)其電器性能、保護(hù)功能等進(jìn)行調(diào)試。調(diào)試開關(guān)電源主要調(diào)試低壓高壓工作狀態(tài)、
    的頭像 發(fā)表于 01-23 16:35 ?1064次閱讀

    串行調(diào)試與JTAG有何區(qū)別?

    在基于ARM7的ADuC器件上,通過(guò)JTAG調(diào)試和下載到Flash。在AduCM360上,JTAG被串行調(diào)試取代。 串行調(diào)試與JTAG
    發(fā)表于 01-15 07:35

    MPLAB? PICkit? 4 在線調(diào)試器用戶指南

    電子發(fā)燒友網(wǎng)站提供《MPLAB? PICkit? 4 在線調(diào)試器用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 10:57 ?6次下載

    ad7656串行輸出代碼

    ad7656串行輸出代碼是一段常見(jiàn)的嵌入式系統(tǒng)開發(fā)代碼,用于控制外部設(shè)備進(jìn)行串行通信。本文將詳細(xì)介紹該代碼的功能、結(jié)構(gòu)、使用方法以及注意事項(xiàng)。 首先,了解ad7656是什么。 AD7656是一款16
    的頭像 發(fā)表于 12-28 10:38 ?676次閱讀

    attiny連接電腦后無(wú)法燒錄是怎么回事?

    attiny連接電腦后無(wú)法燒錄
    發(fā)表于 10-31 07:34

    STC12可以支持在線調(diào)試嗎?

    怎么對(duì)STC12的單片機(jī)實(shí)現(xiàn)在線調(diào)試
    發(fā)表于 10-13 07:47

    內(nèi)核調(diào)試工具printkprintk的輸出格式

    區(qū)別是: printk()提供輸出等級(jí) 。內(nèi)核會(huì)根據(jù)這個(gè)等級(jí)來(lái)判斷是否在終端或者串口中輸出。 printk的輸出格式 在實(shí)際調(diào)試中, printk() 可以和 printf() 一樣,
    的頭像 發(fā)表于 09-27 16:09 ?831次閱讀

    MPLAB ICD 4在線調(diào)試器快速入門指南

    電子發(fā)燒友網(wǎng)站提供《MPLAB ICD 4在線調(diào)試器快速入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-26 09:27 ?2次下載
    MPLAB ICD 4<b class='flag-5'>在線</b><b class='flag-5'>調(diào)試</b>器快速入門指南

    MPLAB ICD 4在線調(diào)試器用戶指南

    電子發(fā)燒友網(wǎng)站提供《MPLAB ICD 4在線調(diào)試器用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 10:00 ?0次下載
    MPLAB ICD 4<b class='flag-5'>在線</b><b class='flag-5'>調(diào)試</b>器用戶指南