так наверно через терминал принимает,а показывает в окошке терминалаFreshMan писал(а):есть вот такая програмка.................., мне здесь непонятен смысл команды printf("Off");..........., где должнен печатать это слово ПК ???
CodeVision AVR в вопросах и ответах
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
В поисках истины человек развивается.
- Реклама
Re: CodeVision AVR в вопросах и ответах
да смотрел я уже эти книжки..., от лица начинающих скажу так: они не очень хороши т.к не разжовывают все по порядку и толково................, а для меня главное понять ПОЧЕМУ ЧТО-ТО ПРОИСХОДИТ ТАК А НЕ ИНАЧЕ, а в них этого нет..........., тобишь они ориентированны на более продвинутого пользователяChipKiller писал(а):..а погуглить тяжело?FreshMan писал(а):приведи полное название книжек, плиз
Евстифеев AVR, Лебедев AVR и сразу море ссылок....
Tell Me The Truth
- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
сам начинающий всю информации черпал из этих книжек, иногда более подробно искал на avrlab.com, а если хотите досконоально понимать тогда, как мне кажется, нужно изучать бейсик, а СИ очень даже толково там разжевано, мб не с первого раза все схватывается, но с 2-3 уже просветление =))да смотрел я уже эти книжки..., от лица начинающих скажу так: они не очень хороши т.к не разжовывают все по порядку и толково................, а для меня главное понять ПОЧЕМУ ЧТО-ТО ПРОИСХОДИТ ТАК А НЕ ИНАЧЕ, а в них этого нет..........., тобишь они ориентированны на более продвинутого пользователя
Радиолюбитель - Белов А. В. - Самоучитель разработчика устройств на микроконтроллерах AVR (+CD) [2008, DjVu, ISO, RUS]
Фрунзе А.В., Фрунзе А.А. - Микроконтроллеры? Это же просто! (в 4 томах) [2002-2008, DjVu, RUS]
Шпак Ю.А. - Программирование на языке C для AVR и PIC микроконтроллеров (2-е издание). CD к книге [2011, ISO, RUS]
http://rutracker.org/ тут много очень, в поиск задайте параметр"микроконтролелеры" книг и видеопособий море
Re: CodeVision AVR в вопросах и ответах
Подскажите, как и чем можно отследить изменение напряжения?
МК Attiny90S2313 читаю-читаю, вроде как для этого можно использовать аналоговый компаратор
в русском даташите написано
подкиньте, плз, простой примерчик или ссылку где посмотреть или почитать
МК Attiny90S2313 читаю-читаю, вроде как для этого можно использовать аналоговый компаратор
в русском даташите написано
но как это использовать не поймуАналоговый компаратор сравнивает входные напряжение на положительном входе PB0 (AIN0) и отрицательном входе (AIN1).
подкиньте, плз, простой примерчик или ссылку где посмотреть или почитать
-
Mr.Denis
- Прорезались зубы
- Сообщения: 220
- Зарегистрирован: Пт авг 07, 2009 22:06:49
- Откуда: Россия, Москва
Re: CodeVision AVR в вопросах и ответах
С новым годом друзья!!!)))))
Купил набор avr910 USB программатора, сейчас его собрал, а он не работает.(((
При попытки запрограммировать МК пишит: AVRProg error entering programming mode.
Подскажите что делать???
Купил набор avr910 USB программатора, сейчас его собрал, а он не работает.(((
При попытки запрограммировать МК пишит: AVRProg error entering programming mode.
Подскажите что делать???
STM32F4 Discovery + KEIL + Windows 7
- Реклама
-
Mr.Denis
- Прорезались зубы
- Сообщения: 220
- Зарегистрирован: Пт авг 07, 2009 22:06:49
- Откуда: Россия, Москва
Re: CodeVision AVR в вопросах и ответах
В окне настройки программатора выбрал:
Программатор: atmel AVRProg (910)
Номер порта: com4
Скорость: 19200
Схему проверил, вроде все нормально.
Может к программируемому мк кварц поставить?
Я его без кварца подключил.
Программатор: atmel AVRProg (910)
Номер порта: com4
Скорость: 19200
Схему проверил, вроде все нормально.
Может к программируемому мк кварц поставить?
Я его без кварца подключил.
STM32F4 Discovery + KEIL + Windows 7
Re: CodeVision AVR в вопросах и ответах
штудирую Си по Белову.............., в его учебнике есть вот таой пример,
мне не понятен смысл команды PORTB=rab^0xFF;
почему просто в данном случае нелзя присвоить регистру rab=0b01111111, а потом уже в теле цикла с помощью команды rab = rab >> 1 сдвигать первоначальное значение ?
зачем столько мороки ??????
мне не понятен смысл команды PORTB=rab^0xFF;
почему просто в данном случае нелзя присвоить регистру rab=0b01111111, а потом уже в теле цикла с помощью команды rab = rab >> 1 сдвигать первоначальное значение ?
Код: Выделить всё
while (1)
{
if (PIND.0==1) // Проверка состояния переключателя
{
rab = 0b10000000; // Сдвиг вправо
while (rab!=0)
{
PORTB=rab^0xFF; // Запись в порт с инверсией
rab = rab >> 1; // Сдвиг разрядов
delay_ms (200); // Задержка на 200 мсек
}
}
else
{
rab = 0b00000001; // Сдвиг влево
while (rab!=0)
{
PORTB=rab^0xFF; // Запись в порт с инверсией
rab = rab << 1; // Сдвиг разрядов
delay_ms (200); // Задержка на 200 мсек
}
}
};
}Tell Me The Truth
- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
вот про компаратор и схемы с описаниемgavrila писал(а):Подскажите, как и чем можно отследить изменение напряжения?
МК Attiny90S2313 читаю-читаю, вроде как для этого можно использовать аналоговый компаратор
в русском даташите написаноно как это использовать не поймуАналоговый компаратор сравнивает входные напряжение на положительном входе PB0 (AIN0) и отрицательном входе (AIN1).![]()
подкиньте, плз, простой примерчик или ссылку где посмотреть или почитать
http://easyelectronics.ru/avr-uchebnyj- ... atora.html
думаю будет полезна информация как дополнительно =)
http://easyelectronics.ru/avr-uchebnyj- ... atora.html
- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
могу предположить чтобы сохранить прошлое состояние битов на порту, когда меняется положение переключателяпочему просто в данном случае нелзя присвоить регистру rab=0b01111111, а потом уже в теле цикла с помощью команды rab = rab >> 1 сдвигать первоначальное значение ? зачем столько мороки ??????
-
Mr.Denis
- Прорезались зубы
- Сообщения: 220
- Зарегистрирован: Пт авг 07, 2009 22:06:49
- Откуда: Россия, Москва
Re: CodeVision AVR в вопросах и ответах
Mr.Denis писал(а):С новым годом друзья!!!)))))
Купил набор avr910 USB программатора, сейчас его собрал, а он не работает.(((
При попытки запрограммировать МК пишит: AVRProg error entering programming mode.
Подскажите что делать???
Неужели не кто не знает в чем проблемам?
STM32F4 Discovery + KEIL + Windows 7
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Проблема в программаторе полная лажа.Mr.Denis писал(а):Mr.Denis писал(а):С новым годом друзья!!!)))))
Купил набор avr910 USB программатора, сейчас его собрал, а он не работает.(((
При попытки запрограммировать МК пишит: AVRProg error entering programming mode.
Подскажите что делать???
Неужели не кто не знает в чем проблемам?
Купи не жмись нормальный собранный исп программатор.Или собери сам из пары микросхем.
А вы его программировали вообще?Там ведь контроллер его первоначально нужно запрограммировать!!!
Найди LPT порт и проверь.есть программы которые работают через него.пони прог или всякие такие.
из авр910 можно просто сделать usbASP говорят он работает.
А еще питание должно быть на целевой плате(той на которой программируемый микроконтроллер)
В поисках истины человек развивается.
Re: CodeVision AVR в вопросах и ответах
Добрый день. Всех с Новым Годом.
У меня возникла маленькая проблемка... поставил на ПК PCI-LPT карту, но нужный адрес программатора не могу поставить, что можете посоветовать Заранее спасибо!
У меня возникла маленькая проблемка... поставил на ПК PCI-LPT карту, но нужный адрес программатора не могу поставить, что можете посоветовать Заранее спасибо!
-
kotelectron
- Родился
- Сообщения: 7
- Зарегистрирован: Вт дек 20, 2011 13:33:46
Re: CodeVision AVR в вопросах и ответах
Здравствуйте. Всех с новым годом.
Помогите разобраться начинающему.
При написании программы активно использую локальные переменные. Настолько активно, что получил предупреждение о превышении установленного размера Data Stack.
Почему растет размер Data Stack? Я ведь добавляю локальные переменные, память для которых должна выделяться на время работы функции, а реально получается, что под ВСЕ локальные переменные программы в CV сразу выделена память.
Помогите разобраться начинающему.
При написании программы активно использую локальные переменные. Настолько активно, что получил предупреждение о превышении установленного размера Data Stack.
Почему растет размер Data Stack? Я ведь добавляю локальные переменные, память для которых должна выделяться на время работы функции, а реально получается, что под ВСЕ локальные переменные программы в CV сразу выделена память.
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
kotelectron писал(а):что под ВСЕ локальные переменные программы в CV сразу выделена память.
Если вы выполняете функцию хоть раз конечно будет для нее выделена память.
Есть способы нормировать расход, но для этого приведите код и тип МК который используете
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Вероятно это из-за большой вложенности используемых вами функций.
-
kotelectron
- Родился
- Сообщения: 7
- Зарегистрирован: Вт дек 20, 2011 13:33:46
Re: CodeVision AVR в вопросах и ответах
BCluster писал(а):BCluster
спасибоBerZerK-ku писал(а):BerZerK-ku
кажется разобрался. я использовал локальные константы (const), а они, как оказалось, всегда соохраняются в RAM.
локальные константы у меня большие массивы. вот и ответ - почему растет размер. вынес их в глобальные и объявил как flash.
я так понял Estimated Data Stack usage - это максимальное использование стека данных. т.е. компилятор просчитывает для всех функций размер выделяемой памяти при вызове и находит среди них максимальное значение. Estimated (ориентировочное) - т.к. могут возникать прерывания, для них еще потребуется выделение памяти. так? поправте меня пожалуйста.
мк tiny44
-
kotelectron
- Родился
- Сообщения: 7
- Зарегистрирован: Вт дек 20, 2011 13:33:46
Re: CodeVision AVR в вопросах и ответах
Код: Выделить всё
/*****************************************************
Chip type : ATtiny44
AVR Core Clock frequency: 8,000000 MHz
Memory model : Tiny
External RAM size : 0
Data Stack size : 64
*****************************************************/
#include <tiny44.h>
int gsumm1 = 0;
int gsumm2 = 0;
int gsumm3 = 0;
void func1(char chr1, char chr2)
{
int summ;
int s;
summ = chr1 + chr2;
summ /= 12;
gsumm1++;
gsumm2++;
gsumm3++;
s = gsumm1 + gsumm2 + gsumm3;
gsumm1 = s - summ;
}
void func2(char chr1, char chr2)
{
int summ;
int s;
summ = chr1 + chr2;
summ /= 12;
gsumm1++;
gsumm2++;
gsumm3++;
s = gsumm1 + gsumm2 + gsumm3;
gsumm2 = s - summ;
}
void main(void)
{
gsumm1=8;
gsumm2=23;
gsumm3=3;
func1(12,gsumm2);
if(gsumm3)func2(15,45);
while (1);
}
Chip: ATtiny44
Clock frequency: 8,000000 MHz
Memory model: Small
Optimize for: Size
(s)printf features: int, width
(s)scanf features: int, width
Promote 'char' to 'int': Yes
'char' is unsigned: Yes
global 'const' stored in FLASH: No
8 bit enums: Yes
Enhanced core instructions: Yes
Automatic register allocation: Yes
Smart register allocation: Yes
Build: 40
657 line(s) compiled
No errors
No warnings
Bit variables size: 0 byte(s)
Data Stack area: 0x60 to 0x9F
Data Stack size: 64 byte(s)
Estimated Data Stack usage: 6 byte(s)
RAM Global variables size: 0 byte(s)
Hardware Stack area: 0xA0 to 0x15F
Hardware Stack size: 192 byte(s)
Heap size: 0 byte(s)
EEPROM usage: 0 byte(s), 0,0% of EEPROM
Program size: 191 words (382 bytes), 9,3% of FLASH
объявлено 3 глобальных переменных типа int. Где для них выделено место? должно быть 6 байт под RAM Global variables size.
Если объявить как long, то память выделяется. почему?
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Поэкспериментируйте с отключенной оптимизацией. В IAR-e под переменные выделяется место.
Re: CodeVision AVR в вопросах и ответах
Люди помогите практическим примером, есть например число 12:34:56 нужно чтобы число 34 имело вид мигающего курсора...
Исходник приложил .
Спасибо.
Исходник приложил .
Спасибо.
- Вложения
-
- курсор.rar
- (55.96 КБ) 193 скачивания
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
в вашем исходнике неудобно данные расположеныGarin писал(а):Люди помогите практическим примером, есть например число 12:34:56 нужно чтобы число 34 имело вид мигающего курсора...
Исходник приложил .
Спасибо.
unsigned long int daTa=123456;
вот если бы было к примеру
unsigned long int daTa1=12, daTa2=34, daTa3=56;
ну или как вы их там сами назовете,
то можно было
//прерывание 0,5 секунд
Код: Выделить всё
if (kursor){
switch(kursor){
case 1 : if (data_show1){data_show1=00;}
else{data_show1=daTa1;}}
break;
case 2 : if (data_show2){data_show2=00;}
else{data_show2=daTa2;}}
break;
case 3 : if (data_show3){data_show3=00;}
else{data_show1=daTa1;}}
break;
defoult :break;
}//switch
}//if
Код: Выделить всё
while (1)
{
lcd_gotoxy(3,0);
lcd_putsf(" ");
lcd_putchar((daTashow1/10)%10+0x30);
lcd_putchar(daTashow1%10+0x30);
lcd_putsf(":");
lcd_putchar((daTashow2/10)%10+0x30);
lcd_putchar(daTashow2%10+0x30);
lcd_putsf(":");
lcd_putchar((daTashow3/10)%10+0x30);
lcd_putchar(daTashow3%10+0x30);
};
}
для первой пары,второй и третьей пары цифр соответственно.на остальные значения программа не обращает внимания
Убрать курсор -присваиваем курсор 0 и мигающей переменной реальное значение.
Ну как то так или как там сами додумаете
а еще есть где-то в дисплее курсор:) в виде подчеркивания только я не знаю как им пользоваться.
вроде команда есть setcursor(); или что-то вроде того.
В поисках истины человек развивается.


