Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
gonzales06
Встал на лапы
Сообщения: 87
Зарегистрирован: Сб сен 01, 2007 18:32:42
Откуда: Санкт-Петербург
Контактная информация:

Сообщение gonzales06 »

Здраствуйте, так на ЖК ни чего не вывел.
Подсоединил к порту В (вместе со светодиодами)
PB0-4pinLcd
PB1-5
PB2-6
3----
4-11
5-12
6-13
7-14

Открыл в CVAVR:
- Wizard:
- установил Chip ATTiny 2313V 10.0MGh
-LCD 12 port B
-сгенерировал проект
На Си программа такая:
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.7a Evaluation
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 07.10.2007
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:


Chip type : ATtiny2313V
Clock frequency : 10,000000 MHz
Memory model : Tiny
External SRAM size : 0
Data Stack size : 32
*****************************************************/

#include <tiny2313>

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd>

// Declare your global variables here

void main(void)
{
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// LCD module initialization
lcd_init(12);
lcd_gotoxy(0,0);
lcd_putsf("1235");
while (1)
{
// Place your code here

};
}

Проошил:
загорелись 4-диода (при включении минают)
На ЖК высвечиваются квадраты в 2-х строках, меня контрастность результат тод же

Включал и выключал порт В, не помогло, менял частоту, сами мк заменял, не получается.
Аватара пользователя
Piroman17
Грызет канифоль
Сообщения: 296
Зарегистрирован: Пт янв 12, 2007 17:16:35
Откуда: Дубна
Контактная информация:

Сообщение Piroman17 »

О, да я с этим сталкивался! У тебя провода к ЖК не перепутаны, между собой не контачат??? Всё дело в качестве сборки!
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.
Аватара пользователя
moLCHec
Мявтор!
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.
Контактная информация:

Сообщение moLCHec »

gonzales06
Включи мозг
PORTB=0x00;
DDRB=0x00;
это что такое, порт на вход настроил с чего на нём пины дёргаться будут.
говорил же
DDRB=0xff;
Настоящий кот всегда либо голоден,
либо невыспался ...
Аватара пользователя
gonzales06
Встал на лапы
Сообщения: 87
Зарегистрирован: Сб сен 01, 2007 18:32:42
Откуда: Санкт-Петербург
Контактная информация:

Сообщение gonzales06 »

Да я менял DDRB на 0xff. не помогло, заново перепоял проводки, все правильно. Не знаю что и делать
Аватара пользователя
Piroman17
Грызет канифоль
Сообщения: 296
Зарегистрирован: Пт янв 12, 2007 17:16:35
Откуда: Дубна
Контактная информация:

Сообщение Piroman17 »

попробуй после lcd_init(12); сделать неболшую паузу, ну типа delay_ms(100); может LCD не успевает за контроллером. :idea:
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

moLCHec писал(а):PORTB=0x00;
DDRB=0x00; это что такое,

порт на вход настроил с чего на нём пины дёргаться будут.


C того что lcd_init(12); настраивает пины как надо.

moLCHec писал(а):Включи мозг


Включите вы для примера.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
gonzales06
Встал на лапы
Сообщения: 87
Зарегистрирован: Сб сен 01, 2007 18:32:42
Откуда: Санкт-Петербург
Контактная информация:

Сообщение gonzales06 »

Ура!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Получилось.
Почему не знаю, просто перетаркивал питание, пошел покурить встаил и все заработало всем спасибо большое за помощь и поддержку, буду далее продолжать проект по тахометру.
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

с CVAVR обычно всё работает при правильном монтаже и исправных компонентах.

Хоть заработало но проверь еще раз все соединения, пайку. А то так же неожидано потухнек как нибудь после перекура.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
Пожиратель AVR
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт янв 11, 2007 12:14:33
Контактная информация:

Сообщение Пожиратель AVR »

Есть такая проблема при компиляцыи в WINAVR вылазит вот такая ошибка :

-------- begin --------
avr-gcc (GCC) 4.1.2
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

make.exe: *** No rule to make target `SV1.elf', needed by `elf'. Stop.

> Process Exit Code: 2


Я сам вроде знаю что эта ошибка значит , что неправильно написал название в загаловке макфайла.

# Target file name (without extension).
TARGET = SV1


# Object files directory
# To put object files in current directory, use a dot (.), do NOT make
# this an empty or blank macro!
OBJDIR = .


# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c C:/Работы/SV1.c


# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =


немогу понять почему он выдает такую ощибку хотя я все правильно написал ?
Аватара пользователя
moLCHec
Мявтор!
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.
Контактная информация:

Сообщение moLCHec »

tych
Во первых что там в инициализации делается не видно, в нормальных библиотеках для обеспечения совместимости порт настраивают отдельно от библиотечных функций.
Во вторых если человек пишет такое не зная что там в инициализации то это явно выказывает непонимание того что он делает, а если ему и ведомо что порт в функции на выход устанавливается то это ещё более наводит на мысль о непонимании своих действи и их последствий.
ВОТ.
Эсли доводы не убедительны и хочется попарировать, пожалуста в личку и асю.
Настоящий кот всегда либо голоден,
либо невыспался ...
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

moLCHec писал(а):tych
Во первых что там в инициализации делается не видно.


Вы в таких случаях говорите - включите мозги !

Я так не говорю, а просто сообщаю что

ВСЁ видно в АСМ листинге. При этом АСМ привязан к коду на Си - так что всё предельно ясно туму кто интересуется.

moLCHec писал(а): Во вторых если человек пишет такое не зная что там в инициализации то это явно выказывает непонимание того что он делает


Вот он и учится что бы понимать. И правильно делает что не стесняется спросить.

А вы два раза ему чушь советовали тоже не зная что делает его компилятор. Т.е. делали именно вот это:
moLCHec писал(а): если человек пишет такое не зная что там в инициализации то это явно выказывает непонимание того что он делает


Причем второй раз советовали эту чушь уже ПОСЛЕ того как я написал что CVAVR сам настраивает выводы для LCD.

И указал конкретную папку компилятора с примером кода !
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
Пожиратель AVR
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт янв 11, 2007 12:14:33
Контактная информация:

Сообщение Пожиратель AVR »

Что неуково таких ошибок компилятор невыдавал чтоли?
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Пожиратель AVR писал(а):Что неуково таких ошибок компилятор невыдавал чтоли?


Если резюмировать эту аглицкую абру-кадабру то возможно получится что-то типа "используйте CVAVR" :lol: - всего 2.2 Мб "весом".
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
gonzales06
Встал на лапы
Сообщения: 87
Зарегистрирован: Сб сен 01, 2007 18:32:42
Откуда: Санкт-Петербург
Контактная информация:

Сообщение gonzales06 »

Не могау понять в чем ошибка фунуции: string.h
При компиляции вот такой проги:
#include <tiny2313>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd>
#include <string>
#include <delay>
char buffer [64];
char Temp;
// Declare your global variables here
void main(void)
{
// LCD module initialization
lcd_init(12);
while (1)
{
Temp=0;
Temp++;
sprintf(buffer, "%3d",Temp);
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(buffer);
delay_ms(1000);
};
}
CVAVR выдает ошибку (L46:undefined symbol 'sprintf')
Задача простая вывод значения переменной Temp на ЖК, в десятичной форме.
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

gonzales06 писал(а):Не могау понять в чем ошибка фунуции: string.h

CVAVR выдает ошибку (L46:undefined symbol 'sprintf')


Советую прочитать книги по Си или хотя бы курс стр.5 под "www" - "Си для МК" - структура программы на Си в CVAVR.

У вас не хватает заголовочного файла
и существующие написаны почему то без .h

На первой стр. курса написано как найти в папке CVAVR (или любой другой) то что относится к интересующему вас - в данном случает это слово sprintf - найдите и первый результат посика это то что вам нужно.

Не читая вы врядли научитесь ИМХО.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
gonzales06
Встал на лапы
Сообщения: 87
Зарегистрирован: Сб сен 01, 2007 18:32:42
Откуда: Санкт-Петербург
Контактная информация:

Сообщение gonzales06 »

void main(void)
{
Temp=0;
Temp++;
sprintf(buffer, "%3d",Temp);
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(buffer);
delay_ms(1000);
// LCD module initialization
lcd_init(12);
}
А вот так работает.
Аватара пользователя
gonzales06
Встал на лапы
Сообщения: 87
Зарегистрирован: Сб сен 01, 2007 18:32:42
Откуда: Санкт-Петербург
Контактная информация:

Сообщение gonzales06 »

Спасибо с прогой разобрался а вот памяти по нее не хватило у тини 2313 :cry:
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

По тому как sprintf много потребляет. Выводите способами описаными в задаче 5 курса без sprintf и printf
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
moLCHec
Мявтор!
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.
Контактная информация:

Сообщение moLCHec »

УЖ не знаю что там у tych, но я всегда в таких случаях делаю так
itoa(*buf, int value, int base);
где *buf буффер
value переменная
base модуль счёта, в твоём случае 10
Если переменая беззнаковая то можно менее прожорливую
utoa(*buf, int value, int base);
для уменшения кода также рекомендую по возможности снизить номенклатуру функций.
Настоящий кот всегда либо голоден,
либо невыспался ...
Аватара пользователя
gonzales06
Встал на лапы
Сообщения: 87
Зарегистрирован: Сб сен 01, 2007 18:32:42
Откуда: Санкт-Петербург
Контактная информация:

Сообщение gonzales06 »

Купил, Mega 8L, чтобы на все хватала памяти.
Возникла другая проблема, не прошивается.
Устройство, прошиваю с помощью 5-ти проводков, с Tiny, разобрался проблем не было.
С Mega 8L при попытки чтения, прошивки CVAVR пишит:
-Chip Signature mismatch
Red: Byte0=FFh Byte1=FFh Byte2=FFh
Must be:Byte0=1Eh Byte1=93h Byte2=07h
У меня устройство, работает от внешнего кварца на 8 МГц, прочитал что надо менять фьюзы, чтобы его подключить а конкретно я поставил галочку на SUT1=0
Ответить

Вернуться в «Разные вопросы по МК»