Перейти к содержанию

Видеокурс по AVR-микроконтроллерам для начинающих


Рекомендуемые сообщения

Но, к сожалению у меня не получилось выглядит как белый прямоугольник.

Можете для проверки заменить какую-нибудь букву на свой символ и посмотреть что выведется. Вдруг код символа все-таки не совпадает или проблема с преобразованиями.

Проверил у себя. Этот символ и так есть в библиотеке, только нужно разрешить использование всего набора символов. Для моей версии это означает - раскомментировать в файле n5110.h строчку #define FULL_CP1251_TABLE

Вот нашел код

// Разрешение дисплея в пикселях#define LCD_X_RES 84 // разрешение по горизонтали#define LCD_Y_RES 48 // разрешение по вертикалиДумаю что здесь

Если я правильно помню, мало изменить разрешение по горизонтали и вертикали, надо еще переписать функции вывода чтобы они "проскакивали" неиспользуемую область. Изменено пользователем COKPOWEHEU

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Спасибо все получилось заменил во второй строке [!] знак. Еще я неправильно определил код в таблице Windows - как юникод, а нужно было Windows запад. Код оказался 0х21, а на нем в нашей библиотеке восклицательный знак, ну я его и того. Потом когда закончу проект в сборке верну все обратно.

Еще раз большое спасибо, доброй Вам ночи.

_____

PS Да я просматривал ваш файл. Но ничего подобного в нативном файле нет. И видимо это так просто не сделать. Буду читать и учиться.

Еще раз спасибо

Изменено пользователем MaxVest
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Viktor26, интересно, когда вы начали изучать ...., вы были из разряда чукча? а сейчас кем себя считаете?

я и сейчас чукча, но читать подсказки, а тем более когда еще и готовое дают, научился.

ну и я как бы в шутку а вы на вилы меня сразу))

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Viktor26, интересно, когда вы начали изучать ...., вы были из разряда чукча? а сейчас кем себя считаете?

я и сейчас чукча, но читать подсказки, а тем более когда еще и готовое дают, научился.

ну и я как бы в шутку а вы на вилы меня сразу))

Всё отлично.

Автор видео урока озвучил, задавайте вопросы на форуме, так делаю. Ранее читать всю переписку нет времени. А подсказку понял, когда пробовал варианты вставок.

Сейчас сижу над другими видеоуроками, и пошагово повторяю, чтоб вникнуть. Вроде не сложно, когда знать и понимать что делать.

Ссылка на комментарий
Поделиться на другие сайты

Добрый день. Посмотрел все уроки, но при попытках повторить задание в шестом уроке, экран не пишет надписи. Только "Demo Version". Atmel Studio 7, Proteus 7.10. Windows 8. Помогите пожалуйста решить проблему!

Ссылка на комментарий
Поделиться на другие сайты

Вечер добрый!

Попытался диапазон от 0 до 1А выразить в mA. Вроде все получилось, но разброс(нелинейность) или несоответствие показаний на верхней границе(1А) и нижней, например 100mA просто удивил.

Т.е., если выставить на CSOURCE(вирт.нагрузка)1000mA и с помощь переменного резистора настроить значение на вывод LCD , то при нагрузке в 100mA на дисплее 282mA. Бился-бился с этой проблемой и... - Всё уперся! В гугле тоже ничего конкретного.

Есть ли по поводу этого геморроя какие-нибудь решения?

Спасибо.

PS.Lesson 8 от kobzar

Изменено пользователем MaxVest
Ссылка на комментарий
Поделиться на другие сайты

к предыдущему посту

Попробовал подключить дополнительный вход -лапку ADC3, а на вход задействовать второй неиспользуемый ОУ LM358. и таким образом этот диапазон измерять независимо

Но потерпел фиаско.

