Добавить форум Lasers.fonarevka.ru в Избранное ×
LASERS.FONAREVKA.RU - Всё о лазерах и лазерной технике  

Вернуться   Форум Lasers.fonarevka.ru > Электроника > Микроконтроллеры
Забыли пароль? Регистрация
Темы с вашим участием Новые сообщения Сообщения за день

  • Бесплатные розыгрыши призов
  • Для гостей форума
  • Пожертвования (Donate)
На форуме ежемесячно проходят бесплатные розыгрыши призов для зарегистрированных и активно общающихся форумчан. Вы можете выиграть не только различные лазерные указки и другое лазерное оборудование, но и фонарики, зарядные устройства, аккумуляторы и другие аксессуары известных брендов, а также фонари и компоненты от известных кастомщиков и мелкосерийных производителей. Также разыгрываются и другие призы, такие как мультитулы, ножи, рюкзаки и другое снаряжение. Все проходящие розыгрыши призов являются действительно абсолютно бесплатными для самих участников, т.к. все расходы берут на себя организаторы (т.е. владельцы данного форума) и сами спонсоры, которые предоставляют тот или иной приз для наших розыгрышей призов. Форумчане не несут никаких имущественных рисков, связанных с участием в данных розыгрышах (т.е. вы ничего не оплачиваете и ничем не рискуете). Вам достаточно нажать кнопку "Принять участие" и ждать результата!

На данный момент проходит 1 розыгрыш призов.

1. Зарядное устройство XTAR XP4 Panzer + 2 аккумулятора Panasonic NCR18650B 3400 мАч

Рекомендуем Вам подписаться на тему (оптимальнее с уведомлением на ваш E-mail), где публикуется информация о новых розыгрышах призов.
Подробная информация по ссылке
Искренне рады видеть Вас на нашем независимом проекте о лазерах и лазерной технике!

Что Вам даст регистрация на нашем проекте:


- Возможность участия во всевозможных акциях, конкурсах и лотереях постоянно проходящих на форуме
- Возможность пользоваться скидками и бонусами, которые предоставляют различные популярные магазины специально для наших форумчан
- Возможность побывать в роли тестеров новейших разработок в области лазерной техники и их комплектующих
- Возможность неограниченного доступа к закрытой технической информации и некоторым интересным разделам форума

и много других приятных привилегий

Искренне надеемся, что Вам у нас понравится!
Если вы хотите финансово поддержать работу проекта LASERS.FONAREVKA.RU, будем искренне благодарны!
Даже самая малая сумма поможет дальнейшему развитию и прогрессу нашего с вами уже общего проекта.


Ответ
Просмотров в теме 31919   Ответов в теме 149   Подписчиков на тему 0   Добавили в закладки 0
Опции темы
Старый 03.10.2010, 01:27   1
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию Микроконтроллеры для начинающих.

Здравствуйте. Нужна помощь AVR-программиста-сишника. Сам я, можно сказать, не программист, тем более на си. Но решил попытать счастья в программировании МК. Собственно моя первая конструкция - мигалка из пяти светодиодов. Вопрос собственно вот в чем: как заставить программу после выполнения начать выполняться сначала? Контроллер - ATTiny13.

Цитата:
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;
//=================================================================
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; // Выключаем пятый светодиод.
while( 1 ); // Циклим программу. - чем заменить этот оператор, чтобы начать сначала?
//=================================================================
}
Все "нубские" вопросы предлагаю кидать в эту тему.
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 01:31   2
SviMik
Администратор
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 20:47
Адрес: Tallinn, Estonia
Сообщений: 1101
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Я не сишник, но думаю, как-то так
Код:
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 секунду.
}
}
SviMik вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 01:49   3
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Я тоже думал что-то подобное, но компилятор это переваривать не хочет. Надо как-то перевести каретку в нулевой байт. Что-то типа JMP из ассемблера. Мне кажется так.
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 01:53   4
SviMik
Администратор
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 20:47
Адрес: Tallinn, Estonia
Сообщений: 1101
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Ну может не while(true), а while(1), не знаю, есть ли разница в сях. По идее обязан переварить А что пишет?
SviMik вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 01:56   5
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Ну может не while(true), а while(1), не знаю, есть ли разница в сях. По идее обязан переварить А что пишет?
Огромное спасибо за ответ - вышел из положения таким способом:

Цитата:
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( 1 ) { // Циклим программу.
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; // Выключаем пятый светодиод.
//=================================================================
}
}
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 02:08   6
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Радости полные штаны - моя первая прога . Завтра же начну паять программатор. Ели кому интересно - буду выкладывать результаты достижений.

[Исправлено: Lum1noFor, 03.10.2010 в 02:14].
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 02:10   7
Hobbi TV
Старший модератор
 
