Отговори на тема  [ 3 мнения ] 
Смяна на pin в CCS? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение Смяна на pin в CCS?
Ще се опитам да обясня - имам написан драйвер който използвам в главната програма. В него имам нещо от вида - #define WORKING_PIN PIN_E0.
Всичко си работеше добре докато не ми се наложи в прецеса на работа да се сменя извода - т.е. да е динамичен - в един участък примерно да е Е1, в друг Е2 и така.
Не съм съвсем в час с подробностите в С-то та ако някой може да бутне едно рамо или да карам по трудния начин?


Съб Дек 22, 2007 10:17 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Ако ползваш #define там където искаш да смениш пина, няма да работи, #define е compile-time директива. Ще трябва да караш по трудния начин, примерно да напишеш функция за клатене на пин, която да проверява в глобална променлива кой е пина, към който да се обръща.

Код:
#byte PORTE = 0x09
#bit  E1 = PORTE.1
#bit  E2 = PORTE.2

int1 working_pin_ctrl = 0; // глобална bit променлива

#inline void workpin(int1 state)
{
  if (working_pin_ctrl)
   E1 = state;
    else
     E2 = state;
}


Няма да се отрази особено в бързодействието на програмата ти - if-a се компилира с 4 инструкции на asm :)


Съб Дек 22, 2007 10:55 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Мар 08, 2006 2:12 pm
Мнения: 2017
Местоположение: Котел
Мнение 
Благодаря @Predator_MF :D


Съб Дек 22, 2007 11:00 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 3 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни