roboforum.ru

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

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

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

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

Сообщение galex1981 » 16 июн 2009, 00:13

Там есть дебаггер, прогнать пару раз - сразу найдешь ошибку, если не смогешь, я завтра до вечера сам прогоню дома
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение blindman » 16 июн 2009, 03:08

Полностью в код не вникал, но вот такие строчки мне тут не нравятся:
Код: Выделить всёРазвернуть
   brvc   _s_100

Флаг V используется только при работе с данными со знаком - вероятнее всего ошибка именно в этом.

Я бы вот так написал, используется на 1 регистр меньше, компактнее, а может и быстрее (не проверял)
Код: Выделить всёРазвернуть
_s_d2b:
   ldi      res1,   0 ; старший
   ldi      res2,   0 ; младший

   ld      tmp1,   x+

_s_100:
   subi   tmp1,   1
   brcs   _s_end_100
   subi res2, 0x9C
   sbci res1, 0xFF
   rjmp _s_100

_s_end_100:
   ld      tmp1,   x+
_s_10:
   subi   tmp1,   1
   brcs   _s_end_10
   subi res2, 0xF6
   sbci res1, 0xFF
   rjmp _s_10

_s_end_10:
   ld      tmp1,   x
   add res2, tmp1
   ldi tmp1, 0
   adc res1, tmp1
_s_end:
   ret
Проект [[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: МикроКонтроллеры начинающим - общие вопросы

Сообщение Duhas » 16 июн 2009, 08:22

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


Грац! проблема была именно в этом... у меня 3 системы команд уже в голове перемешано ( я еще рад вчера был что преобразование символов в числа 0-9 сразу завелось, могу выложить )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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

Сообщение SiemX » 18 июн 2009, 12:45

А какой конденсатор надо вешать на aref когда выбрано опорное напряжение avcc?
SiemX
 
Сообщения: 159
Зарегистрирован: 08 май 2009, 21:21
Предупреждения: -1

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

Сообщение avr123.nm.ru » 18 июн 2009, 12:48

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

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

Сообщение SiemX » 18 июн 2009, 13:08

Ну я еще новичек и делаю все на макетке. Раз конденра нинадо пойду лучше к питанию дросель с коненсатором припаяю, хотя помех по питанию быть не должно движков там покачто нету а на питаний от трансформатора стоит электролит 4700мкф
SiemX
 
Сообщения: 159
Зарегистрирован: 08 май 2009, 21:21
Предупреждения: -1

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

Сообщение loid » 20 июн 2009, 10:49

Господа, подскажите какая программа- программатор может шить контроллеры через UART ? Весь инет облазил - найти не могу.
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

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

Сообщение avr123.nm.ru » 20 июн 2009, 12:00

Программатор AVR на COM порт ПК есть на страничке "Все о прошивке AVR" учебного курса по микроконтроллерам AVR - http://avr123.nm.ru/07.htm - там же программатор и на USB AVR910 простой в изготовлении.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение loid » 22 июн 2009, 05:49

Спасибо, буду пробовать. Мне собственно нужно прошить MC9S08AC60. Думать надо как написать для него хидер.
Аватара пользователя
loid
 
Сообщения: 349
Зарегистрирован: 16 окт 2007, 11:57
Откуда: Минycинck

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

Сообщение avr123.nm.ru » 22 июн 2009, 20:42

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

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

Сообщение SiemX » 24 июн 2009, 18:51

Что будет если к меге16 подключить кварц на 17.734 мгц?
SiemX
 
Сообщения: 159
Зарегистрирован: 08 май 2009, 21:21
Предупреждения: -1

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

Сообщение avr123.nm.ru » 24 июн 2009, 19:47

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

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

Сообщение Master » 24 июн 2009, 23:59

SiemX писал(а):Что будет если к меге16 подключить кварц на 17.734 мгц?

Будет работать и кажись на 40 МГц, как то встречал в нете, но вроде тогда таймеры не верно работают. А смысл в такой большой частоте, если нужно больше то брать соответсвующий контроллер, а не издеваться над МК, тем более Мегой16, знаешь сколько она от начинающих микроконтроллерщиков пострадала :)
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

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

Сообщение SiemX » 25 июн 2009, 12:44

Про 40мгц я и сам читал. Да гнать мне ненадо просто пару маленьких кварцев нашол на частоты чуть больше 16
SiemX
 
Сообщения: 159
Зарегистрирован: 08 май 2009, 21:21
Предупреждения: -1

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

Сообщение Denexp » 04 июл 2009, 18:42

Решил попробовать прерывание от компаратора и сразу... Не могу понять где туплю проект в архиве.Написал тут раз для начинающих.
Код: Выделить всёРазвернуть
#include <tiny45.h>
#include <delay.h>
// Analog Comparator interrupt service routine
interrupt [ANA_COMP] void ana_comp_isr(void)
{
  PORTB.2=ACSR.5; // вывод состояния бита ACO в Порт B бит 2
  delay_ms(20);
}

void main(void)
{
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=In Func2=Out Func1=In Func0=In
// State5=T State4=T State3=T State2=0 State1=T State0=T
PORTB=0x00;
DDRB=0x04;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFh
// OC1A output: Disconnected
// OC1B output: Disconnected
// Timer 1 Overflow Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
PLLCSR=0x00;
TCCR1=0x00;
GTCCR=0x00;
TCNT1=0x00;
OCR1A=0x00;
OCR1B=0x00;
OCR1C=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
USICR=0x00;
// Interrupt on Output Toggle
ACSR=0x08;
// Global enable interrupts
#asm("sei")
while (1){};
};
Вложения
1.rar
(47.82 КиБ) Скачиваний: 4
Denexp
 
Сообщения: 29
Зарегистрирован: 04 июл 2009, 17:57
Откуда: Ташкент

Пред.След.

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

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

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