Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/44: Рейтинг темы: голосов - 44, средняя оценка - 4.59
ymdy_88
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 26
1

ATtiny 2313

05.05.2010, 18:33. Просмотров 8092. Ответов 11
Метки нет (Все метки)

Добрый день, возникли трудности с работой с МК. Это мой первый практический опыт в паянии и работе с МК.
Есть схема ультразвукового дальномера, пока собрал кусок: питание, кнопки управление, МК и 7сегм индикатор.


Столкнулся с проблемой, когда начал писать простенькую прошивку. Цель прошивки: просто отображать какие-то крякозяблы поочереди на 3х знакоместах (использую динамику). Пишу и шьюсь через винавр:

Код
#include <avr/io.h>
#include <util/delay.h>
int main()
{
DDRB = 0xFF;
DDRD = 0xFF;
for(;;)
{
PORTB = 0b00110011;
PORTD = 0x40;
_delay_ms(1000);
PORTD = 0x0;
//
PORTB = 0b01010101;
PORTD = 0x20;
_delay_ms(1000);
PORTD = 0x0;
//
PORTB = 0b11001100;
PORTD = 0x10;
_delay_ms(1000);
PORTD = 0x0;
}
return(0);
}
Не могу понять почему, но информация отображается сразу на всех знакоместах. Проверял прошивку в Протеусе, там все работает. Следовательно, проблема со спаянной схемой.
Меня настараживает что моя тинька, когда на выводах лог 0, выдает 1,2-1,3 В !!!. Следовательно, напряжение после ограничивающих резюков перед транзисторами, колеблется от 0,74 В (когда на выводе PD6 (PD5 или PD4) лог 0) и до 0,82 В (когда лог 1). Думаю, что проблема в этом. То есть напряжения 0,74 и 0,82 способствуют постоянному открытию транзисторов.

Опыта мало, так что надеюсь на ваше помощь!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2010, 18:33
Ответы с готовыми решениями:

Attiny 2313 не прошивается
Attiny 2313 пытаюсь прошить через arduino nano но ни как не могу подключил тут на nano есть...

AtTiny 2313, прерывания
Доброго времени суток. Решил освоить программирование МК и сразу же столкнулся с проблемой, которую...

Термостат на ATTiny 2313
Собираю термостат в Протеусе на Attiny 2313. Имеется код на ассемблере (5.txt) но компилятор...

Работа с UART (Си, ATtiny 2313)
Дорогие формчане и знатаки по микроконтролёрам я Новичок в этом деле. У меня есть вопрос, есть...

ATtiny 2313. Контроль освещения
Требуется написать программу на Assembler или на С++ Программа не для рабочего микропроцессора,...

11
xroymom
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
05.05.2010, 18:44 2
есть мнение, что компилятор заоптимизирует твою функцию delay_7s().
попробуй
#include <util/delay.h>

и вместо delay_7s() поставить _delay_ms(7000)
0
ymdy_88
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 26
05.05.2010, 18:46 3
Спасибо, учту, но проблема ж не в задержке
0
fothomstir
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 72
06.05.2010, 20:13 4
а фузы прошиты? в смысле, может протеусу сказано "частота такая-то", с ней все работает, а реальная тини работает от 1 мгц внутреннего генератора, соотв. паузы могут быть совсем другими
0
06.05.2010, 20:13
ymdy_88
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 26
07.05.2010, 03:21 5
прошивал через винавр. юзал мейкфайл, там прописана частота в 4Мгц
0
Orsomum
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
14.09.2011, 18:15 6
не буду плодить темы.
долблюсь в AVR курс от ВЕЛИКОГО и ВСЕМОГУЩЕГО DiHalta. конкретно: RTOS и boottooder.
возник вопрос: 2313 потянет ось и бут и примерно сколько мне место останется для моего быдлокода?
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
14.09.2011, 18:54 7
Этот ваш великий и всемогущий в каментах к какой-то статье писал, что ось таки влезает в тини2313. И еще где-то он писал, что его ось занимает ~600 байт (ЕМНИП).

Тини2313 не поддерживает бутлоадер. Впрочем, обладая достаточно прямыми руками его можно туда запихнуть. Еще примерно -500 байт. Остается 1к.
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
14.09.2011, 19:52 8
Цитата Сообщение от dsodir
Тини2313 не поддерживает бутлоадер. Впрочем, обладая достаточно прямыми руками его можно туда запихнуть. Еще примерно -500 байт. Остается 1к.
А она может писать во флэшь из программы?
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
14.09.2011, 20:05 9
Да, но это уже к вопросу о прямых руках и их применении. А то можно случайно выпилить сам бутлоадер :)
Кстати, все уже придумано до нас, и бутлоадер для 2313 можно найти на просторах интернета (наверное :)).
0
Orsomum
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
14.09.2011, 22:29 10
обойдусь без бута.
а вот РТОС это вкусно
0
ptoop
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
15.09.2011, 13:59 11
А она может писать во флэшь из программы?
У неё есть команда SPM (Store Prokram Memory), значит бутлоадер всё-же можно запилить, или еще что-нибудь интересное :)
0
Otikzzz
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
15.09.2011, 14:21 12
Да и c резета можно куда хошь прыгнуть.
0
15.09.2011, 14:21
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2011, 14:21

Использование таймера в ATTiny 2313
#include &lt;avr/io.h&gt; #include &lt;avr/interrupt.h&gt; unsigned char rab; ISR(TIMER1_COMPA_vect) { ...

Пояснение команд в AVR AtTiny 2313
/* * AVRGCC2.c * * Created: 29.09.2013 15:58:15 * Author: SENDEJER */ #define F_CPU...

Attiny 2313 замерзает внутренний тактовый
Объект: Attiny 2313 20SU. Имеются несколько одинаковых девайсов, заточенных на внутренний такт, 8...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.