कार्यक्रम ATTiny13 - 20PU

मैं अपने एटीटीनी 13 - 20 पीयू प्रोग्राम करने की कोशिश कर रहा हूं। ऐसा लगता है कि यह काम करता है, लेकिन "देरी" कमांड पर कोई कार्रवाई नहीं है। यदि नीचे स्केच पर मैं "हाई" लाइन पर टिप्पणी करता हूं, तो मेरा नेतृत्व हर समय बंद होता है और जब भी मेरे पास पिन 4 हाई </कोड> होता है, तो यह हर समय होता है! असल में यह एक आवृत्ति/फ्यूज/बूटलोडर समस्या प्रतीत होता है और मुझे लगता है कि अपलोड टूटा हुआ था।

मैंने छोटे के पिन 3 (डिजिटल पिन 4) और जमीन के बीच 1k वर्तमान सीमित प्रतिरोधी के बीच एक नेतृत्व जोड़ा। यह संलग्न स्केच के साथ परीक्षण के लिए है। मैंने यह breadboard सर्किट भी कोशिश की, जो बिल्कुल वही परिणाम देता है।

छोटे पर अपलोड करने पर मुझे यह मिलता है:

Sketch uses 380 bytes (37%) of program storage space. Maximum is 1,024 bytes.
Global variables use 8 bytes of dynamic memory.

(हर कोई उचित अपलोड पर होने वाली लगभग 2 त्रुटियों को चेतावनी देता है - मुझे वह नहीं मिलता है)।

मेरे boards.txt इस तरह दिखते हैं:

menu.cpu=Processor
menu.clock=Clock

attiny.name=ATtiny
attiny.bootloader.tool=arduino:avrdude
attiny.bootloader.unlock_bits=0xff
attiny.bootloader.lock_bits=0xff
attiny.build.core=arduino:arduino
attiny.build.board=attiny
attiny.upload.tool=arduino:avrdude

attiny.menu.cpu.attiny45=ATtiny45
attiny.menu.cpu.attiny45.upload.maximum_size=4096
attiny.menu.cpu.attiny45.build.mcu=attiny45
attiny.menu.cpu.attiny45.build.variant=tiny8

attiny.menu.cpu.attiny85=ATtiny85
attiny.menu.cpu.attiny85.upload.maximum_size=8192
attiny.menu.cpu.attiny85.build.mcu=attiny85
attiny.menu.cpu.attiny85.build.variant=tiny8

attiny.menu.cpu.attiny44=ATtiny44
attiny.menu.cpu.attiny44.upload.maximum_size=4096
attiny.menu.cpu.attiny44.build.mcu=attiny44
attiny.menu.cpu.attiny44.build.variant=tiny14

attiny.menu.cpu.attiny84=ATtiny84
attiny.menu.cpu.attiny84.upload.maximum_size=8192
attiny.menu.cpu.attiny84.build.mcu=attiny84
attiny.menu.cpu.attiny84.build.variant=tiny14

attiny.menu.clock.internal1=1 MHz (internal)
attiny.menu.clock.internal1.bootloader.low_fuses=0x62
attiny.menu.clock.internal1.bootloader.high_fuses=0xdf
attiny.menu.clock.internal1.bootloader.extended_fuses=0xff
attiny.menu.clock.internal1.build.f_cpu=1000000L

attiny.menu.clock.internal8=8 MHz (internal)
attiny.menu.clock.internal8.bootloader.low_fuses=0xe2
attiny.menu.clock.internal8.bootloader.high_fuses=0xdf
attiny.menu.clock.internal8.bootloader.extended_fuses=0xff
attiny.menu.clock.internal8.build.f_cpu=8000000L

attiny.menu.clock.external8=8 MHz (external)
attiny.menu.clock.external8.bootloader.low_fuses=0xfe
attiny.menu.clock.external8.bootloader.high_fuses=0xdf
attiny.menu.clock.external8.bootloader.extended_fuses=0xff
attiny.menu.clock.external8.build.f_cpu=8000000L

attiny.menu.clock.external16=16 MHz (external)
attiny.menu.clock.external16.bootloader.low_fuses=0xfe
attiny.menu.clock.external16.bootloader.high_fuses=0xdf
attiny.menu.clock.external16.bootloader.extended_fuses=0xff
attiny.menu.clock.external16.build.f_cpu=16000000L

