|
|
  |
да что же я не так делаю? mega64 и 128, ну не могу завести и всё тут : ( |
|
|
|
Feb 26 2008, 07:55
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(GDI @ Feb 26 2008, 10:14)  По моему все же проще и быстрее попробовать стандартный пример от поставщиков компилятора. Если есть проблема, то надо исключать возможные проблемные места, а не множить их... ваш собственный стартап может являться такой проблемой, даже если в других приложениях он и работает. +1. Разработчики компилятора тоже не плохо разбираются в предмете. Поэтому ИМХО в 99,99% случаев нет необходимост править штатный стартап.
|
|
|
|
|
Feb 26 2008, 18:49
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(brag @ Feb 26 2008, 19:54)  вы опять за свое...  не работает ЖЕЛЕЗО, а не софт. софт точно не рабочий, а начет железа не спорю, возможно Вы и правы. avr-libc-user-manual, FAQ #13, What registers are used by the C compiler? Цитата r1 - assumed to be always zero in any C code, may be used to remember something for a while within one piece of assembler code, but must then be cleared after use (clr r1). This includes any use of the [f]mul[s[u]] instructions, which return their result in r1:r0. Interrupt handlers save and clear r1 on entry, and restore r1 on exit (in case it was non-zero). Анатоий.
|
|
|
|
|
Feb 27 2008, 10:10
|

Начинающий профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648

|
Цитата(brag @ Feb 27 2008, 03:23)  это avr-LIBC-user-manual. а у нас libc не используется. повторяю, девайс работает на реальной машине и уже отлажен. r1 у меня используется, как нормальный регистр для расчетов.. компиллер - gcc В AVR Libc указано: Код Typically, it should be save to use r2 through r7 that way.
Registers r8 through r15 can be used for argument passing by the compiler in case many or long arguments are being passed to callees. If this is not the case throughout the entire application, these registers could be used for register variables as well.
--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
|
|
|
|
|
Feb 27 2008, 21:04
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(brag @ Feb 27 2008, 03:23)  это avr-LIBC-user-manual. а у нас libc не используется. повторяю, девайс работает на реальной машине и уже отлажен. r1 у меня используется, как нормальный регистр для расчетов.. компиллер - gcc Звучит как анедот. Перевожу Вам фразу "r1 - assumed to be always zero in any C code,..." на русский: r1 - предпологаеться что всегда содержит ноль в любом С коде. avr-gcc генерирует код котрый предпологает что региср r1 (он же __zero_reg__) содержит 0. Например, для этого С кода: Код volatile unsigned int i = 1; volatile unsigned char b = 1; int main (void) { i = i + b; return 0; } бедет сгенерирован ассемблерный код Код .... add r24,r18; 8 *addhi3_zero_extend [length = 2] adc r25,__zero_reg__ .... И чему будет равно i если в регистр r1 записано чтото отличное от нуля? Анатолий.
Сообщение отредактировал aesok - Feb 27 2008, 21:18
|
|
|
|
|
Feb 27 2008, 21:24
|
Знающий
   
Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484

|
Цитата(brag @ Feb 28 2008, 00:19)  анекдот про дядька Мыкыта  )) Если Вы думаете что мне жалко ваше время .... нет, мне его не жалко. Если Вы думаете что я хочу чтобы ваше устройстово заработало ... нет, мне все равно. Мне просто жалко времени людей которые пытались Вым помочь. И своего времени. Я его больше на Вас не трачу. Анатолий.
|
|
|
|
|
Feb 28 2008, 07:06
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
да что вы так... простите, если получилось так, что вас обидел.. просто дело не в софте, тк я использую нестандартные решения.. вчера возился с шимом(регулировка контрастности). достал свой осцил цифровой, начал анализировать.. сделал шим, думаю, дай ткну его в ту плату с атмегой.. оказывается, при включении атмега почему-то потребляет ток около 300ма! по ногam dvdd. при чем бросок всегда разный, но кратковременный, где-то 500-1000нс. Сразу заменил стабилизатор LM1117-5 на LF50. Запускатся стало увереннее. Поставил кондер на 10u тантал. Далее разрезал дорожку и втыкнул такую цепочку. теперь запускается всегда
Сообщение отредактировал brag - Feb 28 2008, 07:07
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|