Jump to content
Opot

Программирование Attiny2313

Recommended Posts

Купил attiny2313, написал тестовую прошивку в AtmelStudio

# define F_CPU 1000000UL

#include <util/delay.h>
#include <avr/io.h>

int main(void)
{
DDRD = 0xff;

while(1)
{
PORTD = 0b11111110;
_delay_ms(1000);
PORTD = 0b11111101;
_delay_ms(1000);
}
}

Залил с помощью usbasp, внешний кварц не использовал, фьюзы не менял, питание от 5в(usb зарядник от телефона)

Fuse

L 0xE4

H 0xCB

E 0xFF

LB 0x3F

при подключение светодиода(с и без l293dne) очень быстро моргает, пробовал переписать прошивку для других портов, пинов: ситуация та же. а не используемых портах значения не меняются, только на используемых тут

p.s. attiny2313 не attiny2313v

p.p.s в proteus всё работает как надо

Share this post


Link to post
Share on other sites

Особенности схемотехники и трассировки печатных плат для STM32WB55

Разработка новых устройств на базе беспроводного микроконтроллера STM32WB от STMicroelectronics может быть сделана в короткий срок, если выполнять некоторые важные правила и воспользоваться готовыми конструктивными решениями и рекомендациями инженеров ST.

Читать статью

По умолчанию (заводские установки) в Attiny2313 включен внутренний генератор с частотой 8 МГц.

Share this post


Link to post
Share on other sites
                     

CoolGaN - на предельной скорости коммутации!

Решения на галлий-нитриде (GaN) обладают фундаментальными преимуществами перед кремнием. В частности, имея более высокую критическую напряжённость электрического поля, в сравнении с традиционными кремниевыми транзисторами, транзисторы на основе галлий-нитрида обладают выдающимися динамическими характеристиками, что позволяет коммутировать их на высоких частотах. Семейство CoolGaN™ – это именно то, что необходимо, чтобы поднять ваши устройства на принципиально новый уровень. Мы собрали все самые интересные материалы по данной теме на одной странице.

Читать статьи

Но также включен делитель частоты на 8 CKDIV8.

Share this post


Link to post
Share on other sites

Ну дык он у вас выключен LOW должен быть не E4, а 64

или пропишите в начале-перед инклудами

#define F_CPU 8000000UL

Edited by Rhime

Share this post


Link to post
Share on other sites

Скорость моргания не меняется ни при установке фьюзов, ни при изменение частоты программно(ни 8000000UL ни 8000000000UL ни 1000000UL )

ни при комбинации

Share this post


Link to post
Share on other sites

Может мк битый продали?

#define F_CPU 8000000UL
#include <avr/io.h>
int main(void)
{
DDRB = 0xff;
DDRA = 0xff;

PORTB = 0b11111110;
PORTA = 0b11111101;
while (1){}
}

Те же моргания, но в первом примере при выполнении горит только в одном положении(если я правильно понял на портах должна происходить переполюсовка), а с таким кодом полюса светодиода не важны, моргает в обоих положениях

#define F_CPU 8000000UL
#include <avr/io.h>
int main(void)
{
 DDRB = 0xff;
 DDRA = 0xff;
 char toggle = 0;

    TCCR0A = 0x02;
    OCR0A  = 0x37;
    TCCR0B = 0x05;

    TCCR1B = (1 << WGM12) | (1 << CS11);
 while(1)
 {
  if (TIFR & 0x01) {
   TIFR |= 0x01;
   if (toggle) {	 
 toggle = 0;
 PORTB = 0b11111101;
 PORTA = 0b11111110;
   }
   else {
 toggle = 1;
 PORTB = 0b11111110;
 PORTA = 0b11111101;
   }
  }
 }
}

Edited by Opot

Share this post


Link to post
Share on other sites

Да, светодиод подключаю либо через резистор 300 Ом, либо l293d

Share this post


Link to post
Share on other sites

Делай пока на задержке из библиотеки.

попробуй вот так:

# define F_CPU 1000000UL

#include <util/delay.h>
#include <avr/io.h>

int main(void)
{
DDRD = 0xff;
PORTB=0x00;

while(1)
{
PORTD = 0b00000001;
_delay_ms(1000);
PORTD = 0b00000000;
_delay_ms(1000);
}
}

или вот так.

# define F_CPU 1000000UL
#include <util/delay.h>
#include <avr/io.h>
int main(void)
{
DDRD = 0xff;
PORTB=0x00;
while(1)
{
PORTD = 0b00000001;
_delay_ms(2000);
PORTD = 0b00000010;
_delay_ms(2000);
}
}

В обоих случаях светодиод подключать плюсом к ножке МК.

Вот этот твой код только зажет светодиоды и мелькать ими не будет:

#define F_CPU 8000000UL
#include <avr/io.h>
int main(void)
{
DDRB = 0xff;
DDRA = 0xff;
PORTB = 0b11111110;
PORTA = 0b11111101;
while (1){}
}

Edited by hardbar

Share this post


Link to post
Share on other sites

Вот этот твой код только зажет светодиоды и мелькать ими не будет:

#define F_CPU 8000000UL
#include <avr/io.h>
int main(void)
{
DDRB = 0xff;
DDRA = 0xff;
PORTB = 0b11111110;
PORTA = 0b11111101;
while (1){}
}

я для того и писал этот вариант, но он всё равно так же мелькает

Share this post


Link to post
Share on other sites

