Форум myROBOT.ru » Лаборатория » Микроконтроллеры » Подключение программатора к ATtiny2313

Страниц (3): [1] 2 3 »
 

1. Spicus - 21 Ноября, 2010 - 22:45:38 - перейти к сообщению
Скажите, как подключить программатор к ATtiny2313, MOIS MIOS я нашёл, а SCK нет! Как быть?
2. alex91 - 21 Ноября, 2010 - 22:50:09 - перейти к сообщению
SCK у ATTYNY2313 19-вывод смотри в datasheet-e
3. nest - 21 Ноября, 2010 - 23:26:04 - перейти к сообщению
Spicus, >

4. Spicus - 21 Ноября, 2010 - 23:42:12 - перейти к сообщению
Спасибо Большое!!! в даташите написанно PB7 (UCSK/SCL/PCINT7) вот и не нашёл!
5. cjA - 22 Ноября, 2010 - 01:59:29 - перейти к сообщению
nest, а зачем 4MHz? у ней же родная 8?
6. Spicus - 22 Ноября, 2010 - 12:36:16 - перейти к сообщению
а в чём разница между attiny2313 20pu и 10pu?
7. Белый Волк - 22 Ноября, 2010 - 19:40:59 - перейти к сообщению
Spicus
Эта цифра характеризует максимальную тактовую частоту. 20PU - 20 МГц, 10PU - 10 МГц. Буквы после цифр означают тип корпуса и применяемые материалы (P - PDIP корпус).
8. Spicus - 22 Ноября, 2010 - 21:13:19 - перейти к сообщению
Ребята, Спасибо!!!
9. Spicus - 23 Ноября, 2010 - 00:35:00 - перейти к сообщению
Ребят, в простом программаторе обезательно резисторы 150 ом, можно чуть меньше я использовал смд на них написанно "100" если я правильно понил то они 124ом?
10. cjA - 23 Ноября, 2010 - 01:39:29 - перейти к сообщению
LPT - LPT - рознь.
На старых платах они и совсем не нужны, а на новых- просто муляж.
(почитайте соседнюю ветку, на плате от P3- заработало(вроде, тьфу-тьфу))
11. mihail - 23 Ноября, 2010 - 02:22:28 - перейти к сообщению
cjA пишет:
у ней же родная 8?
ATtiny2313, с заводскими установками, работает на 1 MHz. Внутренний RC осциллятор настроен на 8 MHz, но и предделитель установлен на 8. Получается 1 MHz.

На 23 страничке datasheet прочитал Улыбка
12. cjA - 23 Ноября, 2010 - 02:34:53 - перейти к сообщению
mihail, спасибо, я в аглицком не так селен, будем знать Подмигивающий

(значит можно его на 8 поставить без внешнего кварца? А как?)
13. mihail - 23 Ноября, 2010 - 03:00:03 - перейти к сообщению
У ATtiny2313 есть регистр CLKPR (Clock Prescale Register). Изменяя его биты можно менять значение предделителя. Еще есть специальный Fuse Bit CKDIV8. Если он не запрограммирован, то предделитель устанавливается в 1.

Программное изменение значения предделителя:

/* **********************************
ATtiny2313
********************************** */

#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)
{

// Input/Output Ports initialization

// Port A initialization
DDRA = 0b00000000;
PORTA = 0b00000000;

// Port B initialization
DDRB = 0b00000000;
PORTB = 0b00000000;


// Port D initialization
DDRD = 0b00000000;
PORTD = 0b00000000;


cli();

// Bits: CLKPCE - - - CLKPS3 CLKPS2 CLKPS1 CLKPS0
CLKPR = 0b10000000;

// Bits: CLKPCE - - - CLKPS3 CLKPS2 CLKPS1 CLKPS0
CLKPR = 0b00000000;

sei();


while (1)
{

}


return 0;
}

Будет работать или нет не знаю Ухмылка
14. cjA - 23 Ноября, 2010 - 03:52:21 - перейти к сообщению
нет повода тебе не верить, но как то странно- выставляем старший бит , ждем сколько-то тактов, опускаем бит обратно и все?
Из 1Мгц МК превращен в 8МГц?

(не буду пока пробовать, придется все константы пересчитывать)(но все равно , спасибо, век живи век учись, мне вот написали на первой странице 8Мгц, я так и думал)

(хорошо что фюзы не нужно трогать, а то запугали ими уже всех Улыбка )
15. mihail - 23 Ноября, 2010 - 05:43:16 - перейти к сообщению
cjA пишет:
выставляем старший бит , ждем сколько-то тактов, опускаем бит обратно и все?
Из 1Мгц МК превращен в 8МГц?
Сам в восторге Ухмылка Только, ждать не надо. Я программку поправил Смущение И прерывания запрещать/разрешать необязательно. Если в программе прерывания не используются, то и разрешать их не стоит. А запрещать то, что не разрешалось также необязательно не в себе