| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Can't get Compiler to udnerstand basic register names http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=14255 |
Страница 1 от 1 |
| Автор: | million [ Съб Яну 02, 2016 11:01 pm ] |
| Заглавие: | Can't get Compiler to udnerstand basic register names |
Имаме някакъв ПИК, MPLAB v8.92, CCS compilator няколко прости принципни въпроси: 1. Как се обръщате директно към регистрите. Има *.inc файлове с мапване на регистрите към имената, но май са с друг синтаксис и CCS не ги приема. Произволно примерче от INC файла: INDF0 EQU H'0FEF' INTCON3 EQU H'0FF0' INTCON2 EQU H'0FF1' Във форума има много примери с директно обръщане към регистрите, но кода не тръгва. Знам че може да се мапне с #BIT, но ми се струва безумно да ги мапвам един по един... #include <18F1220.h> и #device PIC18F1220 също не помагат в случая Как да заработят примерно: TMR2IF_bit = 0; OPTION&=~0b10000000; switch(PORTB&0b11); 2. Харесвам си някой регистър от даташийта на процесора... и веднага идва въпроса как да му видя адреса. 3. Може ли в Mplab да видя *.lst file с имената на регистрите, а не както в ми го дава с кодовете им: 020 CFE2 MOVFF 0xfe2, 0xa 024 CFD9 MOVFF 0xfd9, 0xb 028 CFDA MOVFF 0xfda, 0xc Благодаря, на отделилите време да прочетат, а ако и някой напише нещоооо... |
|
| Автор: | Zeus [ Нед Яну 03, 2016 5:24 pm ] |
| Заглавие: | Re: Can't get Compiler to udnerstand basic register names |
Здравей и Честита Нова Година! Адресите на регистрите можеш да ги видиш в дейташийта: Примерно за твоя процесор - 5.9.2 SPECIAL FUNCTION REGISTERS Също погледн хелпа на CCS, примерно командите: input_x(), output_x(), output_low(), output_high() Прегледай също .h файла (В твоя случай 18F1220.h), в него са дадени достъпните команди за дадения контролер) Успех |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|