int readADC( unsigned int ch)
{
unsigned int everage_val= 0;

ADMUX &=~((1<<MUX3) | (1<<MUX2) | (1<<MUX1) | (1<<MUX0));	
switch (ch)
{
case 1: ADMUX |= ((0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (1<<MUX0)); break;
case 2: ADMUX |= ((0<<MUX3) | (0<<MUX2) | (1<<MUX1) | (0<<MUX0)); break;
case 3: ADMUX |= ((0<<MUX3) | (0<<MUX2) | (1<<MUX1) | (1<<MUX0)); break;
default:break;	
}		
_delay_ms(20);

for (int i=0; i<20; i++)	
{
ADCSRA |= (1<<ADSC);
while ((ADCSRA &(1<<ADSC)));		
everage_val += ADC;
_delay_us(200);
}
return everage_val/20;	
}

int main(void)
{
Lcd_init();
preset();
while(1)
{

//AMPER
if ((((readADC(1)*2.56*(10/2.56))/1024)>1.1))
{
Lcd_prints(10,3,FONT_2X,(unsigned char *)PSTR("A"));
Lcd_printf(3,3,FONT_2X,((readADC(1)*2.56*(10/2.56))/1024),1);
}

//milliAMPER
else
{
 Lcd_printf(1,3,FONT_2X,(((readADC(3)*2.56*(10/2.56))/1024))*1000,0);
 Lcd_prints(10,3,FONT_1X,(unsigned char *)PSTR("mA"));
}

Если есть соображения, прошу участвовать. Спасибо.

Изменено пользователем MaxVest
Ссылка на комментарий
Поделиться на другие сайты

Решил проблему.

1. заменил ОУ LM358 на OP07C.

2. Исправил ошибку: - вместо шкалы в 10А установил шкалу в 1 ампер

//milliAMPER
else
{
Lcd_printf(1,3,FONT_2X,(((readADC()*2.56*(1/2.56))/1024))*1000,0);
Lcd_prints(10,3,FONT_1X,(unsigned char *)PSTR("mA"));
}

3.Для измерения mA использовал дополнительный лапку ADС3, на входе которой оу OP07C c Ку =~1000

Есть только 1 минус- организация двух полярного питания для OP07C.

Но, раз уж имеется такое питание, то есть смысл и в диапазоне амперов использовать операционный усилитель OP07C

4. Добавил дополнительную функцию преобразования для лапки ADC3

float readADCmA()
{
float everage_val= 0;
ADMUX &=~((1<<MUX3) | (1<<MUX2) | (1<<MUX1) | (1<<MUX0));
ADMUX |= ((0<<MUX3) | (0<<MUX2) | (1<<MUX1) | (1<<MUX0));
_delay_ms(100);
for ( unsigned int i=0; i<500; i++)
{
ADCSRA |= (1<<ADSC);
while ((ADCSRA &(1<<ADSC)));
everage_val += ADC;
_delay_ms(1);
}
return everage_val/500;
}

post-201655-0-78794600-1468142637_thumb.png

Изменено пользователем MaxVest
Ссылка на комментарий
Поделиться на другие сайты

Какой? керамический , электролит?

Какая емкость?.

Вообще- то, проблема решена: - по всему mA - ному диапазону от 0А до 1А линейная! погрешность в 2mV, что легко ликвидируется программно.

И в амперном диапазоне (лапка ADC2) , после замены ОУ на OP07C погрешность 1mV во всем диапазоне.

Всё это, конечно пока в Proteus'e.

Напоминаю, что основа взята из видео-урока №8, представленного нам замечательным парнем с Украины Alex'сом Kobzar'ем

Благодарю за участие.

Изменено пользователем MaxVest
Ссылка на комментарий
Поделиться на другие сайты

Добрый вечер!

Остро возник вопрос:

- как прошивку Atmel Studio правильно прошить в CodeVisionAVR?

К примеру простая программа мигания LED(из урока №1) скомпилированная в CodeVisionAVR и прошитая им же работает, а скомпилированная в Atmel Studio, но прошитая в CodeVisionAVR не работает как надо. LED не мигает, а горит постоянно.

Вопрос возник из за программатора STK 200, который прописан в CodeVisionAVR и у меня.

Пробовал перекинуть проект с атмела в CV AVR. Подправил синтаксис объявления библиотек в main.c, но возникала проблема с файлом "n5110.h".

Так же пробовал настроить и атмел. -среду.

Но всё безрезультатно, Убил около 15 часов в поисках и попытках..

Большая просьба помочь.

Благодарю..

Ссылка на комментарий
Поделиться на другие сайты

А зачем вам две среды разработки? Я вообще без них обхожусь - блокнотика и makefile'ов хватает. Для прошивки можно использовать avrdude, она поддерживает едва ли не все программаторы.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Две среды разработки это возможно и лишнее, но вынужденная мера

Windows XP, программатор stk200, порт LPT1(К стати, Аvrdude 3 его не видит. Вручную прописывал порт -всё бесполезно)

1.5 месяца, как начал изучать, поэтому нет полноты базовых знаний.

Проблема в том, что код создан в AtmelStudio 4, а он не видит LPT1 и stk200.

HEX прошивается в CodeVision - шьётся (технически) отлично без ошибок, но присутствует программная ошибка.

Тот же код созданный в CAAVR работает прекрасно

пример:

AS
#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRD= 0xFF;
PORTD=0x00;
while (1)
{PORTD =0xFF;
_delay_ms(1000);
PORTD =0x00;
_delay_ms(1000);
}
}
____________________
CVAVR
#include <mega8.h>
#include <delay.h>
void main(void)
{
DDRD= 0xFF;
PORTD=0x00;
while (1)
{PORTD =0xFF;
delay_ms(1000);
PORTD =0x00;
delay_ms(1000);
}
}

Почему?

Может нужно как-то изменить настройки компиляции в Atmel?Я конечно понимаю, что нужно купить новый комп, программатор для Атмел и тд и тп.Но в данной -то ситуации что делать?Можно ли вообще hex файл созданный в Атмел, как то безошибочно прошить в СVAVR?Спасибо.

Изменено пользователем MaxVest
Ссылка на комментарий
Поделиться на другие сайты

И на что дудка ругается? Возможно, это поможет. Покупать новый комп только для программирования контроллеров не имеет смысла.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

И на что дудка ругается? Возможно, это поможет. Покупать новый комп только для программирования контроллеров не имеет смысла.

Не видит LPT1, а значит и программатора.

Установка файла giveio.sys не помогла, возможно вообще не установилось.

Все же хотелось бы вернуться к атмел.

Возможно сгенерированный код вообще не рассчитан на stk200?

Если так, то придется урок 8 перенести CVAVR?

Но там проблема с n5110.h , конкретно с объявленными библиотеками pgmspace.h и interrupt.h, а так же ругается на строку PROGMEM.

Кобзарь так хорошо все объяснил, показал, можно сказать завел и тут такой затык и никто толком не знает, как решить проблему

Так может вообще не пытаться?

Изменено пользователем MaxVest
Ссылка на комментарий
Поделиться на другие сайты

Покажите все-таки вывод avrdude и заодно командную строку, которой его запускаете.

Сгенерированному коду вообще без разницы чем его будут прошивать - по ISP через stk200, через JTAG, SWD или Bootloader. Он пишется для контроллера, а не для программатора. Чем cvavr не нравится прошивка, сгенерированная avr-gcc непонятно.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Странное поведение. Ладно, предлагаю попробовать шаманство: установить последнюю версию дудки (не графической оболочки, а самого консольного прошивальщика, естественно) и вбить строку вручную. Мало ли, ему заглавные буквы не нравятся. Ну и программатор точно на LPT1 висит, может его система на другой закинуть попыталась?

Честно говоря, с такими простыми программаторами дела не имел: сначала был покупной для COM-порта на контроллере AT90S2313, потом самоделки avrdoper-hid (usb). Так что шаманить по моим советам или нет дело ваше. Впрочем, повредить они тоже не должны. Хотя винда сама по себе такая штука что не знаешь где что аукнется.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Программатор точно на LPT, так как его видит CodeVision и прекрасно шьет. Попробую установить win 7, если машина потянет. В семерке кажется нет такого препона с доступом к LPT.

Но все же мне кажется, что код в АтмелСтудио скомпилирован не для работы, а для симуляции. Возможно я не прав- это только догадки.

После установки win7 поставлю 6 версию Атмел, а то 4 -я геморройная какая-то, строгостей больше и неудобная.

Если с avrdude номер не пройдет, т.е. придется отказаться от stk200, то какой программатор вы посоветуете приобрести для АtmelStudio(вылезает список программаторов при создании проекта или можно и сторонние)?

Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Многим 4-я версия Студии нравится больше остальных - в них какие-то косяки возникают. Авторитетно утверждать не могу, давно пользовался 4-й, а после нее ушел на чистый avr-gcc + makefile + avrdude. Впрочем, опять-таки, по слухам, Атмел Студия умеет использовать сторонние прошивальщики вроде той же дудки. Какой программатор тоже сложный вопрос: на avr910 от Протосса с avrdoper-cdc я столкнулся с проблемой сторонних драйверов на Win7 x64, из-за чего и перешел на avrdoper-hid, которому достаточно системных драйверов. Самый распространенный программатор - пожалуй, китайский usbasp (по схеме тот же avr910) либо avrisp-mk2 (этот вроде быстрее).

Но все же мне кажется, что код в АтмелСтудио скомпилирован не для работы, а для симуляции. Возможно я не прав- это только догадки.
*.elf действительно компилируется обычно с отладочной информацией (в avr-gcc это задается флагом -gdwarf-2), однако в контроллер прошивается *.hex-файл, который содержит только последовательность машинных инструкций.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

avrdoper-hid, которому достаточно системных драйверов. Самый распространенный программатор - пожалуй, китайский usbasp (по схеме тот же avr910) либо avrisp-mk2 (этот вроде быстрее).

******

, однако в контроллер прошивается *.hex-файл, который содержит только последовательность машинных инструкций.

Огромное спасибо, иначе червь сомнений выел бы меня изнутри.

_____________

Идет установка win7

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...