Найдено 116 результатов

DruidCat
Вт мар 25, 2014 00:39:16
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

Ура, получилось!!! :)
#if defined(__AVR_ATmega328P__)
.......
#endif
Спасибо!
DruidCat
Пн мар 24, 2014 19:02:28
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

А какой способ быстрее и экономичней в условиях большого количества разных и частых прерываний?
PS: я нашел ключик -D с частотой МК.
-DF_CPU=20000000UL
Это строчка находилась в файле subdir.mk, там же есть ключик -mmcu=atmega328p. Но запись:
#if mmcu==atmega328p
.......
#endif
Не работает. :)
DruidCat
Пн мар 24, 2014 09:52:37
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

Большое спасибо за помощь коты! :)
DruidCat
Вс мар 23, 2014 21:26:50
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

А вот интересно, где именно в проекте объявляется макрос?
#define F_CPU ........
Просто не объявляя данного макроса в программе, можно им пользоваться и он будет соответствовать тактовой частоте МК.
И еще вопрос, есть ли такой же макрос, который бы указывал на тип МК в проекте? Просто было бы ...
DruidCat
Вс мар 23, 2014 03:39:49
Форум: AVR
Тема: Помогите с ADC atmega48
Ответы: 5
Просмотры: 1178

Re: Помогите с ADC atmega48

Это у тебя такой код в прерывании? Для меня не знакома такая записи кода. Я пользуюсь avr toolchain.
DruidCat
Сб мар 22, 2014 02:05:29
Форум: Разные вопросы по МК
Тема: Вопросы по С/С++ (СИ)
Ответы: 7703
Просмотры: 1414507

Re: Вопросы по С/С++ (СИ)

Среди файлов, подключаемых директивой #include, встречаются файлы без расширения. К примеру
#include <QtSerialPort/QSerialPortInfo>
Открыл QSerialPortInfo в блокноте, а там:
#include "qserialportinfo.h".
Свидетельствует ли отсутствие расширения, о чём либо?
В #include пиши как хочешь ...
DruidCat
Пт мар 21, 2014 14:40:37
Форум: МЯЯЯУ!
Тема: Украина - следим за событиями
Ответы: 181595
Просмотры: 1992664

Re: Украина - следим за событиями

Вообще очень много глупостей прозвучало. Всем советую учить историю, хотя бы за последние 100 лет. Хотя, что в России, что в Братской Украине учебники истории нам писали америкосы. Всем совет ознакомиться с таким порталом "Познавательное Телевиденье" Яндекс вам в помощь молодые Коты. :)
DruidCat
Пт мар 21, 2014 13:37:32
Форум: МЯЯЯУ!
Тема: Украина - следим за событиями
Ответы: 181595
Просмотры: 1992664

Re: Украина - следим за событиями

Политика. Ух, мяукну я тут.
Англосаксы, враги России. Кто верит в их либеральную чушь, идиот. В 91 году мы проиграли войну нашим геополитических врагам, и как в каждой войне проигравшая сторона платит ДАНЬ. Мы не свободная страна, у нас конституция колониального государства. Мы платим дань, как и ...
DruidCat
Чт мар 20, 2014 09:52:03
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

Я про ошибку кода имел в виду алгоритм его. Если чесно, я про атомарный блок никогда не слышал. И с такой проблемой не сталкивался. Век живи, век учись!)
А по поводу функций, которые возвращают static переменные драйвера, я это сделал намеренно, чтоб инкапсулировать данные. И принципы С++ пытаюсь ...
DruidCat
Ср мар 19, 2014 19:37:18
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

ARV вы волшебник, все заработало. Спасибо большое, я просто счастлив, так долго искал ошибку в коде, а оказалась проблема не в нем была.
PS: всем, кому интересно, выкладываю драйвер на таймер TC0, пользоваться им просто, там в хидер файле есть инструкция с примером. :)
DruidCat
Вт мар 18, 2014 20:29:36
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

чтение многобайтной volatile-переменной должно быть атомарным, см. пример моего кода. добавьте внутрь getTimer0() ATOMIC_BLOCK и сообщите результат
Завтра в железе обязательно проверю и отпишусь. Спасибо.
PS: По поводу типов данных, если не ошибаюсь, в 8, 16, 32, 64 битных архитектурах тип ...
DruidCat
Вт мар 18, 2014 17:45:51
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

