|
Какой бесплатный компилятор Си для AVR лучше? Поделитесь!, Поделитесь опытом с новичком. |
|
|
|
 |
Ответов
|
Jan 4 2007, 01:06
|

Частый гость
 
Группа: Участник
Сообщений: 102
Регистрация: 29-05-05
Из: Днепропетровск
Пользователь №: 5 520

|
Цитата(beer_warrior @ Jan 4 2007, 01:02)  !!!!SIGNAL(SIG_OVERFLOW1)!!!! Найдите в доке разницу между SIGNAL и INTERRUPT и почитайте. Я Вас понял, но дело в том что INTERRUPT ведет себя точно так-же!!!!!!!
|
|
|
|
|
Jan 4 2007, 05:24
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Samodelkin @ Jan 4 2007, 01:06)  Я Вас понял, но дело в том что INTERRUPT ведет себя точно так-же!!!!!!! Значит проблема может быть и не в прерываниях. Возможны три причины по которым МК у Вас сбрасывается: 1. запрограммирован сооветствующим Fuse-битом WDT, решение проблемы - оключить WDT или добавить в основной цикл программы asm("WDR"). 2. глючит BOD, решение проблемы - отключить BOD при знакомстве с МК. 3. помеха на Reset'е, решение - добавить конденсатор между землей и Reset'ом 0.1..1uF.
|
|
|
|
|
Jan 4 2007, 05:50
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(defunct @ Jan 4 2007, 09:24)  Цитата(Samodelkin @ Jan 4 2007, 01:06)  Я Вас понял, но дело в том что INTERRUPT ведет себя точно так-же!!!!!!!
Значит проблема не в прерываниях. Возможны три причины по которым МК у Вас сбрасывается: 1. запрограммирован сооветствующим Fuse-битом WDT, решение проблемы - оключить WDT или добавить в основной цикл программы asm("WDR"). 2. глючит BOD, решение проблемы - отключить BOD при знакомстве с МК. 3. помеха на Reset'е, решение - добавить конденсатор между землей и Reset'ом 0.1..1uF. Хм...Вроде бы автор топика глаголил, что "...Только вот столкнулся с проблемой, при отработке прерывания компилятор при выходе из него ставит RET вместо RETI..." ??? 2 Samodelkin - это на самом деле имеет место быть? Вы смотрели ассемблерный листинг Вашего творения?
--------------------
|
|
|
|
|
Jan 4 2007, 23:28
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(prottoss @ Jan 4 2007, 05:50)  Цитата(defunct @ Jan 4 2007, 09:24)  Цитата(Samodelkin @ Jan 4 2007, 01:06)  Я Вас понял, но дело в том что INTERRUPT ведет себя точно так-же!!!!!!!
Значит проблема не в прерываниях. Возможны три причины по которым МК у Вас сбрасывается: 1. запрограммирован сооветствующим Fuse-битом WDT, решение проблемы - оключить WDT или добавить в основной цикл программы asm("WDR"). 2. глючит BOD, решение проблемы - отключить BOD при знакомстве с МК. 3. помеха на Reset'е, решение - добавить конденсатор между землей и Reset'ом 0.1..1uF. Хм...Вроде бы автор топика глаголил, что "...Только вот столкнулся с проблемой, при отработке прерывания компилятор при выходе из него ставит RET вместо RETI..." ??? 2 Samodelkin - это на самом деле имеет место быть? Вы смотрели ассемблерный листинг Вашего творения? Насколько мне известно, в WinAVR функции обработки прерываний описываются при помощи квалификатора SIGNAL. Или нет?
|
|
|
|
|
Jan 4 2007, 23:49
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(_Bill @ Jan 4 2007, 23:28)  Насколько мне известно, в WinAVR функции обработки прерываний описываются при помощи квалификатора SIGNAL. Или нет? До avr-libc весии 1.4.4 обработчики прерываний в которых были запрещены прерывания описывались с помощью SIGNAL, а в которых были разрешены прерывания описывались с помощью INTERRUPT. К сожалению новички очень часто не прочитав документацию и/или не поняв в чем разница использовали INTERRUPT ..... и получали граблями по лбу. Поэтому в avr-libc 1.4.4 SIGNAL был заменен на ISR (SIGNAL конечно же остался для совместимости, только не рекомендован для использования), а INTERRUPT удален, точнее перемещен в <compat/deprecated.h>. Если вам нужна функциональность INTERRUPT, значит .... вы уже профессиональный разработчик и знаете как описать такой обработчик прерываний. Анатолий.
Сообщение отредактировал aesok - Jan 4 2007, 23:51
|
|
|
|
Сообщений в этой теме
Samodelkin Какой бесплатный компилятор Си для AVR лучше? Поделитесь! Jan 2 2007, 13:37 aesok В AVR-GCC нет проблемы про которую вы пишите. Если... Jan 2 2007, 14:18 prottoss Цитата(Samodelkin @ Jan 2 2007, 17:37) На... Jan 2 2007, 17:32 _Bill Цитата(Samodelkin @ Jan 2 2007, 13:37) На... Jan 2 2007, 22:41 Samodelkin Цитата(_Bill @ Jan 2 2007, 22:41) Цитата(... Jan 4 2007, 01:02  aesok Для какого контроллера компилируете? Для некоторых... Jan 4 2007, 01:37   Samodelkin Цитата(aesok @ Jan 4 2007, 01:37) Для как... Jan 4 2007, 22:56    aesok Цитата(Samodelkin @ Jan 4 2007, 22:56) А ... Jan 4 2007, 23:17  aesok В avr-libc 1.4.4, эта версия включена в WinAVR-200... Jan 4 2007, 15:36 defunct Цитата(Samodelkin @ Jan 2 2007, 13:37) То... Jan 3 2007, 01:16 kamedi_clab советую http://www.codevision.be/ (он бесплатны... Jan 4 2007, 00:21  Punk Цитата(kamedi_clab @ Jan 4 2007, 00:21) с... Jan 4 2007, 17:07 Samodelkin Всем, кто откликнулся, большое спасибо!
Вы мен... Jan 4 2007, 00:18    defunct Цитата(prottoss @ Jan 4 2007, 05:50) Хм..... Jan 4 2007, 06:10      _Bill Цитата(aesok @ Jan 4 2007, 23:49) Цитата(... Jan 5 2007, 11:09 kamedi_clab и для радиолюбителей. а по списку компаний его исп... Jan 4 2007, 18:23 aesok Цитата(kamedi_clab @ Jan 4 2007, 18:23) и... Jan 4 2007, 22:12 kamedi_clab Анатолий, огромное спасибо за толерантность ! Jan 4 2007, 23:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|