Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Препълване на стек
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7739
Страница 1 от 1

Автор:  nikolovs [ Вто Апр 13, 2010 10:07 pm ]
Заглавие:  Препълване на стек

Здравейте на всички колеги. Програмирам един PIC18f4620 на MicroC pro for PIC version 3.2 пуснат на 12мхз ,като управлявам един графичен LCD и реализирам менюта и под менюта . Проблема е следния - след доста код на протеуса процесора се оспива и изписва ,че стека е препълнен .При писането на кода не ми е много ясно как да предотвраря това . Използвам само глобални променливи , кода сам разбил на функции с цел малко да ми е по прегледно когато пиша .Заел съм едва 20% от ROM паметта .Как вие оптимизирате кода , когато пишете и то доста код с много библиотечни функции :?: .

Автор:  ToHu [ Вто Апр 13, 2010 10:23 pm ]
Заглавие: 

Ами много зависи как си го писал тоя код, и с 1% може да препълниш стека. CCS си има инспектор на стека, но има случаи когато няма как да ти покаже препълването. Най-вече избягвай да викаш функция от друга функция, не казвам да не го правиш, ама като извикаш 4-5 функции една в друга, и ти дойде прекъсване иси готов, щото и там сигурно изпозвлаш функции. Я постни тоя код да го видим, и ще се види що ти препълва стека. Не забравяй че микроконтролерите не са РС, особенно пък тия на мкрочип.

Автор:  nikolovs [ Вто Апр 13, 2010 10:32 pm ]
Заглавие: 

Ами тогава най добре е да не разбивам кода на функции , за да не се препълва стека .Е да не е персонален компютър , микроконтролера си е с хардуерен стек , май беше с 31 нива в спецификацията го пишеше. Трябва да постна кода , но просто трябва да разбера да предотвратявам това .

Автор:  ToHu [ Вто Апр 13, 2010 10:54 pm ]
Заглавие: 

Е това е крайност, но трябва да се внимава кое от къде викаш. Иначе е 31 нива, и емного чудно как успяваш да го препълниш, аз отдавна не ги позлвам пикльовците и бях забравил че тая серия са 32 нива, тва доста упоритост трябва да го препълниш, да нямаш фукция в прекъсване и да не излизаш от него или нещо подобно, да имаш изход с гото.

Автор:  ToHu [ Вто Апр 13, 2010 11:22 pm ]
Заглавие: 

дай да видим това images.c че не се компилира без него, още не мога съвсем да вдяна какво правиш ама ....

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/