|
проблема портирования программы с AtMega32 на AtMega 128 |
|
|
|
Aug 6 2008, 07:05
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 21-03-07
Пользователь №: 26 369

|
Доброго времени суток, суть проблемы заключается ч том, что написанная программа для AtMega 128 работает без каких либо изъянов, но при попытке ее перенести на AtMega 32 возникла следующая проблема: приведенная ниже конструкция на 32 меге просто не работает: Вариант 1 if(tmp==0x00) { Closed=true; } else { Closed=false; if(tmp==0x3F) { All=true; } else { All=false; for( i = 1; i < 6; i++) { if(tmp & (1 << i)) SensorData[i]=false; else SensorData[i]=true; } } } Вариант 2 if(tmp==0x00) { Closed=true; } else { Closed=false; if(tmp==0x3F) { All=true; } else { All=false; tmp=(~tmp)&0x01; if(tmp!=0x01) { Nurse1=true; } else { Nurse1=false; } tmp=tmp_data; tmp=(~tmp)&0x02; if(tmp!=0x02) { Nurse2=true; } else { Nurse2=false; } tmp=tmp_data; tmp=(~tmp)&0x04; if(tmp!=0x04) { Hall=true; } else { Hall=false; } tmp=tmp_data; tmp=(~tmp)&0x08; if(tmp!=0x08) { Bedroom=true; } else { Bedroom=false; } tmp=tmp_data; tmp=(~tmp)&0x10; if(tmp!=0x10) { Kitchen=true; } else { Kitchen=false; } tmp=tmp_data; tmp=(~tmp)&0x20; if(tmp!=0x20) { Door=true; } else { Door=false; } } оба варианта ведут себя одинаково нормально на меге 128 и оба же варианта ведут себя одинаково плохо на меге 32
|
|
|
|
|
 |
Ответов
|
Aug 6 2008, 12:18
|

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

|
Цитата(Stanislav_S @ Aug 6 2008, 15:04)  Я сам в свое время на эти грабли наступал, любит Атмел такие приколы  Кто вас заставляет использовать JTAG выводы? Обратный пример - в некоторых МК Reset совмещен с GPIO, по вашему не меняя Fuses этот GPIO должен сразу работать? А то что он не работает назовем "приколом"? Разработчики ловят приколы от нежелания полноценно и вдумчиво ознакомиться с документацией. Цитата фьюзы все придется зазубрить на зубок Это первое с чего надо начинать портирование. А вы с чего начали?
|
|
|
|
|
Aug 6 2008, 14:07
|

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

|
Цитата(Stanislav_S @ Aug 6 2008, 16:28)  Логичней было его не устанавливать. Чем логичней? Ведь это интерфейс не только для отладки, но и для программирования. А кристал по-умолчанию голый. И как бы в "логичном для вас случае" жилось тем у кого из программаторов только JTAG-ICE? Цитата Ну во первых мне например много ног надо, так что мне весь порт из за JTAG не использовать? Я думаю Вам стоит попробовать использовать JTAG (если еще не пробовали), и кстати он занимает не весь порт, а всего 4 пина. PS: Все равно при первой прошивке кристала Fuses надо менять, и менять надо не наугад, а со знанием дела.
|
|
|
|
|
Aug 6 2008, 19:15
|

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

|
Цитата(Stanislav_S @ Aug 6 2008, 19:56)  точно так же, как например если бы SPIEN был бы не установлен, и что мне тогда обязательно JTAG-ICE иметь? Речь не о том какой интерфейс запретить. Речь о том, что НИ ОДИН интерфейс программирования не может быть запрещенным в заводских настройках! И всякие доводы о "логичности" запрещения JTAG интерфейса по-умолчанию, лишь потому что именно Вы или кто-то еще его не использует, - неприемлемы. Цитата которое JTAG может мешать, или там джампера ставить? Я так и поступаю в дизайнах где нужен и JTAG и что-то мешает его использованию. Например в m162 джампера единственный выход, т.к. JTAG пересекается с внешней шиной памяти. Тем не менее следует отдать должное разработчикам Atmel, что они не слепо воткнули JTAG, а хотя бы поместили его на 4 старших бита адреса, т.е. можно и шину пользовать (хоть всего 4kb пространства остается), и периферия не пострадала.
|
|
|
|
Сообщений в этой теме
Nekromant проблема портирования программы с AtMega32 на AtMega 128 Aug 6 2008, 07:05 Непомнящий Евгений теги [code] используйте...
А как именно "пло... Aug 6 2008, 07:11 MrYuran 1. Используйте теги [code][/code] для кусков кода,... Aug 6 2008, 07:14 Nekromant 1)именно плохо в том, что на 32 меге изменяются то... Aug 6 2008, 07:35  Сергей Борщ Цитата(Nekromant @ Aug 6 2008, 10:35) 2) ... Aug 6 2008, 07:45   MrYuran Цитата(Сергей Борщ @ Aug 6 2008, 11:45) Т... Aug 6 2008, 07:59    Nekromant Цитата(MrYuran @ Aug 6 2008, 10:59) ++
То... Aug 6 2008, 08:12     Сергей Борщ Цитата(Nekromant @ Aug 6 2008, 11:12) tmp... Aug 6 2008, 08:19     Dog Pawlowa Цитата(Nekromant @ Aug 6 2008, 11:12) tmp... Aug 6 2008, 08:24      Nekromant да, это сигналы, подключенные на порты, точнее 6 ... Aug 6 2008, 08:38       Stanislav_S Цитата(Nekromant @ Aug 6 2008, 13:38) да,... Aug 6 2008, 09:05        Nekromant фьюз я не трогал просто в функции маин в самом нач... Aug 6 2008, 09:46         Stanislav_S Цитата(Nekromant @ Aug 6 2008, 14:46) фью... Aug 6 2008, 10:53          Nekromant Цитата(Stanislav_S @ Aug 6 2008, 13:53) П... Aug 6 2008, 11:38           MrYuran Цитата(Nekromant @ Aug 6 2008, 15:38) то ... Aug 6 2008, 11:50 GDI Может с размером стека проблемы? Map-файл посмотри... Aug 6 2008, 07:21 Nekromant Точно, снял фьюз и большая часть глюков исчезла... Aug 6 2008, 11:59 Stanislav_S Цитата(Nekromant @ Aug 6 2008, 16:59) Точ... Aug 6 2008, 12:04 Палыч Цитата(Nekromant @ Aug 6 2008, 14:59) Точ... Aug 6 2008, 12:11  MrYuran Цитата(Палыч @ Aug 6 2008, 16:11) Интерес... Aug 6 2008, 12:17   Nekromant [quote name='MrYuran' date='Aug 6 2008... Aug 6 2008, 12:29 Nekromant если честно ума не приложу взял то же самое продел... Aug 6 2008, 12:20 defunct Цитата(Nekromant @ Aug 6 2008, 15:20) так... Aug 6 2008, 12:26 Палыч Цитата(Nekromant @ Aug 6 2008, 15:20) есл... Aug 6 2008, 12:31  Nekromant Цитата(Палыч @ Aug 6 2008, 15:31) ИМХО, э... Aug 6 2008, 14:59   defunct Цитата(Nekromant @ Aug 6 2008, 17:59) 2) ... Aug 6 2008, 15:14    Nekromant Цитата(defunct @ Aug 6 2008, 18:14) Если ... Aug 6 2008, 15:33     defunct Цитата(Nekromant @ Aug 6 2008, 18:33) Я б... Aug 6 2008, 16:09 Nekromant Мой девайс сегодня оттестировался и вполне отработ... Aug 7 2008, 02:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|