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