attiny.menu.clock.external20=20 MHz (external)
attiny.menu.clock.external20.bootloader.low_fuses=0xfe
attiny.menu.clock.external20.bootloader.high_fuses=0xdf
attiny.menu.clock.external20.bootloader.extended_fuses=0xff
attiny.menu.clock.external20.build.f_cpu=20000000L


#################################################
attiny.menu.cpu.attiny13=ATtiny13
attiny.menu.cpu.attiny13.upload.maximum_size=1024
attiny.menu.cpu.attiny13.build.mcu=attiny13
attiny.menu.cpu.attiny13.build.variant=core13

attiny.menu.clock.internal96=9.6MHz (internal)
attiny.menu.clock.internal96.bootloader.low_fuses=0x7A
attiny.menu.clock.internal96.bootloader.high_fuses=0xff
attiny.menu.clock.internal96.build.f_cpu=9600000L
################################################

attiny.menu.clock.internal48=4.8MHz (internal)
attiny.menu.clock.internal48.bootloader.low_fuses=0x79
attiny.menu.clock.internal48.bootloader.high_fuses=0xff
attiny.menu.clock.internal48.build.f_cpu=4800000L
################################################

और मैं सेटिंग्स चुनता हूं: बोर्ड एटटीनी, प्रोसेसर एटीटीनी 13, क्लॉक 9.6 मेगाहर्ट्ज (आंतरिक), पोर्ट आर्डिनो यूनो (जैसा कि जब मैं आईएसपी स्केच अपलोड करता हूं), प्रोग्रामर आर्डिनो आईएसपी के रूप में। मैं "प्रोग्रामर का उपयोग कर अपलोड करें" पर क्लिक करके अपलोड करता हूं।

Arduino सॉफ्टवेयर 1.6.4 है, प्रोग्रामर Arduino एक यूनो एसएमडी संस्करण है। मैंने इस प्रोग्रामर और यह smeezkitty core13 के लिए ट्यूटोरियल

मैं इस स्केच को अपलोड करने की कोशिश कर रहा हूं:

// Blink sketch to test ATtiny Chips

//       ATMEL ATTINY13/ARDUINO
//
//                 +-\/-+
// ADC0 (D 5) PB5 1|*   |8 Vcc
// ADC3 (D 3) PB3 2|    |7 PB2 (D 2) ADC1
// ADC2 (D 4) PB4 3|    |6 PB1 (D 1) PWM1
//            GND 4|    |5 PB0 (D 0) PWM0
//                 +----+


const int LED_PIN = 4;//digital pin
const int DELAY_TIME = 1000;//time between blinks [ms]

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, LOW);
  delay(DELAY_TIME);
  digitalWrite(LED_PIN, HIGH);
  delay(DELAY_TIME);
}

Trying to burn a bootloader with the same settings as uploading to the tiny and then tools -> burn bootloader, get's me the error:

"efuse" memory type not defined for part "ATtiny13"
Error while burning bootloader.

डेटा शीट के माध्यम से स्किमिंग मैंने देखा कि छोटे 13 - 20 पीयू (20) 20 मेगाहट्र्ज के लिए खड़े हैं, ... सैद्धांतिक रूप से उन्हें सामान्य 10 मेगाहट्र्ज तक गिरने में सक्षम होना चाहिए, लेकिन शायद यह मेरी समस्या है?

1
मैंने कई बार कनेक्शन की जांच की। और चूंकि कुछ भी नहीं होता है, जब मैं एक ब्रेडबोर्ड संस्करण का उपयोग करके अपलोड करने का प्रयास करता हूं, तो मुझे लगता है कि कुछ सॉफ़्टवेयर समस्या है, या मैं कुछ गलत करता हूं।
जोड़ा लेखक Unsliced, स्रोत
हाँ, जैसा ऊपर बताया गया है, मैंने ATTiny13 और प्रोग्रामर Arduino आईएसपी के रूप में उपयोग किया है। मेरे पास कोई सुराग नहीं है, वहां क्या गलत हो रहा है। या यहां तक ​​कि मैं इसे और कैसे डिबग कर सकता हूं।
जोड़ा लेखक Unsliced, स्रोत
संकेतों के लिए धन्यवाद, मुझे पता चला कि सब ठीक से अपलोड हो रहा था, लेकिन केवल देरी कमांड काम नहीं करता है!
जोड़ा लेखक Unsliced, स्रोत
Arduino_ISP avrisp उपकरण emulates। आप अपने boards.txt पर attiny.upload.protocol = avrisp जैसे कुछ जोड़ने का प्रयास कर सकते हैं।
जोड़ा लेखक Sprogz, स्रोत
आपकी आईएसपी स्ट्रिपबोर्ड ढाल के निर्माण में सबसे अधिक गलती है। मैं शुष्क जोड़ों, अनकटा कटौती इत्यादि की जांच करता हूं।
जोड़ा लेखक RedGrittyBrick, स्रोत
आखिरी बार जब मैंने ArduinoISP स्केच का उपयोग करके एटीटीनी (मेरे मामले में 85) प्रोग्राम किया था, तो मुझे सही प्रोग्रामर का उपयोग करने के लिए आईडीई सेट करना पड़ा: टूल्स -> बोर्ड -> ATtiny85 (डब्ल्यू/Arduino आईएसपी के रूप में) </कोड> और <�कोड> टूल्स -> प्रोग्रामर -> आईएसपी के रूप में Arduino - आपके द्वारा देखे जा रहे संदेश सुझाव देते हैं कि आईडीई STK500 प्रोग्रामर को लक्षित कर रहा है। यह सही हो सकता है क्योंकि कई प्रोग्रामर एसटीके 500 का अनुकरण करते हैं - लेकिन यह इसके साथ जांच/प्रयोग करने लायक हो सकता है।
जोड़ा लेखक RedGrittyBrick, स्रोत