кстати, почему size_t а не uint16_t?
Я так в С++ пишу. Кстати ARV, я воспользовался твоим советом по поводу QT и Eclipse, сейчас там шпарю свой код. А по поводу uint16_t, буду так теперь делать, если ты говоришь что так грамотней, твой авторитет для меня не оспорим.
где в программе вы ИСПОЛЬЗУЕТЕ ...
DruidCat
Вт мар 18, 2014 15:35:04
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1286617

Re: WinAvr в вопросах и ответах

Коты, помогите, не могу отследить ошибку в течении уже недели. Пользуюсь: ATmega328P, 20 мГц, avr-toolchain 3.4.2.1573 (от создателей WinAVR). Написал простой драйвер на таймер TC0, исходный код драйвера во вложении.
Суть проблемы:
1) В векторе прерывания стоит счетчик unsigned int, который +1 ...
DruidCat
Чт янв 30, 2014 19:58:24
Форум: AVR
Тема: АЦП - выбор лапки
Ответы: 35
Просмотры: 3935

Re: АЦП - выбор лапки


Сделай тестовую функцию без прерываний - задаешь канал, получаешь результат. И запусти подряд несколько измерений, потом по UART передать на терминал в протеусе будет наглядно видно.
Сделал, работает нормально. Задаю канал, делаю паузу на установку канала. Потом жду завершения преобразования ...
DruidCat
Ср янв 29, 2014 18:53:34
Форум: AVR
Тема: АЦП - выбор лапки
Ответы: 35
Просмотры: 3935

Re: АЦП - выбор лапки

Большое спасибо за помощь! По второму пункту ответа все предельно ясно. А вот по первому я слегка запутался. У меня программа работает по такой логике:
1) Выбор канала.
2) Пауза.
3) Запуск преобразования.
4) Прерываение.
5) Съем показаний.

Пожалуйста, покажите мне, где нужно сделать паузу в 2 такта ...
DruidCat
Вт янв 28, 2014 16:32:51
Форум: AVR
Тема: Подскажите в чем ошибка
Ответы: 4
Просмотры: 1032

Re: Подскажите в чем ошибка

Если всетодиоды немного горят и все разом, значит они все загораются и гаснут. Просто это происходит с очень большой скоростью. Поэтому ты видишь слабое горение. Сделай паузу побольше в миллисекундах, как написано выше.
DruidCat
Вт янв 28, 2014 13:48:39
Форум: AVR
Тема: АЦП - выбор лапки
Ответы: 35
Просмотры: 3935

Re: АЦП - выбор лапки

Вобщем и целом, благодаря вашим советам получилось сделать выбор канала через свиг регистра!
Другими словами - правильно и без всяких там разных систем счисления! Я не стану утверждать что мой метод более или менее правильный чем предложенные ранее, просто я педант - и в процессе изучения Си для ...
DruidCat
Вт янв 28, 2014 13:41:19
Форум: AVR
Тема: АЦП - выбор лапки
Ответы: 35
Просмотры: 3935

Re: АЦП - выбор лапки

А если функцию так сделать:
void change_adc(void)//Функция изменения АЦП
{
uchChangeADC++;
if (uchChangeADC == 3) {uchChangeADC=0;}
ADMUX |=(0 << REFS1) | (1 << REFS0) | (uchChangeADC << MUX0); // Напряжение питания AVcc
ADCSRA |=(1 << ADSC); //запуск преобразования
}

Мысль понятна. Я ...
DruidCat
Пн янв 27, 2014 12:09:03
Форум: AVR
Тема: АЦП - выбор лапки
Ответы: 35
Просмотры: 3935

Re: АЦП - выбор лапки

А если функцию так сделать:
void change_adc(void)//Функция изменения АЦП
{
uchChangeADC++;
if (uchChangeADC == 3) {uchChangeADC=0;}
ADMUX |=(0 << REFS1) | (1 << REFS0) | (uchChangeADC << MUX0); // Напряжение питания AVcc
ADCSRA |=(1 << ADSC); //запуск преобразования
}

Мысль понятна. Я ...
DruidCat
Вс янв 26, 2014 15:49:33
Форум: AVR
Тема: АЦП - выбор лапки
Ответы: 35
Просмотры: 3935

Re: АЦП - выбор лапки

Коты, помогите. Мне нужно опрашивать три АЦП лапы, но при опросе, все лапы при опросе имеют значения 1023 1022 1021 (эти значения меняются на 1 или 2). Пользуюсь ATMega 328P 20мГц. Прочитал справочную литературу, сделал сначала программу по опросу одной лапки, все работает замечательно. Если ...

Перейти к расширенному поиску