Страница 324 из 421

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

Добавлено: Вт окт 28, 2014 20:20:06
kimi112
Pink-Pank, спасибо теперь работает

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

Добавлено: Вт окт 28, 2014 20:24:00
Pink-Pank
В знак благодарности дашь на Бехе погонять? ;)

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

Добавлено: Ср окт 29, 2014 05:43:51
kimi112
Pink-Pank писал(а):В знак благодарности дашь на Бехе погонять? ;)
как буду на ней проездом у Вас в США, ну или вы к нам в ХМАО :) , еще раз спасибо за помощь. Т.к. МК и электроника всего лишь хобби и хобби начатое всего пару лет назад, вот и возникаю такие ламерские и глупые вопросы.

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

Добавлено: Ср окт 29, 2014 19:17:10
kimi112
Ув. коты помогите еще с одной проблемой, расширил возможности данной программы для подключений трех разрядного индикатора и теперь возникла проблема, при выводе трех разрядного числа десятки пропадают, т. е. в переменной 123 на индикатор выводится 1-3.

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

Добавлено: Ср окт 29, 2014 22:04:55
WiseLord

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

/*выводим на индикаторы количество оборотов(витков)*/                
          number3=vitok%10; //выводим единицы 
          number2=vitok/10; //выводим десятки
          number1=vitok/100; //выводим сотни
Вопрос на засыпку: если vitok, например, равно 123, чему равен number2 и что будет выведено в этой позиции?

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

Добавлено: Ср окт 29, 2014 22:58:45
Pink-Pank
Засыпать не будем.

Обновил архив. Протеус как-то некорректно отрабатывал (-1). Заменил на 0xFF. Стало норм работать

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

Добавлено: Чт окт 30, 2014 01:02:41
yur4ik
Здравствуйте, такой вопрос надо массив типа char преобразовать к типу int. Знаю что есть atoi() вроде в стандартной библиотеке лежит но чет не находит ее компилятор, в какой библиотеке искать ее?
Все нашел в #include <stdlib.h>

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

Добавлено: Чт окт 30, 2014 07:12:14
pyzhman
А объявить как int? не?

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

Добавлено: Чт окт 30, 2014 07:47:52
WiseLord
Нет, тут человек, похоже, сформулировал некорректно. Похоже, ему нужно массив char-ов (строку типа "1234") привести к int (числу 1234).
Можно и atoi использовать, но часто использование функций из stdlib сильно увеличивает размер прошивки, поэтому, если размер прошивки критичен, то, возможно, лучшим вариантом было бы написать что-то своё для преобразования.

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

Добавлено: Чт окт 30, 2014 15:11:00
Vanes
:cry: :cry: :cry: Ребят может не в тот раздел обращаюсь прошу извинить если это так. Нужна помощь, совет , облазил весь инет, все поисковики, похожая тема есть тут на форуме но она заглохла. Я не могу разобраться с таким хитрым предметом как USI на ATinny2313. Пытался её настроить в режим SPI Code Vision мне просто настроил регистр USICR и все. Читал дата шит тоже не могу понять как в CodeVision этот USI в режиме SPI работает. Мне нужно отправит число на драйвер 7-сегментного индикатора. Помогите кто чем сможет, реально голова уже не варит. :o :o :o :o

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

Добавлено: Чт окт 30, 2014 20:27:57
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;
}

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

Добавлено: Чт окт 30, 2014 23:54:05
eduardo
Подскажите пожалуйста пример для для записи-чтения еепром. А то примеры в книге Лебедева как-то не вызывают доверия. Я читал
где-то,что надо сначала дождаться готовности еепром а потом произвести запись с указанием адресов ячеек.

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

Добавлено: Пт окт 31, 2014 00:34:54
ELcat
eeprom unsigned char Volume=5;
Вот вам пример объявления переменной, размещённой в EEPROM. Каждый раз, когда вы будете осуществлять с ней какие-либо действия, код, сгенерированный компилятором, автоматически будет извлекать и сохранять значение. Поаккуратнее с EEPROM, количество циклов записи в эту память конечно и реально составляет около 150 тыс. циклов (даташит гарантирует 100 тыс.). Так что для любых манипуляций используйте промежуточные переменные, например:
unsigned char Temp;
Temp=Volume; //Чтение из EEPROM
...//Какие-то действия с переменной Temp
Volume=Temp; //Сохранение в EEPROM

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

Добавлено: Пт окт 31, 2014 07:05:58
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 ???

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

Добавлено: Пт окт 31, 2014 11:32:20
uk8amk
Смотрим внимательно на реализацию функции
char SPI_rx(unsigned char data)
и думаем нафига там spi.h.

Чтобы отправить данные, надо поместить байт в USIDR, затем 8 раз дёрнуть биты USITC,USICLK и забрать полученный байт из USIDR(если это нужно).

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

Добавлено: Ср ноя 05, 2014 07:23:01
Vanes
Спасибо! понял. :)) буду пробовать.

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

Добавлено: Пт ноя 07, 2014 18:46:50
ELcat
Приветствую!
Вопрос, возможно, немного не по теме.
Нужна следящая функция управления некой физической величиной. На входе две величины типа unsigned int (заданное и измеренное значения параметра), на выходе значение типа unsigned char (скважность), которое будет преобразовываться в ШИМ и подаваться на объект управления. Время отклика объекта управления будет порядка 20мс (аналоговый интегратор сигнала ШИМ) + около 0,6мс - время измерения параметра. Дайте, пожалуйста, пример реализации чего-нибудь подобного для CV AVR.

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

Добавлено: Пт ноя 07, 2014 20:02:32
Timebird
Вопрос нуля и абсолютного новичка-идиота - имеется ME EasyAVR5a - какой компилятор лучше подобрать под эту плату и как сконнектить комп. с платой?

Понимаю, что вопрос очень очевидный, но ввиду первой платы в жизни плохо понимаю сам процесс коннетинга платы с компом.
Имеется Win7 и MacOS, приоритет в сторону последнего.

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

Добавлено: Сб ноя 08, 2014 20:13:33
Timebird
Спасибо radiokot, компилятор скачан, плата подключена. Теперь вопрос - как запускать на плате программы? Мной был скачан компилятор С-ный и Паскаль, готовые примеры программ на Паскале в формате .hex, но при выборе соответствующего кристалла (Аtmega164P) в AVRFlash и попытках воспроизвести программу ничего не происходит. Только процесс идет: от 0% до ста, на самой же плате ничего. В чем может быть дело? Пытался сделать сброс - не помогло. Помогите пожалуйста.

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

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