2 उत्तर

There was some mistakes in the boards.txt it seems. After finding a very detailed and extensive boards file here, I modified it to have neat and tidy categories and is easier to use to become a working boards.txt. I had to burn the bootloader once to set the fuses right. After that everything works like a charm for 3 ATtiny13! No warnings or errors. This is used with Arduino 1.6.4. The folder tree is ~Arduino/hardware/attiny/avr/cores/core13 and ~Arduino/hardware/attiny/avr/boards.txt

# boards.txt for Arduino 1.6.4

menu.flag=GCC Flags
menu.cpu=Processor
menu.clock=Clock

attiny13.name=ATtiny13
attiny13.upload.tool=arduino:avrdude
attiny13.upload.using=arduino:usbtiny

attiny13.bootloader.tool=arduino:avrdude

attiny13.menu.cpu.attiny13=ATtiny13
attiny13.menu.cpu.attiny13.upload.maximum_size=1024
attiny13.menu.cpu.attiny13.upload.maximum_data_size=64
attiny13.menu.cpu.attiny13.build.mcu=attiny13
attiny13.menu.cpu.attiny13.build.core=core13
# attiny13.menu.cpu.attiny13.build.variant=core13

#################################################
############## clock speeds #####################
#################################################

#### 9.6 MHz
############
attiny13.menu.clock.t13_9M6=9.6MHz (internal clock, Preserve EEPROM, BOD disable)
attiny13.menu.clock.t13_9M6.bootloader.low_fuses=0x3A
attiny13.menu.clock.t13_9M6.bootloader.high_fuses=0xFF
attiny13.menu.clock.t13_9M6.upload.speed=57600L
attiny13.menu.clock.t13_9M6.build.f_cpu=9600000L

#### 9.6 MHz - 2.7V
attiny13.menu.clock.t13_9M6_bod=9.6MHz (internal clock, Preserve EEPROM, BOD - 2.7V)
attiny13.menu.clock.t13_9M6_bod.bootloader.low_fuses=0x32
attiny13.menu.clock.t13_9M6_bod.bootloader.high_fuses=0xFB
attiny13.menu.clock.t13_9M6_bod.upload.speed=57600L
attiny13.menu.clock.t13_9M6_bod.build.f_cpu=9600000L

#### 4.8 MHz - 2.7V
attiny13.menu.clock.t13_4M8_bod=4.8 MHz (int 4.8 MHz clock, Preserve_EEPROM, BOD - 2.7V)
attiny13.menu.clock.t13_4M8_bod.bootloader.low_fuses=0x31
attiny13.menu.clock.t13_4M8_bod.bootloader.high_fuses=0xFB
attiny13.menu.clock.t13_4M8_bod.upload.speed=57600L
attiny13.menu.clock.t13_4M8_bod.build.f_cpu=4800000L

#### 1.2 MHz
attiny13.menu.clock.t13_1M2=1.2 MHz (int 9.6 MHz divided by 8,Preserve_EEPROM, BOD - 2.7V)
attiny13.menu.clock.t13_1M2.bootloader.low_fuses=0x2A
attiny13.menu.clock.t13_1M2.bootloader.high_fuses=0xFB
attiny13.menu.clock.t13_1M2.upload.speed=9600L
attiny13.menu.clock.t13_1M2.build.f_cpu=1200000L