Не знаю что было, но взял фьюзы по дефолту для тини2313 тут http://www.engbedded.com/fusecalc , прошил, заработало.

Всем спасибо, думаю теперь буду долго вчитываться в статьи про фьюзы.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By 1 111
      Здравствуйте форумчане! Проверьте пожалуйста данную принципиальную схему на ошибки

    • By pndbr
      Здравствуйте. Может у кого есть печатная плата для отладочной платы на atmega8,32,128 в корпусе tqfp или attiny2313.
      Накопилось много распая с незалоченными камнями и очень хочется пустить их в дело и наконецто научиться хоть как-то программировать. Рисовать печатку самому не хватает опыта. Может у кого есть наработки? Прошу поделиться.
      Поиск выдает только отладочные платы в дип. А если и есть tqfp то в ардуиновском формате т.е без доп перефирии (же дисплеев,клавиатуры,7 сегментных индикаторов,потенциометров,энкодеров..и.т.д)
    • By Melandr
      добрый день, уважаемые форумчане. Есть два проекта в AVRStudio 4.19, один компилируется для ATtiny2313, второй - для ATtiny48. Далее в протеус сделанымодели, для проверки работоспособности кода. Код одинаковый для обоих микроконтроллеров, только сделана условная компиляция, так как отличаются регистры таймера 0. При проверке в Протеус код для ATtiny2313 работает, а для ATtiny48 ни в какую не идет. ЧЯДНТ??? Проекты AVRStudio и Proteus во вложении.
      PS: Proteus 8.6 SP2
      PS2: Нет индикации в Протеус, хотя при паузе переменные все правильные. Также подключил виртуальный осциллограф, и заметил, что в ATtiny48 на выходе PB6 нет импульсов. Хотя в функции индикации все прописано.
      4x_18b20.zip
      ATtiny48.zip
    • By Sherwood107
      Пришёл совершенно новый МК Attiny2313, в программе (AvrDude) установил всё как надо, однако в процессе программирования вылазит ошибка "Установлены lock биты". В чём может быть проблема? Это случаем не залоченный МК?



    • By xydens
      Приветствую всех.
      Решил для своих радиолюбительских нужд собрать переходник из этой статьи.
      В статье прикреплены драйвера для XP, vista, 32-bit семерки.
      Но у меня 2 компа и на одном из них винда 8.1. На нём устройство не определяется, ну да ладно. На втором ноутбуке вин 7, но 64-bit.
      Когда вставляю в него переходник - определяет, как RS-232. Я устанавливаю драйвера по инструкции. В диспетчере задач теперь определяется как Virtual Communication Port и подсвечивается желтым восклицательным знаком. Но ни одна терминальная программа его не видит.
      Как это исправить? Обязательно нужна вин 7 х32?
  • Сообщения

    • Кастрюля (радиатор) - хороший тест тепловой мощности. Ладно. По-другому. Аккуратно припаяться к подложке светодиодной лампы получится?
    • На первый вопрос я отвечал. Мне ещё раз повторять?  Что за тупые вопросы? Какое ещё антикитайское движение? Я о таком движении не слышал, поэтому не могу ответить.
    • Прикинь,заказал наборчик,вроде и не надо...но наверное пусть будет, интересно ,как Кот сказал,зубы кому нажо,приходите,просверлим и суперклеем вклеим ваши брюлики бесплатно  
    • Появились два красивых конденсатора: ITELCOND 3300 мкФ х 450 В. Ёмкости по прибору 3700 мкФ. ESR по нулям. Цена по 1000р за 1 шт. Проверил своим старым любимым методом: заряжаю до 300 Вольт и оставляю до следующего дня. На следующий день напряжение на них по 290 Вольт. Через неделю 250 Вольт. Иногда забываю, что они заряжены ... и попадаю.
    • По составу платы: no idea. LM2675? 1-A Step-DownVoltageRegulator? REF193 Precision Micropower, Low Dropout Voltage Reference - 3pcs VO0630T 10 MBd optocoupler utilizing a high efficient input LED coupled with an integrated optical photodiode IC detector 4pcs ILD233T is a high current transfer ratio (CTR)optocoupler.  5pcs Relay 793P-1C-C 05VDC 8pcs LT1513 SEPIC Constant- orProgrammable-Current/Constant-Voltage Battery Charger MAX3241 transceivers have a proprietary low-dropout transmitter output stage enabling true RS-232 performance from a 3.0V to 5.5V supply with a dual charge pump AD623 is an integrated, single- or dual-supply instrumentationamplifier that delivers rail-to-rail output swing using supply voltages from 3 V to 12 V несколько штук. ADM3202  transceiver are high speed, 2-channel RS-232/V.28 interface devices that operate from a single 3.3 V ADG611 are monolithic CMOS devices containing four independently selectable switches. These switches offer ultralow charge injection of 1 pC over the full input signal range and typical leakage currents of 10 pA at 25°C. The devices are fully specified for ±5 V, +5 V, and +3 V ULN2803A, Darlington BJT Trans Darlington NPN 50V 0.5A 18-Pin  - 2pcs ADM3485E is a 3.3 V, low power data transceiver with ±15 kV ESD protection, suitable for half-duplex communi-cation on multipoint bus transmission lines. The ADM3485E is designed for balanced data transmission and complies with TIA/EIA standards RS­485 and RS-422. AM1D-0505SZ | Преобразователь: DC/DC; 1Вт; Uвх: 4,5÷5,5В; 5ВDC; Iвых: 200мА
×
×
  • Create New...