Аватар для Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 20:18
Адрес: Санкт-Петербург
Сообщений: 13534
Сказал(а) спасибо: 6
Поблагодарили 35 раз(а) в 30 сообщениях
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от Lum1noFor :
моя первая прога
Поздравляю! А раньше было принято писать "Hello, world!".
__________________
моб.: +7-931-336-3737
e-mail: shop@hobbi.tv
Hobbi TV вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 02:15   8
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от Hobbi TV :
Поздравляю! А раньше было принято писать "Hello, world!".
Спасибо! Hello World я писал тогда, когда начинал программировать на Delphi. А в МК это уже не то. Кстати, сам научился пользоваться протеусом .
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 02:28   9
SviMik
Администратор
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 20:47
Адрес: Tallinn, Estonia
Сообщений: 1101
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Пополнение в рядах программистов мк
Может перекличку устроить, кто на чём пишет.
Я под AVR на ассемблере.
SviMik вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 02:56   10
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Да какой из меня программист МК... Есдинственное, что я понял, это как "дергать ножками". И все.
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 02:58   11
SviMik
Администратор
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 20:47
Адрес: Tallinn, Estonia
Сообщений: 1101
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Lum1noFor Ну теоритически в будущем - почему бы и нет Главное начать. И сделать программатор
SviMik вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 03:04   12
yuri
Лазеростроитель
 
Аватар для yuri
 
Регистрация: 12.02.2010
Последняя активность: 15.02.2011 21:41
Адрес: Москва
Сообщений: 292
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Рекомендую почитать Кернигана и Ричи, "Язык программирования Си". Там не для МК, но синтаксис тот же.
__________________
yuri вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 03:12   13
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Lum1noFor Ну теоритически в будущем - почему бы и нет Главное начать. И сделать программатор

Программатор для меня сделать - раз плюнуть, благо радиомонтажник из меня лучше, чем программист. А вот начать - это уже сложнее .


yuri, спасибо за совет.
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 11:57   14
chem_kot
Научный сотрудник
 
Аватар для chem_kot
 
Регистрация: 13.03.2010
Последняя активность: 15.08.2015 07:45
Адрес: Екатеринбург
Сообщений: 648
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Ну хэллоу ворд для МК это мигание одним светодиодом)))я с этого начинал))И программатор сначала был СТК200/300.. сейчас юзаю Си в WinAVR, программер - AVR910 USB
chem_kot вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 13:06   15
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от chem_kot :
Ну хэллоу ворд для МК это мигание одним светодиодом)))я с этого начинал))И программатор сначала был СТК200/300.. сейчас юзаю Си в WinAVR, программер - AVR910 USB

А меня бегущая дорожка из пяти светодиодов . Кстати, кто-нибудь может посоветовать схеку хорошего програматора? Чтобы шил ATTiny и ATMega.
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 13:24   16
chem_kot
Научный сотрудник
 
Аватар для chem_kot
 
Регистрация: 13.03.2010
Последняя активность: 15.08.2015 07:45
Адрес: Екатеринбург
Сообщений: 648
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Да они почти все их шьют, протокол то один. А из программаторов для начала можно STK200/300 на LPT, а потом можно собрать AVR910 по схеме Protoss'a
chem_kot вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 13:27   17
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от chem_kot :
Да они почти все их шьют, протокол то один. А из программаторов для начала можно STK200/300 на LPT, а потом можно собрать AVR910 по схеме Protoss'a

Начну, пожалуй, сразу с Протосса. Спасибо!
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 13:57   18
chem_kot
Научный сотрудник
 
Аватар для chem_kot
 
Регистрация: 13.03.2010
Последняя активность: 15.08.2015 07:45
Адрес: Екатеринбург
Сообщений: 648
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Есть одно но - в нем тоже МК, и его надо прошить, возможно если программаторов вообще нет, придется спаять ЛПТ вилка+4 резистора+5проводов
chem_kot вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 14:03   19
Lum1noFor
Модератор
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 14:03
Адрес: Москва
Сообщений: 874
Сказал(а) спасибо: 1
Поблагодарили 8 раз(а) в 7 сообщениях
По умолчанию

Цитата:
Посмотреть сообщение Сообщение от chem_kot :
Есть одно но - в нем тоже МК, и его надо прошить, возможно если программаторов вообще нет, придется спаять ЛПТ вилка+4 резистора+5проводов

К счастью, есть знакомый хороший программист МК. У него какой-то покупной программатор. За 10 тысяч . Я бы такой не потянул.
Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 03.10.2010, 14:15   20
SviMik
Администратор
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 20:47
Адрес: Tallinn, Estonia
Сообщений: 1101
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Я использую FT232RL (по первой схеме) и доволен
http://easyelectronics.ru/skorostnoj...ntrollera.html
Для чего делать программатор на мк, который ещё сам в прошивании нуждается, когда есть готовая микросхема, отлично с этим справляющаяся.
ЗЫ. И заодно получишь переходник в UART как дополнительную функцию
SviMik вне форума   Ответить с цитированием Вверх
Ответ


Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекомедации для начинающих AVSel FAQ 59 07.12.2015 14:05
Микроконтроллеры серии STM32 (ARM Cortex M3) INFERION Микроконтроллеры 44 06.12.2012 00:03
Микроконтроллеры PIC и среда разработки MPLAB Lum1noFor Микроконтроллеры 0 15.09.2012 22:50
электроника для начинающих! spartanec Электроника для начинающих 24 16.11.2010 03:48


Текущее время: 13:49. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc. Перевод: zCarot
Template-Modifications by TMS

Copyright ©2010 - 2015, Hobbi.TV & FONAREVKA.RU.

Если Вы не являетесь правообладателем того или иного контента размещенного на форуме (фото/видео/текст),
то при любом использовании материалов форума необходимо получить письменное разрешение
на использование того или иного материала у администрации форума.

При использовании материалов форума ссылка на Lasers.fonarevka.ru обязательна.

Украинский портАл CATALOG.METKA.RU
Каталог webplus.info Каталог сайтов Zabor.com