| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Бит тест на юзърска променлива в HI-TECH PICC18, как става? http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=4958 |
Страница 1 от 1 |
| Автор: | tolstolob [ Нед Окт 14, 2007 2:08 am ] |
| Заглавие: | Бит тест на юзърска променлива в HI-TECH PICC18, как става? |
Значи имам дефиниран от мен unsigned char CONTROL_REG, който пази някакви състояния. Често тествам някои битове от него, за да управлявам други битове/променливи, и отвреме-навреме се налага да написвам/трия наведнъж целия CONTROL_REG. В mikroC си има нормално битово достъпване, но компилатора като цяло е една рядка чорба... Бит тест на SFR-ите при HI-TECH-a може да се прави съвсем културно (знаете това много добре:)), обаче как да подходя в случая с моя регистър? |
|
| Автор: | Yanek [ Нед Окт 14, 2007 7:39 am ] |
| Заглавие: | Re: Бит тест на юзърска променлива в HI-TECH PICC18, как ста |
След като компилатора ти не позволява създаване на побитова структура (интересно), тогава ползвай маски. |
|
| Автор: | kiiid [ Нед Окт 14, 2007 10:22 am ] |
| Заглавие: | |
ами ако нямаш бит си направи #define bit(x) (1<<x) после ползваш по стандартния начин - примерно if (CONTROL_REG & bit(5)) .... // ако бит 5 е 1 ... или CONTROL_REG&=~(bit(2)|bit(7)); // нулираш битове 2 и 7 и така нататък... |
|
| Автор: | tolstolob [ Нед Окт 14, 2007 10:23 am ] |
| Заглавие: | |
Бит полетата и маските са ясни. Просто се запитах дали не съм пропуснал побитовото достъпване някъде из менюала... |
|
| Автор: | Gogo [ Нед Окт 14, 2007 11:53 pm ] | |||||||||
| Заглавие: | ||||||||||
Скоро не съм писал на Hi-Tech, но това работеше на някоя от по-старите версии
|
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|