[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: А может вот так...(если я правильно понял задачу )...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Hog 16 октября 2001 г. 15:03
В ответ на: Вопрос знатокам С (и не только) отправлено V 15 октября 2001 г. 20:04

По принципу разводки двух разёмов (COM)9-PIN's>(COM)25-PIN's

1. Назначить вх.буф. регистр, например: static char IN_BUF;
2. Назначить вых.буф. регистр, например: static char OUT_BUF
3. И для IN_BUF и для OUT_BUF определить битовые переменные
Например,обозвав их :
IN_bit0 OUT_bit0
IN_bit1 OUT_bit1
IN_bit2 OUT_bit2
IN_bit3 OUT_bit3
IN_bit4 OUT_bit4
IN_bit5 OUT_bit5
IN_bit6 OUT_bit6
IN_bit7 OUT_bit7

4. А далее, в теле программы выполнить преобразование:

OUT_bit0=IN_bit7;
OUT_bit1=IN_bit6;
OUT_bit2=IN_bit5;
OUT_bit3=IN_bit4;
OUT_bit4=IN_bit3;
OUT_bit5=IN_bit2;
OUT_bit6=IN_bit1;
OUT_bit7=IN_bit0;

Господи! Да как угодно можно пертусовать эти биты, например так:

OUT_bit0=IN_bit5;
OUT_bit1=IN_bit2;
OUT_bit2=IN_bit7;
OUT_bit3=IN_bit6;
OUT_bit4=IN_bit3;
OUT_bit5=IN_bit0;
OUT_bit6=IN_bit4;
OUT_bit7=IN_bit1;

5. Ну и "угощай" этим OUT_BUF чего хочешь. Хоть переменную, хоть
регистр любого порта.

P/S Или я чего не так понял ???


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru