CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
kimi112
Встал на лапы
Сообщения: 122
Зарегистрирован: Ср окт 30, 2013 16:05:54
Откуда: ХМАО. Когалым

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

Сообщение kimi112 »

Pink-Pank, спасибо теперь работает
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

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

Сообщение Pink-Pank »

В знак благодарности дашь на Бехе погонять? ;)
Fucking static initialization order fiasco
Аватара пользователя
kimi112
Встал на лапы
Сообщения: 122
Зарегистрирован: Ср окт 30, 2013 16:05:54
Откуда: ХМАО. Когалым

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

Сообщение kimi112 »

Pink-Pank писал(а):В знак благодарности дашь на Бехе погонять? ;)

как буду на ней проездом у Вас в США, ну или вы к нам в ХМАО :) , еще раз спасибо за помощь. Т.к. МК и электроника всего лишь хобби и хобби начатое всего пару лет назад, вот и возникаю такие ламерские и глупые вопросы.
Аватара пользователя
kimi112
Встал на лапы
Сообщения: 122
Зарегистрирован: Ср окт 30, 2013 16:05:54
Откуда: ХМАО. Когалым

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

Сообщение kimi112 »

Ув. коты помогите еще с одной проблемой, расширил возможности данной программы для подключений трех разрядного индикатора и теперь возникла проблема, при выводе трех разрядного числа десятки пропадают, т. е. в переменной 123 на индикатор выводится 1-3.
Вложения
счетчик.rar
(18.78 КБ) 125 скачиваний
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Код: Выделить всё

/*выводим на индикаторы количество оборотов(витков)*/                
          number3=vitok%10; //выводим единицы
          number2=vitok/10; //выводим десятки
          number1=vitok/100; //выводим сотни

Вопрос на засыпку: если vitok, например, равно 123, чему равен number2 и что будет выведено в этой позиции?
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

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

Сообщение Pink-Pank »

Засыпать не будем.

Обновил архив. Протеус как-то некорректно отрабатывал (-1). Заменил на 0xFF. Стало норм работать
Вложения
счетчик.rar
(95.91 КБ) 151 скачивание
Последний раз редактировалось Pink-Pank Чт окт 30, 2014 09:16:15, всего редактировалось 1 раз.
Fucking static initialization order fiasco
Аватара пользователя
yur4ik
Вымогатель припоя
Сообщения: 613
Зарегистрирован: Сб окт 17, 2009 18:56:05
Откуда: РФ, Башкортостан г.Сибай
Контактная информация:

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

Сообщение yur4ik »

Здравствуйте, такой вопрос надо массив типа char преобразовать к типу int. Знаю что есть atoi() вроде в стандартной библиотеке лежит но чет не находит ее компилятор, в какой библиотеке искать ее?
Все нашел в #include <stdlib.h>
Нельзя всё знать, достаточно понимать.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

А объявить как int? не?
Docendo discimus
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Нет, тут человек, похоже, сформулировал некорректно. Похоже, ему нужно массив char-ов (строку типа "1234") привести к int (числу 1234).
Можно и atoi использовать, но часто использование функций из stdlib сильно увеличивает размер прошивки, поэтому, если размер прошивки критичен, то, возможно, лучшим вариантом было бы написать что-то своё для преобразования.
Аватара пользователя
Vanes
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт июл 08, 2014 14:27:38
Откуда: Славянск-на-Кубани

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

Сообщение Vanes »

:cry: :cry: :cry: Ребят может не в тот раздел обращаюсь прошу извинить если это так. Нужна помощь, совет , облазил весь инет, все поисковики, похожая тема есть тут на форуме но она заглохла. Я не могу разобраться с таким хитрым предметом как USI на ATinny2313. Пытался её настроить в режим SPI Code Vision мне просто настроил регистр USICR и все. Читал дата шит тоже не могу понять как в CodeVision этот USI в режиме SPI работает. Мне нужно отправит число на драйвер 7-сегментного индикатора. Помогите кто чем сможет, реально голова уже не варит. :o :o :o :o
Изображение Истина где то рядом :-)
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

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

Сообщение uk8amk »

Attiny2313 USI
Связывался с SPI чипом памяти.
Может чем поможет:

Код: Выделить всё

#define SHIFT (1<<USIWM0)|(0<<USICS0)|(1<<USITC)|(1<<USICLK)  
#define STROB (1<<USIWM0)|(0<<USICS0)|(1<<USITC)

// Universal Serial Interface initialization
// Mode: Three Wire (SPI)
// Clock source: Register & Counter=USICLK
// USI Counter Overflow Interrupt: Off
USICR=0x12;

char SPI_rx(unsigned char data)
{
char i;

USIDR=data;
for(i=0;i<8;i++)
        {
        USICR=STROB;
        USICR=SHIFT;
        };
return USIDR;
}
eduardo
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Вс июн 17, 2012 16:32:42

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

Сообщение eduardo »

