Страница 1 из 1
Помогите с Tiny15
Добавлено: Пт апр 16, 2010 15:41:42
kybertech
Всем котам привет !
Ребя такая проблемка. Использовал Attiny13 но из-за их неимения купил Attiny15.
Пишу на Си.
Программа компилируется, в протеусе работает как нада, а на железе вообще полный ноль.
Вот программа написана на Си для Attiny13
помогите перевести её для Attiny15 на ASM:
- #include <tiny13.h>
#include <delay.h>
int BackSecconds=0;
int BackCounterDelay=0;
int FlagLamp=0;
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
BackCounterDelay--;
}
void main(void)
{
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
PORTB=0x00;
DDRB=0x05;
TCCR0A=0x00;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
GIMSK=0x00;
MCUCR=0x00;
TIMSK0=0x02;
ACSR=0x80;
ADCSRB=0x00;
PORTB.0=0;
PORTB.2=0;
BackSecconds=30;
BackCounterDelay=4600;
FlagLamp=0;
#asm("sei")
while (1)
{
#asm("cli")
if(BackSecconds<=0)
{
PORTB.0=1;
PORTB.2=1;
}
else
{
if(BackCounterDelay<=0)
{
BackSecconds--;
BackCounterDelay=4600;
if(FlagLamp==0){PORTB.0=1;FlagLamp=1;}else{PORTB.0=0;FlagLamp=0;};
}
};
#asm("sei")
};
}
Проще говоря это таймер:
при подачи питания на МК начинается отсчет 30 секкунд, в это время мигает светодиод на PB0, по истечению времени (30 сек), включаем пины PB0 и PB2.
Re: Помогите с Tiny15
Добавлено: Пт апр 16, 2010 16:41:53
Danko
Что мешает для тини15 писать на Си?
Re: Помогите с Tiny15
Добавлено: Пт апр 16, 2010 20:53:49
pyzhman
А после компиляции посмотреть файл *.asm?
Re: Помогите с Tiny15
Добавлено: Пт апр 16, 2010 21:39:56
GP1
вся проблема - в названии служебных регистров
у Т15 нет TCCR0A(B) у неё есть TCCR0, и с остальными регистрами может быть такая же заморочка.
Выход - берешь два ДШ на Т13 и Т15 и сравниваешь названия.

Re: Помогите с Tiny15
Добавлено: Пт апр 16, 2010 23:25:04
kybertech
Ребята, все что писал на Си для tiny15 работает в ПРОТЕУС-е, а на железе не работает вообще.
Сегодня целый день искал и читал что Си не поддерживает tiny15 из за не имения памяти.
Помогите кто знает как написать эту прогу на асме.
Re: Помогите с Tiny15
Добавлено: Пт апр 16, 2010 23:31:59
GP1
а зачем тебе ЭТО?
уж больно на таймер для детонатора смахивает.

Re: Помогите с Tiny15
Добавлено: Сб апр 17, 2010 00:53:51
kybertech
Таймер который будет запускать насос с задержкой в 30 сек после подачи питания, что бы успели включиться и протестироваться другие системы.
Ну так че поможете ? Или хоть скажите в чем можно писать на Си под тини15 что бы нормально работало.
Re: Помогите с Tiny15
Добавлено: Сб апр 17, 2010 05:41:30
evgeniy66
kybertech писал(а):Ну так че поможете ? Или хоть скажите в чем можно писать на Си под тини15 что бы нормально работало.
Скорее всего на Си под эту модель нельзя писать проги, AVR Studio предупреждает:
"MCU 'attiny15' supported for assembler only"
Re: Помогите с Tiny15
Добавлено: Сб апр 17, 2010 09:23:34
kybertech
Народ, я теряю веру в жизнь !
За ночь выучил немного ассемблера ))))
Написал кусок кода который включает светодиод на порту PB0 прошил МК - НЕ РАБОТАЕТ. ЧТО ЭТО МОЖЕТ БЫТЬ ?
В эмуляторе работает
Re: Помогите с Tiny15
Добавлено: Сб апр 17, 2010 09:42:43
GP1
Ладно, не гони волну, вечером что-нибудь накропаю

