| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| програма от CSS на мплаб http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=8239 |
Страница 1 от 1 |
| Автор: | sukhoi [ Сря Окт 27, 2010 1:36 pm ] |
| Заглавие: | програма от CSS на мплаб |
здравейте, пренаписвам една програма от CSS на мплаб и въпроса ми е дали мога да намеря къде са тези стандартните фунйцики на CSS като output_bit(), shift_left()... Дали ги има някъде разписани в директориите на CSS ? |
|
| Автор: | ¶ [ Сря Окт 27, 2010 4:50 pm ] | |||||||||
| Заглавие: | Re: програма от CSS на мплаб | |||||||||
Няма ги, но можеш да видиш в генерирания листинг какво правят, после си правиш макроси или inline функции. А какъв е този език MPLAB ?? |
||||||||||
| Автор: | sukhoi [ Сря Окт 27, 2010 9:35 pm ] | |||||||||
| Заглавие: | ||||||||||
да няма такъв език прав си и да попитам защо се генерира така това примерно
а не само 0008: BSF 03.5 000B: BSF 06.4 примерно |
||||||||||
| Автор: | ¶ [ Сря Окт 27, 2010 9:44 pm ] | |||||||||
| Заглавие: | ||||||||||
Компилатора имаше някаква опция, която проеменяше output_high() и подобните, така че само сетваше PORTB пина, без да пипа TRISB. Не си спомням коя беше, погледни в документацията, ако те интересува, ще спестиш 3 излишни инструкции. |
||||||||||
| Автор: | sukhoi [ Сря Окт 27, 2010 9:52 pm ] |
| Заглавие: | |
мерси за бързия отговор...но не мога да разбера как на адрес 06h веднъж е TRISB а другия път е PORTB[/quote] |
|
| Автор: | Cekins [ Сря Окт 27, 2010 9:53 pm ] |
| Заглавие: | |
Ами не е - сменя банките |
|
| Автор: | ¶ [ Сря Окт 27, 2010 9:55 pm ] | |||||||||
| Заглавие: | ||||||||||
Един път е на адрес 0x06 ( PORTB ), друг път е на адрес 0x86 ( TRISB ), определя се от бита STATUS.RP0 ( и RP1 ако има повече от 2 банки с памет ) |
||||||||||
| Автор: | sukhoi [ Сря Окт 27, 2010 10:02 pm ] |
| Заглавие: | |
да...значи последен въпрос с което дано ми се изясни всичко по това...значи като избера примерно втора банка, адресите на регистрите мога да си ги броя пак от 0x00 и така TRISB ми се пада пак 0x06, a не както реално е на адрес 0x86 |
|
| Автор: | Cekins [ Сря Окт 27, 2010 10:11 pm ] |
| Заглавие: | |
Всичко това го има писано в даташитите на всички 16-ки. Командата на процесора е 14 битова и може да адресира директно 7 бита (0х00 до 0х7F). За да може да адресира повече в статус регистъра има 1(2 и т.н.) бита BSR - Bank Select Register - те са дефакто старшите битове на адреса от рама. За съжаление с 16-ките е така. 18-ките са мааалко по добре - половината инструкции могат да адресират директно всеки адрес. И затова Пи джитка само на 32-ки |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|