Подскажите пожалуйста пример для для записи-чтения еепром. А то примеры в книге Лебедева как-то не вызывают доверия. Я читал
где-то,что надо сначала дождаться готовности еепром а потом произвести запись с указанием адресов ячеек.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

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

Сообщение ELcat »

eeprom unsigned char Volume=5;
Вот вам пример объявления переменной, размещённой в EEPROM. Каждый раз, когда вы будете осуществлять с ней какие-либо действия, код, сгенерированный компилятором, автоматически будет извлекать и сохранять значение. Поаккуратнее с EEPROM, количество циклов записи в эту память конечно и реально составляет около 150 тыс. циклов (даташит гарантирует 100 тыс.). Так что для любых манипуляций используйте промежуточные переменные, например:
unsigned char Temp;
Temp=Volume; //Чтение из EEPROM
...//Какие-то действия с переменной Temp
Volume=Temp; //Сохранение в EEPROM
Аватара пользователя
Vanes
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт июл 08, 2014 14:27:38
Откуда: Славянск-на-Кубани

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

Сообщение Vanes »

uk8amk писал(а):Attiny2313 USI
Связывался с SPI чипом памяти.
Может чем поможет:

    Код: Выделить всё

    #define SHIFT (1<<USIWM0)|(0<<USICS0)|(1<<USITC)|(1<<USICLK)  
    #define STROB (1<<USIWM0)|(0<<USICS0)|(1<<USITC)

    // Universal Serial Interface initialization
    // Mode: Three Wire (SPI)
    // Clock source: Register & Counter=USICLK
    // USI Counter Overflow Interrupt: Off
    USICR=0x12;

    char SPI_rx(unsigned char data)
    {
    char i;

    USIDR=data;
    for(i=0;i<8;i++)
            {
            USICR=STROB;
            USICR=SHIFT;
            };
    return USIDR;
    }
ТЫ заголовочный файл <spi.h> подключал? Я так понимаю что бы отправить данные нужно нужно их поместить в USIDR ???
Изображение Истина где то рядом :-)
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

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

Сообщение uk8amk »

Смотрим внимательно на реализацию функции
char SPI_rx(unsigned char data)
и думаем нафига там spi.h.

Чтобы отправить данные, надо поместить байт в USIDR, затем 8 раз дёрнуть биты USITC,USICLK и забрать полученный байт из USIDR(если это нужно).
Аватара пользователя
Vanes
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт июл 08, 2014 14:27:38
Откуда: Славянск-на-Кубани

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

Сообщение Vanes »

Спасибо! понял. :)) буду пробовать.
Изображение Истина где то рядом :-)
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

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

Сообщение ELcat »

Приветствую!
Вопрос, возможно, немного не по теме.
Нужна следящая функция управления некой физической величиной. На входе две величины типа unsigned int (заданное и измеренное значения параметра), на выходе значение типа unsigned char (скважность), которое будет преобразовываться в ШИМ и подаваться на объект управления. Время отклика объекта управления будет порядка 20мс (аналоговый интегратор сигнала ШИМ) + около 0,6мс - время измерения параметра. Дайте, пожалуйста, пример реализации чего-нибудь подобного для CV AVR.
Timebird
Родился
Сообщения: 2
Зарегистрирован: Сб окт 25, 2014 12:37:22

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

Сообщение Timebird »

Вопрос нуля и абсолютного новичка-идиота - имеется ME EasyAVR5a - какой компилятор лучше подобрать под эту плату и как сконнектить комп. с платой?

Понимаю, что вопрос очень очевидный, но ввиду первой платы в жизни плохо понимаю сам процесс коннетинга платы с компом.
Имеется Win7 и MacOS, приоритет в сторону последнего.
Timebird
Родился
Сообщения: 2
Зарегистрирован: Сб окт 25, 2014 12:37:22

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

Сообщение Timebird »

Спасибо radiokot, компилятор скачан, плата подключена. Теперь вопрос - как запускать на плате программы? Мной был скачан компилятор С-ный и Паскаль, готовые примеры программ на Паскале в формате .hex, но при выборе соответствующего кристалла (Аtmega164P) в AVRFlash и попытках воспроизвести программу ничего не происходит. Только процесс идет: от 0% до ста, на самой же плате ничего. В чем может быть дело? Пытался сделать сброс - не помогло. Помогите пожалуйста.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

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

Сообщение ELcat »

В данной теме рассматривается работа в CV AVR, его и качайте. Что есть что и для чего на вашей плате прочитаете в документации, которую найдёте по ссылке, сброшенной вам в ЛС. Весь необходимый софт найдёте там же. Если хотите узнать как написать свою первую программу - начните читать книжку А.В.Белова. Судя по вашему первому сообщению, данная книга вам подойдёт идеально. Многие из здесь присутствующих стартовали именно с неё. Если в ходе прочтения будут возникать какие-то вопросы - задавайте их здесь. На данный момент у вас пока нет понимания, что к вам попало в руки и вы даже не можете сформулировать конкретный вопрос.
Ответить

Вернуться в «AVR»