#### 600 kHz
attiny13.menu.clock.t13_0M6=600 kHz (int 4.8 MHz divided by 8, Preserve_EEPROM, BOD disable)
attiny13.menu.clock.t13_0M6.bootloader.low_fuses=0x29
attiny13.menu.clock.t13_0M6.bootloader.high_fuses=0xFF
attiny13.menu.clock.t13_0M6.upload.speed=9600L
attiny13.menu.clock.t13_0M6.build.f_cpu=600000L

## 128 kHz
attiny13.menu.clock.t13_128k=128 KHz (internal watchdog oscillator)
attiny13.menu.clock.t13_128k.bootloader.low_fuses=0x7B
attiny13.menu.clock.t13_128k.bootloader.high_fuses=0xFF
attiny13.menu.clock.t13_128k.upload.speed=250
attiny13.menu.clock.t13_128k.build.f_cpu=128000L

## 16 kHz
attiny13.menu.clock.t13_16k=16 KHz (internal watchdog oscillator, Preserve_EEPROM, BOD disable)
attiny13.menu.clock.t13_16k.bootloader.low_fuses=0x2B
attiny13.menu.clock.t13_16k.bootloader.high_fuses=0xFF
attiny13.menu.clock.t13_16k.upload.speed=250
attiny13.menu.clock.t13_16k.build.f_cpu=16000L



##-----------------------------------
##--------- compiler flags ----------
##-----------------------------------

attiny13.menu.flag.Os=Default
attiny13.menu.flag.Os.compiler.c.extra_flags=
attiny13.menu.flag.Os.compiler.c.elf.extra_flags=
attiny13.menu.flag.Os.compiler.cpp.extra_flags=

attiny13.menu.flag.Os_flto=Default -flto
attiny13.menu.flag.Os_flto.compiler.c.extra_flags=-Wextra -flto
attiny13.menu.flag.Os_flto.compiler.c.elf.extra_flags=-w -flto
attiny13.menu.flag.Os_flto.compiler.cpp.extra_flags=-Wextra -flto

attiny13.menu.flag.O1=-O1
attiny13.menu.flag.O1.compiler.c.extra_flags=-O1
attiny13.menu.flag.O1.compiler.c.elf.extra_flags=-O1
attiny13.menu.flag.O1.compiler.cpp.extra_flags=-O1

attiny13.menu.flag.O1_flto=-O1 -flto
attiny13.menu.flag.O1_flto.compiler.c.extra_flags=-O1 -Wextra -flto
attiny13.menu.flag.O1_flto.compiler.c.elf.extra_flags=-O1 -w -flto
attiny13.menu.flag.O1_flto.compiler.cpp.extra_flags=-O1 -Wextra -flto

attiny13.menu.flag.O3=-O3
attiny13.menu.flag.O3.compiler.c.extra_flags=-O3
attiny13.menu.flag.O3.compiler.c.elf.extra_flags=-O3
attiny13.menu.flag.O3.compiler.cpp.extra_flags=-O3

attiny13.menu.flag.O3_flto=-O3 -flto
attiny13.menu.flag.O3_flto.compiler.c.extra_flags=-O3 -Wextra -flto
attiny13.menu.flag.O3_flto.compiler.c.elf.extra_flags=-O3 -w -flto
attiny13.menu.flag.O3_flto.compiler.cpp.extra_flags=-O3 -Wextra -flto
1
जोड़ा
कृपया इसे आसानी से स्थापित जेसन कॉन्फ़िगरेशन के साथ प्रकाशित करें github.com/arduino/Arduino/wiki/…
जोड़ा लेखक Josh Wright, स्रोत

बूटलोडर को जलाने पर "efuse त्रुटि" आपके द्वारा संदर्भित आलेख में वर्णित है और एक समाधान भी दिया गया है। ऐसा तब होता है जब attiny13 को उसी समूह में attiny25/45/85 के रूप में परिभाषित किया जाता है क्योंकि पूर्व में कोई प्रभाव नहीं होता है और बाद वाला होता है।

IDE में attiny13 को अपनी मेनू प्रविष्टि देना - उस आलेख में वर्णित- इसे हल करना चाहिए।

0
जोड़ा
Arduino एसई में आपका स्वागत है! क्या आप यह समझाने के लिए अपना उत्तर संपादित कर सकते हैं कि यह कैसे किया जाता है? धन्यवाद!
जोड़ा लेखक Anonymous Penguin, स्रोत