Re: Помогите с Tiny15
Добавлено: Сб апр 17, 2010 14:30:23
Danko
evgeniy66 писал(а):Скорее всего на Си под эту модель нельзя писать проги, AVR Studio предупреждает: "MCU 'attiny15' supported for assembler only"
Почему нельзя?
ICCTiny
http://www.imagecraft.com/pub/readme.tiny
http://www.imagecraft.com/pub/icctinydem.exe
Re: Помогите с Tiny15
Добавлено: Сб апр 17, 2010 19:10:45
kybertech
На ICCTiny тоже писал ! и тоже не работает ! Я вот думаю может что-то с моим программатором ? Шью через PonyProg2000 программатор тоже PonyProg. При прошивке ошибок никаких не выдает. Фюзы не менял, все оставил по заводскому.
И не работает ! Чудеса прям какие-то !
Но другие контроллеры то шьються и работают замечательно !
Re: Помогите с Tiny15
Добавлено: Сб апр 17, 2010 21:27:40
GP1
Вот что получилось. Точность отработки +0,2сек
в железе не проверял
во вложении проект для VMLab 3.15 ну *.hex само-собой там есть, скачать абсолютно бесплатно можно здесь:
http://www.amctools.com/
Re: Помогите с Tiny15
Добавлено: Вс апр 18, 2010 16:34:49
kybertech
В железе не работает не пойму почему !
Re: Помогите с Tiny15
Добавлено: Вс апр 18, 2010 17:37:47
Danko
Когда-то делал пульт RC-5 на тини15.
Проект рабочий, проверен в железе. Может кому пригодится.
На сколько я помню тини15 один из тех МК в которых калибровочное значение автоматически НЕ заносится в регистр OSCCAL.
Re: Помогите с Tiny15
Добавлено: Вс апр 18, 2010 21:07:18
kybertech
Всем спасибо за поддержку ! Всем спасибо за помощь ! Огромное спасибо
GP1
Не пинайте ногами ! Я ПРОТУПИЛ !
Не был подтянут резет через резистор на +5. Только впаял резистор все заработало!
Хочу написать несколько тонкостей, может кому понадобиться !
1)Если PB5 не запрограммирован, то работает как резет - обязательно подтягивайте через резистор на +5В.
2)В Tiny15 действительно проблемы с калибровочным битом ! Его можно считать к примеру PONYPROG2000 и записать программно в регистр OSCCAL. - Таким образом получаем для каждого МК Tiny15 разная программа. Если не установить регистр OSCCAL - МК начинает работать на разных частотах.
3) И самое главное что хочу сказать !
Много читал что этот МК нужно программить только на асме - ЭТО НЕ ТАК ! На Си писать можно свободно !!!!!!!!!! к примеру в ICCtiny !
Я думаю тему можно закрыть !
Re: Помогите с Tiny15
Добавлено: Пн апр 19, 2010 12:03:56
viktor110668
помогите ссылкой на ImageCraft ICCAVR Professional v6.31a
весь инет перерыл нигде нормально нескачивается либо ссылки битые
Re: Помогите с Tiny15
Добавлено: Пн апр 19, 2010 15:33:01
kybertech
viktor110668 писал(а):помогите ссылкой на ImageCraft ICCAVR Professional v6.31a
весь инет перерыл нигде нормально нескачивается либо ссылки битые
Выше в ответе есть ссылки ! проверил работают !
Re: Помогите с Tiny15
Добавлено: Ср апр 21, 2010 21:12:56
YS
Таймер который будет запускать насос с задержкой в 30 сек после подачи питания
А зачем для этого МК?

Таймер на RC-цепочке уже не модно?

См. во вложении - задержка 33 секунды, активный уровень - высокий. Если надо низкий - просто перекинуть входы операционника...

Re: Помогите с Tiny15
Добавлено: Ср май 05, 2010 18:59:02
simpleX
kybertech писал(а):... И самое главное что хочу сказать ! Много читал что этот МК нужно программить только на асме - ЭТО НЕ ТАК ! На Си писать можно свободно !!!!!!!!!! к примеру в ICCtiny !
Юзая С, в конечном счёте всё равно получается .asm файл, который скармливается атмеловскому компилеру. И с какого бодуна ввели запрет на С для каких бы то ни было камней?! Тока если генерируемый код не влазит на флэшку - ето единственный момент...