|
Proteus VSM for AVR, Где взять??? |
|
|
|
Feb 14 2007, 12:58
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 18-07-05
Из: Питер
Пользователь №: 6 885

|
Цитата(*SERG @ Feb 14 2007, 09:19)  На сайте производителя увидел вот такую прогу http://www.labcenter.co.uk/index.html?/products/avr.htm Очень хотелось бы посмотреть поближе, но не могу понять как взять  . Может есть у кого?Или подскажите каким образом её скачать от туда Лежит Ваша дорога в раздел сайта для своих.
|
|
|
|
|
Feb 15 2007, 14:36
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 18-07-05
Из: Питер
Пользователь №: 6 885

|
Цитата(*SERG @ Feb 15 2007, 08:42)  Спасибо, скачал, сначало не заметил) Как работает? У меня последняя версия валится с периодичностью 10-15-20 минут... Особенно когда симуляцию второй раз включаешь после стопа
|
|
|
|
|
Feb 16 2007, 10:03
|
Участник

Группа: Новичок
Сообщений: 73
Регистрация: 10-01-07
Пользователь №: 24 292

|
у вас 6.9 sp5 ?
|
|
|
|
|
Feb 17 2007, 02:08
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 18-07-05
Из: Питер
Пользователь №: 6 885

|
Цитата(*SERG @ Feb 16 2007, 09:43)  Да блин, тож как то не понятно работает. Пишу в квавр, подозрение на кофф фаил. ... А с кофами что то непонятное. Скорми ему elf вместо cof'а... Заработает. Только проверь, чтоб в make-файле были полные пути прописаны до твоих *.c файлов, иначе исходников не найдет. На cof'ами у меня тоже ничего не работало... Цитата(*SERG @ Feb 16 2007, 09:43)  Вот перехожу на иар потихоньку, всё равно когда то надо начинать). Посмотрю как с иаровским файлом заработает таже прога Ну да... а потом дорастем до ARM'ов и будем потихоньку переползать обратно на GCC...  ) А смысл?  ) Ладно... это уже из раздела "священных войн" - кому что больше нравится  У меня в последнем проте другая проблема - сразу после инициализации UART1 в mega128 прога вешается, потому как постоянно срабатывают прерывания... При этом UART0 работает нормально :// Что-то подсказывает, что тут что-то связано с режимом совместимости 128-й меги со 103-ей...  В железе для этого нужно скинуть один Fuse... но как это сделать в проте - не нашел  Т.е. в свойствах элемента там есть некоторые fuse, но далеко не все  Если кто знает как побороть UART1 в протеусовской меге - you are more than wellcome!
|
|
|
|
|
Feb 17 2007, 08:43
|

В поисках истины
  
Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923

|
Цитата(Tigrik @ Feb 17 2007, 05:08)  У меня в последнем проте другая проблема - сразу после инициализации UART1 в mega128 прога вешается, потому как постоянно срабатывают прерывания... При этом UART0 работает нормально :// Что-то подсказывает, что тут что-то связано с режимом совместимости 128-й меги со 103-ей...  В железе для этого нужно скинуть один Fuse... но как это сделать в проте - не нашел  Т.е. в свойствах элемента там есть некоторые fuse, но далеко не все  Если кто знает как побороть UART1 в протеусовской меге - you are more than wellcome! Код UBRR1L = (SYSCLK / (BAUD*16L) - 1); UCSR1B = _BV(RXEN1)|_BV(RXCIE1)|_BV(TXEN1);
void uart_put (uint8_t d) { uint8_t i;
i = txfifo.idx_w; while(txfifo.count >= sizeof(txfifo.buff)); txfifo.buff[i++] = d; cli(); txfifo.count++; UCSR1B = _BV(RXEN1)|_BV(RXCIE1)|_BV(TXEN1)|_BV(UDRIE1); sei(); if(i >= sizeof(txfifo.buff)) i = 0; txfifo.idx_w = i; }
SIGNAL(SIG_UART1_DATA) { uint8_t n, i;
n = txfifo.count; if(n) { txfifo.count = --n; i = txfifo.idx_r; UDR1 = txfifo.buff[i++]; if(i >= sizeof(txfifo.buff)) i = 0; txfifo.idx_r = i; } if(n == 0) UCSR1B = _BV(RXEN1)|_BV(RXCIE1)|_BV(TXEN1); } Примерно так.
|
|
|
|
|
Feb 19 2007, 13:08
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 18-07-05
Из: Питер
Пользователь №: 6 885

|
Цитата(*SERG @ Feb 19 2007, 10:44)  В паке с протеусом есть файлы *.а90, *.с,*.в90, *.lst, *.map. 1. А где elf? У меня по шагам получилось только когда скормил протеусу *.elf моего проекта. 2. Проект протеуса в том же каталоге что Си проект? 3. В make'е прописаны полные пути до *.c файлов? Цитата(Alexey Belyaev @ Feb 17 2007, 08:43)  Код UBRR1L = (SYSCLK / (BAUD*16L) - 1); UCSR1B = _BV(RXEN1)|_BV(RXCIE1)|_BV(TXEN1);
void uart_put (uint8_t d) { uint8_t i;
i = txfifo.idx_w; while(txfifo.count >= sizeof(txfifo.buff)); txfifo.buff[i++] = d; cli(); txfifo.count++; UCSR1B = _BV(RXEN1)|_BV(RXCIE1)|_BV(TXEN1)|_BV(UDRIE1); sei(); if(i >= sizeof(txfifo.buff)) i = 0; txfifo.idx_w = i; }
SIGNAL(SIG_UART1_DATA) { uint8_t n, i;
n = txfifo.count; if(n) { txfifo.count = --n; i = txfifo.idx_r; UDR1 = txfifo.buff[i++]; if(i >= sizeof(txfifo.buff)) i = 0; txfifo.idx_r = i; } if(n == 0) UCSR1B = _BV(RXEN1)|_BV(RXCIE1)|_BV(TXEN1); } Примерно так. На первый взгляд все очень похоже. Вечером проверю подробнее... Проблема что сразу после инициализации вываливается в обработку прерывания и больше оттудова не выходит ://
|
|
|
|
|
Feb 22 2007, 15:06
|
Участник

Группа: Новичок
Сообщений: 73
Регистрация: 10-01-07
Пользователь №: 24 292

|
об этом написано в контекстной справке по кнопке в диалоге свойств МК.
|
|
|
|
|
Jun 9 2007, 21:37
|
Группа: Новичок
Сообщений: 1
Регистрация: 16-01-06
Пользователь №: 13 254

|
Приветствую всех! Выложите кто нибудь эту прогу, на ФТП не пускает а поюзать очень хочется.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|