AVR studio в вопросах и ответах
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Поздравляю, avreal , ваше сообщение номером 666
и как раз какие то заклинания в коде 
В поисках истины человек развивается.
Re: AVR studio 4 в вопросах и ответах
avreal спасибо!
Скачал pin_macros.h, подключил, попробовал вставить пару строк из Вашего примера - не ругается )))
ON(LED_YEL); - это как раз то что я и хотел. Я в неявном виде писал что на авр-ассемблере не писал, а писал для MCS-51. Я сейчас в командировке, тех программ под рукой нет, но (по памяти) выглядело примерно так:
назначаем такому-то пину такого порта имя, например LED_YEL и далее setb LED_YEL или clr LED_YEL. Может я что-то не совсем так пишу, давно не писал в нём, но смысл такой.
По-моему как-то красивее того, что не нравится мне.
Спасибо всем.
Я удовлетворён, пойду понюхаю валерьянки
ЗЫ Кто-то может иронизировать по поводу размера моих программ, но, я считаю, несколько тысяч строк а ассемблере - не так и мало.
Скачал pin_macros.h, подключил, попробовал вставить пару строк из Вашего примера - не ругается )))
ON(LED_YEL); - это как раз то что я и хотел. Я в неявном виде писал что на авр-ассемблере не писал, а писал для MCS-51. Я сейчас в командировке, тех программ под рукой нет, но (по памяти) выглядело примерно так:
назначаем такому-то пину такого порта имя, например LED_YEL и далее setb LED_YEL или clr LED_YEL. Может я что-то не совсем так пишу, давно не писал в нём, но смысл такой.
По-моему как-то красивее того, что не нравится мне.
Спасибо всем.
Я удовлетворён, пойду понюхаю валерьянки
ЗЫ Кто-то может иронизировать по поводу размера моих программ, но, я считаю, несколько тысяч строк а ассемблере - не так и мало.
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Re: AVR studio 4 в вопросах и ответах
решил поковырять проект вольтметра на дисплее о нокии1202 http://we.easyelectronics.ru/letni/esch ... -dnya.html
но не могу скомпилировать проект выдает ошибку:
C:\lcd1\default/../lcd1.c:32: undefined reference to `lcd_ledon'
C:\lcd1\default/../lcd1.c:33: undefined reference to `lcd_init'
и т.д. типа либу lcd1202.h вроде как не видит о в проект она вставлена.

но не могу скомпилировать проект выдает ошибку:
C:\lcd1\default/../lcd1.c:32: undefined reference to `lcd_ledon'
C:\lcd1\default/../lcd1.c:33: undefined reference to `lcd_init'
и т.д. типа либу lcd1202.h вроде как не видит о в проект она вставлена.

- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Это что за картинка?Перезалейте, сжатие не удалось.Ничего не видно.
Может нужно вместо
написать
???
Может нужно вместо
Код: Выделить всё
# include < lcd1202.h> написать
Код: Выделить всё
# include "lcd1202.h" В поисках истины человек развивается.
Re: AVR studio 4 в вопросах и ответах
Последний раз редактировалось mastech Пн авг 20, 2012 13:23:05, всего редактировалось 1 раз.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: AVR studio 4 в вопросах и ответах
Спойлер

