PIC assembler. Przekazywanie parametrów do procedur... - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Oprogramowanie (/forum-84.html) +--- Dział: Technika programowania mikroprocesorów (/forum-85.html) +--- Wątek: PIC assembler. Przekazywanie parametrów do procedur... (/thread-1986.html) |
PIC assembler. Przekazywanie parametrów do procedur... - SQ9RFC - 11-04-2014 10:59 PIC assembler... Chciałbym użyć potu jako parametru procedury - są jakieś sztuczki ? jakiś wskaźnik na port ... coś mi chodzi po głowie, ale może ktoś to przerabiał i bedzie szybciej A może ktoś w C napisze najmniejszy fragment kodu, podeśle HEX, a ja sobie popatrzę jak to autor kompilatora zrobił... RE: PIC assembler. Przekazywanie parametrów do procedur... - SQ9RFC - 14-04-2014 22:29 Okazuje się że w C również się tego w prosty sposób nie da zrobić ... RE: PIC assembler. Przekazywanie parametrów do procedur... - SQ6ADE - 15-04-2014 12:15 Napisz jaśniej o co się rozchodzi z tym użyciem portu jako parametru procedury. RE: PIC assembler. Przekazywanie parametrów do procedur... - SP3TLU - 17-04-2014 20:34 Witam! Może tu: http://mirekk36.blogspot.com/2011/08/test.html kolega znajdzie odpowiedź. "Tym razem jednak możesz zadać spokojnie pytanie, o jakiś konkretny przykład konieczności takiego odmiennego użycia specyfikatora volatile. Proszę bardzo, mogę przywołać przykład, w którym zechcemy użyć jako argumentu jakiejś tam funkcji nazwy dowolnego portu aby funkcja mogła wykonać na nim stosowne operacje. Jak zapewne wiesz, rejestry portów znajdują się tak na prawdę w przestrzeni adresowej pamięci RAM ale nie w obszarze gdzie umieszczane są zmienne lecz wcześniej. Z tego punktu widzenia logicznym wydaje się fakt, że odwoływanie się więc do portów jako do komórek pamięci RAM nie może w żadnym wypadku podlegać procesom optymalizacji. Zresztą już sam kompilator zaopatruje definicje portów specyfikatorem volatile, aby w przyszłości programista poprzez wyłączenie optymalizacji nie narobił sam sobie szkód w tym zakresie. Zatem definicja takiej funkcji musi wyglądać jak poniżej:" Vy 73! Sebastian RE: PIC assembler. Przekazywanie parametrów do procedur... - SQ9RFC - 16-05-2014 13:06 MPLAB ... Kod ponad 2k ... Przestawienie includa powoduje że procedury w math.inc są niewidoczne dla reszty programu Działa (prawie): ... Include "testy.inc" Include "pwm.inc" Include "bat_volts.inc" Include "frq.inc" Include "key.inc" Include "key_go.inc" Include "math.inc" include "lcd_4bit.inc" Include "menu.inc" Include "menu_go.inc" Include "init_old.inc" include "delays_10_MHz.inc" Include "encoder2.inc" end a to nie działa: kompilator wywala: "Symbol not previously defined (...)" ... Include "testy.inc" Include "pwm.inc" Include "bat_volts.inc" Include "frq.inc" Include "key.inc" Include "key_go.inc" include "lcd_4bit.inc" Include "menu.inc" Include "menu_go.inc" Include "init_old.inc" include "delays_10_MHz.inc" Include "encoder2.inc" Include "math.inc" end Czy ten kompilator sprawdza czy część procedury jest pod koniec jednego banku, a reszta na początku drugiego? Ponadto chrzani 'return' z dalekiego 'call' !!!. Programuje ktoś tu PICe? ...PIC16F87x |