[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
так что с портом рекомендую определиться, а в фунцию передавать маску.
Ну а что-бы небыло казусов с пинами, используемыми как входы,
операции следует производить с образом порта
#define my_port P1 // это всегда можно изменить
#define LED1 0x01
#define LED2 0x04
// и т.д.#define pin_input 0xC1 // эти пины используются как входы
char my_obraz=pin_input; // образ портаvoid my_func(char mask){
my_obraz|=mask; // установить бит
my_obraz&=~mask; // сбросить бит
my_port=my_obraz;// или так
my_port|=mask|pin_input;
my_port&=~(mask|pin_input);}
void main(void){
my_func(LED1);
my_func(LED2);
// etc...
}
Перевести это в АСМ, надеюсь, не составит труда.
E-mail: info@telesys.ru