|
|
| ||||||||
|
|
|
|
81992
149
0
0
|
|
Опции темы | Поиск в этой теме |
|
1
|
|
|
Увлеченный
|
Здравствуйте. Нужна помощь AVR-программиста-сишника. Сам я, можно сказать, не программист, тем более на си. Но решил попытать счастья в программировании МК. Собственно моя первая конструкция - мигалка из пяти светодиодов. Вопрос собственно вот в чем: как заставить программу после выполнения начать выполняться сначала? Контроллер - ATTiny13.
Цитата:
|
|
|
|
|
|
|
2
|
|
Завсегдатай Фонарёвки
|
Я не сишник, но думаю, как-то так
![]() Код:
void main() {
PORTB.F0 = 0;
PORTB.F1 = 0;
PORTB.F2 = 0; // Выставляем все порты в 0.
PORTB.F3 = 0;
PORTB.F4 = 0;
//==================================================
DDRB.F0 = 1;
DDRB.F1 = 1;
DDRB.F2 = 1; // Выставляем направление порта на выход.
DDRB.F3 = 1;
DDRB.F4 = 1;
//==================================================
while(true){
PORTB.F0 = 1; // Включаем первый светодиод.
Delay_ms( 1000 ); // Ждем 1 секунду.
PORTB.F0 = 0; // Выключаем первый светодиод.
PORTB.F1 = 1; // Включаем второй светодиод.
Delay_ms( 1000 ); // Ждем 1 секунду.
PORTB.F1 = 0; // Выключаем второй светодиод.
PORTB.F2 = 1; // Включаем третий светодиод.
Delay_ms( 1000 ); // Ждем 1 секунду.
PORTB.F2 = 0; // Выключаем третий светодиод.
PORTB.F3 = 1; // Включаем четвертый светодиод.
Delay_ms( 1000 ); // Ждем 1 секунду.
PORTB.F3 = 0; // Выключаем четвертый светодиод.
PORTB.F4 = 1; // Включаем пятый светодиод.
Delay_ms( 1000 ); // Ждем 1 секунду.
PORTB.F4 = 0; // Выключаем пятый светодиод.
Delay_ms( 1000 ); // Ждем 1 секунду.
}
}
|
|
|
|
|
3
|
|
Увлеченный
|
Я тоже думал что-то подобное, но компилятор это переваривать не хочет. Надо как-то перевести каретку в нулевой байт. Что-то типа JMP из ассемблера. Мне кажется так.
|
|
|
|
|
|
4
|
|
Завсегдатай Фонарёвки
|
Ну может не while(true), а while(1), не знаю, есть ли разница в сях. По идее обязан переварить
А что пишет?
|
|
|
|
|
5
|
||
|
Увлеченный
|
Цитата:
Цитата:
|
||
|
|
|
|
6
|
|
Увлеченный
|
Радости полные штаны - моя первая прога
. Завтра же начну паять программатор. Ели кому интересно - буду выкладывать результаты достижений.
|
|
|
|
|
|
7
|
|
Ветеран Фонарёвки
Регистрация: 14.02.2010 Последняя активность: 18.11.2015 19:18
Сообщений: 7908
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
|
|
|
|
|
8
|
|
Увлеченный
|
|
|
|
|
|
|
9
|
|
Завсегдатай Фонарёвки
|
Пополнение в рядах программистов мк
![]() Может перекличку устроить, кто на чём пишет. Я под AVR на ассемблере. |
|
|
|
|
10
|
|
Увлеченный
|
Да какой из меня программист МК... Есдинственное, что я понял, это как "дергать ножками". И все.
|
|
|
|
|
|
11
|
|
Завсегдатай Фонарёвки
|
Lum1noFor Ну теоритически в будущем - почему бы и нет
Главное начать. И сделать программатор
|
|
|
|
|
|
12
|
|
Увлеченный
Регистрация: 12.02.2010 Последняя активность: 15.02.2011 20:41
Сообщений: 266
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
|
|
|
|
|
13
|
|
Увлеченный
|
|
|
|
|
|
|
14
|
|
Завсегдатай Фонарёвки
|
Ну хэллоу ворд для МК это мигание одним светодиодом)))я с этого начинал))И программатор сначала был СТК200/300.. сейчас юзаю Си в WinAVR, программер - AVR910 USB
|
|
|
|
|
15
|
|
|
Увлеченный
|
Цитата:
А меня бегущая дорожка из пяти светодиодов . Кстати, кто-нибудь может посоветовать схеку хорошего програматора? Чтобы шил ATTiny и ATMega.
|
|
|
|
|
|
|
16
|
|
Завсегдатай Фонарёвки
|
Да они почти все их шьют, протокол то один. А из программаторов для начала можно STK200/300 на LPT, а потом можно собрать AVR910 по схеме Protoss'a
|
|
|
|
|
17
|
|
Увлеченный
|
|
|
|
|
|
|
18
|
|
Завсегдатай Фонарёвки
|
Есть одно но - в нем тоже МК, и его надо прошить, возможно если программаторов вообще нет, придется спаять ЛПТ вилка+4 резистора+5проводов
|
|
|
|
|
19
|
|
Увлеченный
|
|
|
|
|
|
|
20
|
|
Завсегдатай Фонарёвки
|
Я использую FT232RL (по первой схеме) и доволен
![]() http://easyelectronics.ru/s... Для чего делать программатор на мк, который ещё сам в прошивании нуждается, когда есть готовая микросхема, отлично с этим справляющаяся. ЗЫ. И заодно получишь переходник в UART как дополнительную функцию
|
|
|
|