Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
19.09.2007, 09:14
|
#11
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от pirotehnick
|
Как мне снаружи записать в порт что-либо.
|
Входные сигналы в AVR
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
19.09.2007, 09:42
|
#12
|
Прохожий
Регистрация: 30.05.2005
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
Достаточно поменять
Код:
if (PORTB!=0xff)
на
Код:
if (PINB!=0xff)
и все заработает....
|
ага и порт спалить можно
-› PORTB=0xff; // настраиваем порт Б на вывод данных
[/quote][/code]
|
|
|
|
19.09.2007, 09:49
|
#13
|
Прохожий
Регистрация: 29.06.2006
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
![Улыбка](images/smilies/icon_smile.gif) Большое спасибо за подсказку. А кто-нибудь знает где можно найти подробное описание всех регистров МК
серии Atmega на русском языке, желательно с примерами?
////////////////////////////////////////////////////
for AndreiVV:
‹‹1. сделали порт Б как выход ››
Да вроде наоборот, как вход. При установке бита регистра DDRx в "0"- вход, "1"- выход. Я руководствовался статьёй, взятой с сайта
http://myrobot.ru/
‹‹вы проверяете весь порт Б, все 8бит(чтобы выполнилось условие нужно будет все линии порта››
Как видно из условия "...if (PORTB!=0xff)... " достаточно изменить состояние одной линии порта B (т.е. сделать нулем), чтобы поставленное условие выполнилось.
‹‹слишком рано взялись за практику››
Да, наверное это так. Но осваивать теорию без практики не очень интересно. Программатор спаял, первую программу мигания светодиодом написал, бегующий огонёк сделал, хочется чего-то большего...
Сейчас я планирую пообщаться со встроенным АЦП и интерфейсом UART(RS232). Теоретический курс об этом я уже прочёл,вроде всё понял, теперь надо реализовать практически
P.S. Я кстате пользуюсь средой разработки WinAVR.
|
|
|
|
19.09.2007, 10:01
|
#14
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
В приложении - описание 2313 на русском и пдф на 8 мегу- на родном английском. Архитектуры похожи, так что можно разобраться. Осторожно, файл больше 2 мегабайт.
Прикрепленный файл: 250759.rar
|
|
|
|
19.09.2007, 10:21
|
#15
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Сообщение от pirotehnick
|
Большое спасибо за подсказку. А кто-нибудь знает где можно найти подробное описание всех регистров МК
серии Atmega на русском языке, желательно с примерами?
|
http://www.gaw.ru/html.cgi/txt/doc/m...h128/index.htm
|
|
|
|
19.09.2007, 11:43
|
#16
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Сообщение от vitalik9
|
ага и порт спалить можно
-› PORTB=0xff; // настраиваем порт Б на вывод данных
|
Вы не правы. DDRx- регистр определяющий вход/выход, не PORTx. RTFM!
|
|
|
|
19.09.2007, 13:00
|
#17
|
Гражданин KAZUS.RU
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
|
Цитата:
|
for AndreiVV:
‹‹1. сделали порт Б как выход ››
Да вроде наоборот, как вход. При установке бита регистра DDRx в "0"- вход, "1"- выход. Я
|
прошу прощения, я особо не вдавался в подробности регистров(тоже начинающий) и пользовался визардом (CodeVisionAvr) если нужно было. Вот и сейчас тоже визардом, даже не заметил что строки DDRB и PORTB наоборот идут ![Смущение](images/smilies/icon_redface.gif) посмотрел только результат и сделал поспешные выводы
|
|
|
|
02.10.2008, 11:28
|
#18
|
Прохожий
Регистрация: 18.09.2008
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Добрый день
Я очень начинающий и поэтому убедительно прошу конкретный ответ на следующую проблему.
Пользуюсь Atmega16, WinAvr И Avrstudio и пытаюсь имитировать прием данных череез прерывание.
К примеру (написанной программы под рукой нет):
SIGNAL(__vector_default)
{
PORTB = UDR //просто вывести число
}
int main (void)
DDRB = / порт на выход
UBRRH/L //скорость
UCSRC// и так далее, настроены порты на прием, все проверенно не только мной и неоднократно.
UCSRA = 0
UCSRB = //
sei ()
while (1)
И суть проблемы.
После компиляции я открываю студию, прохожу все этапы записи в регистры (проверяю) и дальше он уходит в бесконечный цикл.
Далее, собственноручно, устанавливаю какое ни будь число в UDR, флаг RXC в UCSRA. Как будто ко мне пришло какое-то число. кажется по такому принципу и выставляется флаг прерывания.
ДЕбагер уходит на обработку прерывания (где SIGNAL) но в порт уже ни чего не идет, число с UDR пропадает сразу, еще один шаг оно полежит в r24, и потом теряется.
В чем причина. ПРобовали по разному. Переменные, указатели. Регистры подключить не получислось. НО не думаю что и это поможет.
ПОлучается лишь тогда, когда данные в UDR, выставляються в момент, непосредственной передачи в порт.
Заранее благодарю.
P.S. В железе тоже не работает. ЧТО-то ловит, а что непонятно.
|
|
|
|
08.03.2010, 16:29
|
#19
|
Прохожий
Регистрация: 12.04.2008
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Программирование на Си в WinAVR.
Посмотри примерчик на http://proavr.narod.ru/z5.htm
по аналогии придумаешь.
|
|
|
|
08.03.2010, 16:55
|
#20
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Программирование на Си в WinAVR.
и в PROTEUS ! это "ближе к телу".
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:27.
|
|