[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- U235
- Встал на лапы
- Сообщения: 135
- Зарегистрирован: Вт фев 21, 2012 20:42:26
- Откуда: Санкт-Петербург, Россия, Земля
Re: AVR studio 4 в вопросах и ответах
mastech писал(а):...не могу скомпилировать проект выдает ошибку:
C:\lcd1\default/../lcd1.c:32: undefined reference to `lcd_ledon'
C:\lcd1\default/../lcd1.c:33: undefined reference to `lcd_init'
и т.д. типа либу lcd1202.h вроде как не видит о в проект она вставлена.
Это сообщение о ошибке не компиляции, а сборки программы. То есть Вы подключили к проекту lcd1202.h с объявлениями функций, а lcd1202.c, где эти функции реализованы, не подключили. Вот компилятор и не знает где их взять.
А из наших труб идет необычный дым. Стой! Опасная зона! Работа мозга!...
Re: AVR studio 4 в вопросах и ответах
хм но lcd1202.c находится в одной паке с lcd1202.h и как ее подключать, она разве не автоматом находится?
е
прикрутил ее как #include "lcd/lcd1202.c" вроде пошло но теперь ругается на задержки
c:\program files\atmel\avr tools\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h:152:28: error: __builtin_avr_delay_cycles expects an integer constant.

е
прикрутил ее как #include "lcd/lcd1202.c" вроде пошло но теперь ругается на задержки
c:\program files\atmel\avr tools\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h:152:28: error: __builtin_avr_delay_cycles expects an integer constant.
Последний раз редактировалось mastech Пн авг 20, 2012 14:05:36, всего редактировалось 1 раз.
- U235
- Встал на лапы
- Сообщения: 135
- Зарегистрирован: Вт фев 21, 2012 20:42:26
- Откуда: Санкт-Петербург, Россия, Земля
Re: AVR studio 4 в вопросах и ответах
mastech писал(а):как ее подключать, она разве не автоматом находится?
Нет, автоматом оно не подключается. В левом окне студии (AVR GCC) на папке "source files" щёлкаете левой кнопкой мышки. В появившемся меню выбираете "add file". Откроется окошко "выбор файла", в нём нажимаете на нужный файл.
А из наших труб идет необычный дым. Стой! Опасная зона! Работа мозга!...
Re: AVR studio 4 в вопросах и ответах
поправил ка Вы подсказали стало норм, только ошибка с задержками не ушла
- U235
- Встал на лапы
- Сообщения: 135
- Зарегистрирован: Вт фев 21, 2012 20:42:26
- Откуда: Санкт-Петербург, Россия, Земля
Re: AVR studio 4 в вопросах и ответах
Оно и будет ругаться. Задежка используется не правильно. В файле lcd1202.c надо заменить все вызовы lcd_delay_ms на _delay_ms. И удалить саму функцию lcd_delay_ms вместе с её объявлением.
Примерно так:
Примерно так:
Спойлер
Код: Выделить всё
#include "lcd1202.h"
#include "font.h"
//#include "fnt_libera_24x14.xbm"
// #include "fnt_terminus_24x14.xbm"
void lcd_init_gpio(void);
void lcd_reset(void);
void lcd_write_byte(unsigned char data, unsigned char rc);
static void lcd_set_row(unsigned char row);
static void lcd_set_col(unsigned char col);
struct {
int inverse:1;
} flags;
/* hw undepended functions */
void lcd_init(void)
{
lcd_init_gpio();
lcd_reset();
lcd_write_byte(0xE2, 0); // Reset
_delay_ms(10);
lcd_write_byte(0xA4, 0); // Power saver off
lcd_write_byte(0x2F, 0); // Power control set
lcd_write_byte(0xAF, 0); // LCD display on
lcd_clr();
flags.inverse = 0;
}
void lcd_clr(void)
{
int i;
lcd_home();
for(i=0; i<16*6*9; i++)
{
lcd_write_byte(0x00, 1);
}
}
/*
void lcd_big_char(unsigned char row, unsigned char col, unsigned char chr)
{
// unsigned char* f0 = fnt_terminus_24x14_bits + chr*14*(24/8);
unsigned char* f0 = fnt_libera_24x14_bits + chr*14*(24/8);
unsigned char* f;
unsigned char r, c;
unsigned char ch;
for(r = 0; r<3; r++)
{
f = f0 + r;
lcd_set_row(row+r);
lcd_set_col(col);
for(c = 0; c<14; c++)
{
ch = *f;
if(flags.inverse) ch = ch ^ 0xFF;
lcd_write_byte(ch, 1);
f += 3;
}
}
}
*/
void lcd_pos(unsigned char row, unsigned char col)
{
lcd_set_row(row);
lcd_set_col(col*6);
}
void lcd_char(unsigned char c)
{
unsigned char line;
unsigned char ch;
unsigned char* f = &(font6_8[c-32]);
for(line=0;line<6;line++)
{
ch = *f++;
if(flags.inverse) ch = ch ^ 0xFF;
lcd_write_byte(ch, 1);
}
}
void lcd_str(unsigned char* str)
{
unsigned char c;
while((c = *str) != 0)
{
lcd_char(c);
str++;
}
}
void lcd_inverse(char flag)
{
flags.inverse = flag;
}
void lcd_reverse(unsigned char inv)
{
if(inv)
lcd_write_byte(0xA7, 0); // reverse display
else
lcd_write_byte(0xA6, 0); // normal display
}
void lcd_start_line(unsigned char line)
{
lcd_write_byte(0x40 | (line & 0x3F), 0);
}
void lcd_home(void)
{
lcd_write_byte(0xB0, 0); // Page address set
lcd_write_byte(0x10, 0); // Sets the DDRAM column address - upper 3-bit
lcd_write_byte(0x00, 0); // lower 4-bit
}
static void lcd_set_row(unsigned char row)
{
lcd_write_byte(0xB0 | (row & 0x0F), 0); // Page address set
}
static void lcd_set_col(unsigned char col)
{
lcd_write_byte(0x10 | (col>>4), 0); // Sets the DDRAM column address - upper 3-bit
lcd_write_byte(0x00 | (col & 0x0F), 0); // lower 4-bit
}
/* MCU Hardware depend functions */
/* Atmega8 */
#define lcd_port PORTD
#define lcd_sclk 2
#define lcd_sda 3
#define lcd_nrst 5
#define lcd_ncs 4
#define lcd_led 6
#define lcd_rst_mark() lcd_port&=~(1<<lcd_nrst)
#define lcd_rst_release() lcd_port|=(1<<lcd_nrst)
#define lcd_cs_mark() lcd_port&=~(1<<lcd_ncs)
#define lcd_cs_release() lcd_port|=(1<<lcd_ncs)
void lcd_ledon(void)
{
lcd_port|=(1<<lcd_led);
}
void lcd_ledoff(void)
{
lcd_port&=~(1<<lcd_led);
}
void lcd_init_gpio(void)
{
DDRD|=(1<<lcd_sclk)|(1<<lcd_sda)|(1<<lcd_nrst)|(1<<lcd_ncs)|(1<<lcd_led);
lcd_port|=(1<<lcd_ncs)|(1<<lcd_nrst);
_delay_ms(10);
}
void lcd_reset(void)
{
lcd_rst_mark();
_delay_ms(10);
lcd_rst_release();
_delay_ms(10);
}
void lcd_write_byte(unsigned char data, unsigned char rc)
{
lcd_cs_mark();
if(rc) lcd_port|=(1<<lcd_sda);
else lcd_port&=~(1<<lcd_sda);
lcd_port|=(1<<lcd_sclk);
_delay_us(10);
lcd_port&=~(1<<lcd_sclk);
_delay_us(10);
int i;
for(i=0; i<8; i++)
{
if(data & 0x80) lcd_port|=(1<<lcd_sda);
else lcd_port&=~(1<<lcd_sda);
data <<= 1;
lcd_port|=(1<<lcd_sclk);
_delay_us(10);
lcd_port&=~(1<<lcd_sclk);
_delay_us(10);
}
lcd_cs_release();
}
А из наших труб идет необычный дым. Стой! Опасная зона! Работа мозга!...
Re: AVR studio 4 в вопросах и ответах
убрал lcd с задержек все скомпилировалось,приеду с работы опробую. преогромнейшее спасибо). вот только вопрос как так получилось с задержками или это умышленно сделано?
- U235
- Встал на лапы
- Сообщения: 135
- Зарегистрирован: Вт фев 21, 2012 20:42:26
- Откуда: Санкт-Петербург, Россия, Земля
Re: AVR studio 4 в вопросах и ответах
Пожалуста
С задержками скорее всего из-за невнимательности. У меня такое частенько бывает)
С задержками скорее всего из-за невнимательности. У меня такое частенько бывает)
А из наших труб идет необычный дым. Стой! Опасная зона! Работа мозга!...
Re: AVR studio 4 в вопросах и ответах
Подскажите пожалуйста,какие галочки поставить и какие убрать в AVR Studio V4.13
Буржуин выложил вот эти,но не все понятно в версии 4,13
The fuse settings for the ATTINY45 were as follows (for AVR STUDIO):
BODLEVEL 2.7V
EESAVE not preserved
WDTON disabled
SPIEN enabled
DWEN enabled
RSTDISBL enabled
-> which equals 0xdd
CKSEL hf pll (0001)
SUT 1..0 bod enabled fast rise
CKOUT disabled
CKDIV8 disabled
-> which equals 0xe1
(this was taken from the EasyLogger data files)
ссылка на девайс.
(http://yveslebrac.blogspot.com/2008/10/ ... alaxy.html)
Буржуин выложил вот эти,но не все понятно в версии 4,13
The fuse settings for the ATTINY45 were as follows (for AVR STUDIO):
BODLEVEL 2.7V
EESAVE not preserved
WDTON disabled
SPIEN enabled
DWEN enabled
RSTDISBL enabled
-> which equals 0xdd
CKSEL hf pll (0001)
SUT 1..0 bod enabled fast rise
CKOUT disabled
CKDIV8 disabled
-> which equals 0xe1
(this was taken from the EasyLogger data files)
ссылка на девайс.
(http://yveslebrac.blogspot.com/2008/10/ ... alaxy.html)
- Вложения
-
- фьюз.JPG
- Фьюзы
- (63.71 КБ) 790 скачиваний
Re: AVR studio 4 в вопросах и ответах
Подскажите пытаюсь соединить avr studio c протеусом студия при компиляции выдаёт ошибку
Proteus: Failed to create VSM Debugger object
Coordinator: Error when writing memory contents to the debug platform.
Coordinator: Error loading object file.
уже раза 3 переустановил протеус (он там вылетал иногда думал в этом косяк а оказалось нет)
версия студии 4.13 протеуса 7.10
Proteus: Failed to create VSM Debugger object
Coordinator: Error when writing memory contents to the debug platform.
Coordinator: Error loading object file.
уже раза 3 переустановил протеус (он там вылетал иногда думал в этом косяк а оказалось нет)
версия студии 4.13 протеуса 7.10
Re: AVR studio 4 в вопросах и ответах
Здравствуйте уважаемые радиокоты! Подскажите пожалуйста.
Симулирую таймер на AVR Studio. Симулирует нормально, но когда начинается заполнение счетного регистра, симулятор почему-то через такт перескакивает.
Естественно это неудобно: не видно например, как флаг переполнения счетчика выставляется, т к симулятор перескакивает этот момент своими двойными тактированиями.
Пишу на С++, отлаживаю в окошке "дизассемблер".
Может там галочку какую-нибудь в настройках поставить надо, мол не перескакивать через такт при трассировке? Где поменять настройки, чтобы программа нормально, такт за тактом выполнялась?
Спасибо!
Симулирую таймер на AVR Studio. Симулирует нормально, но когда начинается заполнение счетного регистра, симулятор почему-то через такт перескакивает.
Естественно это неудобно: не видно например, как флаг переполнения счетчика выставляется, т к симулятор перескакивает этот момент своими двойными тактированиями.
Пишу на С++, отлаживаю в окошке "дизассемблер".
Может там галочку какую-нибудь в настройках поставить надо, мол не перескакивать через такт при трассировке? Где поменять настройки, чтобы программа нормально, такт за тактом выполнялась?
Спасибо!
Re: AVR studio 4 в вопросах и ответах
Подскажите пожалуйста.
Перешел с WinAVR на AVRStudio5, все хорошо, кроме момента прошивки fuses. Я обычно прошивал USB-asp теперь шью с AVRDragon, программа одна и таrже прошивается нормально, все отлично, но как только прошиваю fuses через AVRDragon на AVRStudio5, контроллер больше не доступен, т.е. не могу прошить и даже прочитать, при этом контроллер работает., выполняет вшитую программу.
Вопрос такой, в чем может быть моя ошибка? Повторюсь одно и тоже устройство через USB-asp и eXtremeBurnerAVR прошивается полностью с fuses нормально, а через AVRDragon и AVRStudio5, прошивается только прога.
Кто использует связку AVRDragon и AVRStudio5 пожалуйста поделитесь положительным опытом.
Перешел с WinAVR на AVRStudio5, все хорошо, кроме момента прошивки fuses. Я обычно прошивал USB-asp теперь шью с AVRDragon, программа одна и таrже прошивается нормально, все отлично, но как только прошиваю fuses через AVRDragon на AVRStudio5, контроллер больше не доступен, т.е. не могу прошить и даже прочитать, при этом контроллер работает., выполняет вшитую программу.
Вопрос такой, в чем может быть моя ошибка? Повторюсь одно и тоже устройство через USB-asp и eXtremeBurnerAVR прошивается полностью с fuses нормально, а через AVRDragon и AVRStudio5, прошивается только прога.
Кто использует связку AVRDragon и AVRStudio5 пожалуйста поделитесь положительным опытом.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
есть опыт, но в плане программирования старых девайсов типа мега8 он отрицательный Шью 4той студией.
PS выпущена шестая версия и лучше переходить на нее, так как новых пятых уже не будет.хотя для кода я успешно использую пятую-она запускается быстрее.
И вообще для пятой студии в коте есть отдельная ветка.
PS выпущена шестая версия и лучше переходить на нее, так как новых пятых уже не будет.хотя для кода я успешно использую пятую-она запускается быстрее.
И вообще для пятой студии в коте есть отдельная ветка.
Re: AVR studio 4 в вопросах и ответах
Проблема не решена. Тема под avrStudio 5 не найдена
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: AVR studio 4 в вопросах и ответах
Пятая студия
А что вам мешает использовать старую методику программирования?Просто в пятой нет поддержки некоторых контроллеров.
А что вам мешает использовать старую методику программирования?Просто в пятой нет поддержки некоторых контроллеров.