AVR studio в вопросах и ответах
Re: AVR studio 4 в вопросах и ответах
Спасибо огроменное что бы я без вас делал!!!! Дайте я вас расцелую

- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
kotriks писал(а):Спасибо огроменное что бы я без вас делал!!!!
С нашей помощью бы самостоятельно сделали
vitalik_1984 писал(а):Код: Выделить всё
fputstr("Incorrect");
oleg110592 писал(а):Код: Выделить всё
uputs((unsigned char*)"Enter last key\n\r");
Похоже, не правда ли?
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: AVR studio 4 в вопросах и ответах
да тут большинство людей на форуме надо целовать (надо просто виртуально
) - сам тут многому учусь.
) - сам тут многому учусь.Re: AVR studio 4 в вопросах и ответах
ребята как сделать ввод комманд не цифрами а словами
чтобы вызов функции вызывался вводом слова read. ??
Код: Выделить всё
ISR(USART_RX_vect)
{
int b;
b = UDR0;
if (b=='1') read();
}
чтобы вызов функции
Код: Выделить всё
read();- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Принимать в буфер и, по окончанию приёма (или "на лету"), анализировать его.
ЗЫ: А почему Вы принимаете и сравниваете символ, а объявили переменную как int ?
ЗЫ: А почему Вы принимаете и сравниваете символ, а объявили переменную как int ?
Re: AVR studio 4 в вопросах и ответах
Аlex писал(а):
ЗЫ: А почему Вы принимаете и сравниваете символ, а объявили переменную как int ?
не вижу разницы char или int что так что так работает одинаково.
Принимать в буфер и, по окончанию приёма (или "на лету"), анализировать его.
знал бы как не спрашивал
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Для Вас по-барабану как, лишь бы работало ?kotriks писал(а):не вижу разницы char или int что так что так работает одинаково.
Что "знал бы как" ? Мы в голову Вам залезть не можем, чтобы узнать что Вы знаете, а что нет, и что Вам нужно конкретно узнатьkotriks писал(а):знал бы как не спрашивал
Re: AVR studio 4 в вопросах и ответах
Здравствуйте, хотел бы проконсультироваться у специалистов). Вот думаю заняться новым хобби, программировать микроконтроллеры и на их базе собирать всякие интересные гаджеты (Квадрокоптеры, радиопередатчики и прочие игрушки). На данный момент есть небольшие навыки в программировании. Но меня очень мучает вопрос, потяну ли я такую ношу ))). Так как никаких измерительных приборов и элементной базы не имеется, то это хобби кажется довольно-таки затратным (например, цена осциллографа немного смутила, а ещё паяльник нужен и т.п. )))) ).
Так вот вопрос! Существует ли виртуальная среда для разработки, например, цифрового радиопередатчика (в AVR studio есть необходимые компоненты для теста?). Т.к. в виртуальной среде измерительные приборы и элементы бесплатны))), а так же хотелось бы посмотреть как оно пойдёт, вдруг не моё?! Или может кто посоветует какую-либо другую среду разработки.
P.S. Надеюсь в нужную ветку вопрос написал? )
Так вот вопрос! Существует ли виртуальная среда для разработки, например, цифрового радиопередатчика (в AVR studio есть необходимые компоненты для теста?). Т.к. в виртуальной среде измерительные приборы и элементы бесплатны))), а так же хотелось бы посмотреть как оно пойдёт, вдруг не моё?! Или может кто посоветует какую-либо другую среду разработки.
P.S. Надеюсь в нужную ветку вопрос написал? )
Re: AVR studio 4 в вопросах и ответах
сделал так но не работает ввожу ! и сразу вызывается функция, в кодвижене работает если ввожу !read
в авр студии как то по другому всё
Код: Выделить всё
void activeCommand(char c[])
{
if (c[0]=='r'&&c[1]=='e'&&c[2]=='a'&&c[3]=='d')
{
read();
}
}
unsigned char i, COMMAND[4];
unsigned char i = 0;
ISR(USART_RX_vect)
{
int b;
b = UDR0;
if (b != '!')
{
COMMAND[i] = b;
i++;
}
else
{
i = 0;
activeCommand(COMMAND);
}
}
в авр студии как то по другому всё
Re: AVR studio 4 в вопросах и ответах
Только среда это платная. И даже очень.Pavel1985 писал(а):Т.к. в виртуальной среде измерительные приборы и элементы бесплатны
Посмотрите Proteus.
P.S.: А вообще, судя по направлению деятельности, рекомендую поискать специализированный форум по моделированию с радиоуправлением. Там уже есть готовые проекты.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Существует ли виртуальная среда для разработки, например, цифрового радиопередатчика
Тут ведь какая вещь, все симуляторы очень далеки от реальности и обычно требуется тонкое знание происходящих процессов чтобы запустить их в симуляторе. Симулятор оправдан в основном лишь для окончательной полировки идеи или совсем начальной стадии для отладки очень простых вещей(подергать выводом и т.д.), подбора параметров которые в реальности будешь очень долго и затратно подбирать и т.д.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: AVR studio 4 в вопросах и ответах
kotriks писал(а):работает если ввожу !read
имхо будет работать если read!
Re: AVR studio 4 в вопросах и ответах
тока ! тоже работает и без дописи read 
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: AVR studio 4 в вопросах и ответах
Если очищать буфер на 'i' не будет срабатывать
Код: Выделить всё
else{
i = 0;
activeCommand(COMMAND);
c[0]='0';
c[1]='0';
c[2]='0';
c[3]='0';
}
Re: AVR studio 4 в вопросах и ответах
Smen писал(а):Только среда это платная. И даже очень.
Посмотрите Proteus.
P.S.: А вообще, судя по направлению деятельности, рекомендую поискать специализированный форум по моделированию с радиоуправлением. Там уже есть готовые проекты.
На сколько я понял, в моделировании с радиоуправлением используются "готовые модули" из которых собирается устройство. А хочется уметь самому собирать такие модули.
В Proteus можно передатчик и приёмник смоделировать, чтобы 2-ый код передавать? А то после прочтения статей на тему модуляций появился некий ужас ))) Я даже не представляю сколько компонентов и какие измерительные приборы мне понадобятся, чтобы самому это пощупать, поэкспериментировать.
Alexeyslav писал(а):Тут ведь какая вещь, все симуляторы очень далеки от реальности и обычно требуется тонкое знание происходящих процессов чтобы запустить их в симуляторе. Симулятор оправдан в основном лишь для окончательной полировки идеи или совсем начальной стадии для отладки очень простых вещей(подергать выводом и т.д.), подбора параметров которые в реальности будешь очень долго и затратно подбирать и т.д.
А общую "идеальную" схему нельзя смоделировать, чтобы понять основы, например, какая модуляция бывает и как оно работает? А потом уже опираясь на неё собирать нормальные схемы подгоняя под наш "не идеальный мир"?
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Какая модуляция бывает проще в книжках почитать, там все проверено и работает годами - нет смысла проверять в симуляторе базовые вещи.
Выход передатчика соединяешь со входом приемника оставляя радиоканал в виде черного ящика - тебя интересует только то что сигнал передается неискаженным с выходе передатчика до входа приемника. Дальше уже идет разные уровни уточнения, например вводится элемент реализующий "помеху" в передаче и смотришь как с этим справляется спроектированная аппаратура.
Зачем? с этой задачей обычный провод не справляется?В Proteus можно передатчик и приёмник смоделировать, чтобы 2-ый код передавать?
Выход передатчика соединяешь со входом приемника оставляя радиоканал в виде черного ящика - тебя интересует только то что сигнал передается неискаженным с выходе передатчика до входа приемника. Дальше уже идет разные уровни уточнения, например вводится элемент реализующий "помеху" в передаче и смотришь как с этим справляется спроектированная аппаратура.
Re: AVR studio 4 в вопросах и ответах
Спасибо, идею понял!
Последний раз редактировалось Gudd-Head Вт дек 03, 2013 11:41:51, всего редактировалось 2 раза.
Причина: Нарушение п.2.7 Правил Форума. На первый раз просто поправил
Причина: Нарушение п.2.7 Правил Форума. На первый раз просто поправил
- Kill17
- Открыл глаза
- Сообщения: 63
- Зарегистрирован: Вс май 30, 2010 20:27:33
- Откуда: Санкт-Петербург
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Добрый день!
Начал осваивать AVRStudio. Набросал программку, которая при получении символа D в ответ отправляет Atmega168. Пробую в железе, байты распознает, даже отвечает, но вместо символов только H60 идет. Подскажите, что не правильно делаю?
Камень Atmega168
PS - разобрался, при отправки затирал байт в регистре)
Начал осваивать AVRStudio. Набросал программку, которая при получении символа D в ответ отправляет Atmega168. Пробую в железе, байты распознает, даже отвечает, но вместо символов только H60 идет. Подскажите, что не правильно делаю?
Камень Atmega168
Спойлер
Код: Выделить всё
.nolist
.include "m168def.inc"
.list
.equ XTAL = 20000 ;÷àñòîòà ãåíåðàòîðà â êÃö
.equ BAUD = 115200 ;íåîáõîäèìàÿ ñêîðîñòü îáìåíà â áèò/ñ
.equ NB = ((10000*XTAL)/(16*BAUD)-5)/10
.def temp = R16 ;âñïîìîãàòåëüíûé ðåãèñòð
.cseg
.org $0
ldi temp,low(RAMEND) ;èíèöèàëèçàöèÿ ñòåêà
STS SPL,temp
ldi temp,high(RAMEND)
STS SPH,temp
clr temp ;çàäàåì ïàðàìåòðû USART: 115200, 8-N-1
STS UBRR0H,temp
ldi temp,NB
STS UBRR0L,temp
ldi temp,(1<<RXEN0)|(1<<TXEN0)
STS UCSR0B,temp
ldi temp,(1<<UCSZ00)|(1<<UCSZ01)
STS UCSR0C,temp
; Ïîäïðîãðàììà çàãðóç÷èê
; R16 - ðåãèñòð äëÿ ïðèåìà/ïåðåäà÷è äàííûõ ïî USART
; R17 - ðåãèñòð äëÿ ïðîìåæóòî÷íûõ îïåðàöèé
; R18 - èñïîëüçóåòñÿ êàê ñ÷åò÷èê ñëîâ
; ZH:ZL - ðåãèñòð ñ àäðåñîì ñòðàíèöû è óêàçàòåëü íà ñòðîêó
; R1,R0 - èñïîëüçóþòñÿ ñ èíñòðóêöèåé spm
boot_loader:
rcall getc ;ïðèíèìàåì ÷åðåç ïîðò êîìàíäó
cpi R16,'D' ;åñëè "D", òî ïåðåäàåì ñòðîêó
brne bl1
rjmp device_id ;ïîäòâåðæäåíèÿ ïðèñóòñòâèÿ íà ëèíèè
bl1:
cpi R16,'O' ;åñëè "O", òî çàâåðøåíèå ïîäïðîãðàììû
brne bl2
ret ;åñëè ïðèíÿò èíîé ñèìâîë, òî âîçâðàùàåì
bl2:
rcall put_err ;ñèìâîë îøèáêè "?"
rjmp boot_loader
device_id:
ldi ZH,high(2*id_string);çàíîñèì â óêàçàòåëü Z àäðåñ
ldi ZL,low(2*id_string) ;íà÷àëà ñòðîêè ïîäòâåðæäåíèÿ
di1:
lpm R16,Z+ ;ïåðåäàåì ñèìâîëû äî òåõ ïîð, ïîêà
tst R16 ;íå âñòðåòèòñÿ 0 (êîíåö ñòðîêè)
breq boot_loader
rcall putc
rjmp di1
; Ïîäïðîãðàììà ïåðåäà÷è áàéòà
; R16 - áàéò äëÿ ïåðåäà÷è íà âõîäå â ïîäïðîãðàììó
putc:
LDS R16, UCSR0A
sbrs R16, UDRE0
; sbis UCSR0A,UDRE0 ;îæèäàåì ïîêà îñâîáîäèòñÿ ðåãèñòð
rjmp putc ;äàííûõ ïåðåäàò÷èêà USART
sts UDR0,R16 ;ïåðåäàåì áàéò äàííûõ
ret
; Ïîäïðîãðàììà ïðèåìà áàéòà
; R16 - ïðèíÿòûé áàéò íà âûõîäå èç ïîäïðîãðàììû
getc:
LDS R16, UCSR0A
sbrs R16, RXC0
;sbis UCSR0A,RXC0 ;îæèäàåì ïîêà íå áóäåò ïðèíÿò áàéò
rjmp getc
LDS R16,UDR0 ;ïåðåíîñèì áàéò â ðàáî÷èé ðåãèñòð
ret
; Ïîäïðîãðàììà ïåðåäà÷è ñèìâîëà îøèáêè "?"
put_err:
ldi R16,$33
rcall putc
ret
id_string: ;ñòðîêà ïîäòâåðæäåíèÿ
.db "Atmega168",0
PS - разобрался, при отправки затирал байт в регистре)
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Блин неужели трудно открыть файл *.С и скопировать оттуда? Зачем такие кракозябры отправлять? Из редактора студии какая то херня копируется.
Re: AVR studio 4 в вопросах и ответах
Херня получается из-за языка, на который переключена клавиатура в окне-источнике.