roboforum.ru

Технический форум по робототехнике.

 

МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Ринатик » 24 июл 2008, 07:34

Спасибо Вам всем, не уходите далеко, у меня еще вопросы будут.
Ринатик
 
Сообщения: 14
Зарегистрирован: 24 окт 2007, 14:31

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Ринатик » 25 июл 2008, 14:46

О задаче z3, про 12-битный таймер. При симуляции в VMLAB, если при запуске нажать KC в Control Panel (сбросить в "0" вывод PB2), программа зацикливается в месте, где идет проверка исправности нагрузки:
Код: Выделить всёРазвернуть
if (PINB.2 == 0) 
{                       /* Если на PB2 лог. "0" - нагрузка неисправна или не подключена */
while (1)
             {
                // будем быстро мигать (период 0.3 сек) до устранения неисправности и нового включения питания таймера
delay_ms(150); // пауза 150 мС
PORTB.0 = 1;   // вЫкл светодиод

delay_ms(150); // пауза 150 мС
PORTB.0 = 0;   // вкл светодиод
       }; // это закрыв. скобка для while
} // это закрыв. скобка для if

и дальше, если нажать еще раз KC в Control Panel (т.е. сделать "1" на PB2), программа из этого цикла уже не выходит. Но если вместо while (1) вставить while (!PINB.2), то программа при установке "1" на PB2 выходит из этого цикла и продолжает нормальную работу.
Ринатик
 
Сообщения: 14
Зарегистрирован: 24 окт 2007, 14:31

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Сергей » 25 июл 2008, 15:10

правильно, потомучто стоит while( 1 ) то есть while( true ) то есть бесконечный цикл, и если в нем нету break то он реально бесконечный
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение avr123.nm.ru » 25 июл 2008, 22:21

В комментариях (в куске исходника выше) ведь написано - это сделано специально, чтобы программа могла запустится тлько при новом включении таймера.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Ринатик » 28 июл 2008, 10:07

Наверное я невнимательно прочитал. А вот я могу обнулить 7 и 6 биты в числе таким образом:
R10.6=0; R10.7=0; ?
Ринатик
 
Сообщения: 14
Зарегистрирован: 24 окт 2007, 14:31

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение avr123.nm.ru » 28 июл 2008, 15:47

Ринатик писал(а):Наверное я невнимательно прочитал. А вот я могу обнулить 7 и 6 биты в числе таким образом:
R10.6=0; R10.7=0; ?

Учиться лучше с начала - ИМХО.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Ринатик » 29 июл 2008, 12:27

Учиться лучше с начала - ИМХО.

Ответ не понятен, изучаю с самого начала. Вопрос был в задаче "Как ещё можно обнулить биты 7 и 6?". Это из задачи z3 про таймер. Вот я и думаю, у регистров 10 и 11 адреса согласно Figure8. Data Memory Map $0010 и $0011. В пятом уроке указано:
К битам регистров с адресами от 0 до 31 в компиляторе CodeVisionAVR можно обратится (и читать и записывать) проще.
Вот так: REGISTR.BIT

Т.е. я могу обнулить так, как писал выше?
Ринатик
 
Сообщения: 14
Зарегистрирован: 24 окт 2007, 14:31

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение blindman » 29 июл 2008, 12:31

Ты хочешь изменять биты в регистрах процессора из программы на C? :o
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Ринатик » 29 июл 2008, 13:19

Сдается мне, что я ошибаюсь. Т.е. имелись ввиду (если смотреть REGISTER SUMMARY на ATMega8) регистры TWBR, TWSR,..., SFIOR, OSCCAL ?
Ринатик
 
Сообщения: 14
Зарегистрирован: 24 окт 2007, 14:31

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение loid » 31 июл 2008, 11:59

Народ дело вот у меня какое, опять проблема. Раскажу всё что было. Занимался я чипом по имени ATMEGA16, всё было замечательно, до определённого момента пока он не стал определяться в CodeVisionAVR. Ну думаю, готов чип, новый покупать надо. Купил... Занимаюсь дальше, опять проблемка такая же. Вот только что прошивался а сейчас опять не видит его программатор. Думаю дело всё во фьюзах. Видимо при прошивке (не знаю каким образом) отключился JTAG. Что можно с этим сделать?
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение EdGull » 31 июл 2008, 12:24

т.е. ты его через JTAG шьешь, а не черех ISP?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение loid » 31 июл 2008, 12:28

Если не ошибаюсь - шью через JTAG. Другими словами подключаю чип ATMEGA16 к порту B, через пять проводков.
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение EdGull » 31 июл 2008, 12:49

каким программатором?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение loid » 31 июл 2008, 13:03

Прошиваю программой CodeVisionAVR через "пять проводков" подключенных к LPT
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение EdGull » 31 июл 2008, 13:06

тогда ты шьешь через ISP
JTAG тут ваще никаким боком не причем
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1

Mail.ru counter