ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
659585 Топик полностью
Yft (12.03.2016 12:47, просмотров: 118) ответил Nikolay801_ на ну можно вот так сделать
У меня сейчас для проверки одного типа кабеля так написано: while (1) { CableState = No_cable; Number_of_good_wires = 0; Number_of_bad_wires = 0; // Тестирование первого провода P1.1 - P2.1 P1OUT |= 0x02; delay(20); if (P2IN == 0x02) {Number_of_good_wires++;} if (P2IN & ~0x02) {Number_of_bad_wires++;} P1OUT &= ~0x02; delay(20); // Тестирование второго провода P1.2 - P2.2 P1OUT |= 0x04; delay(20); if (P2IN == 0x04) {Number_of_good_wires++;} if (P2IN & ~0x04) {Number_of_bad_wires++;} P1OUT &= ~0x04; delay(20); // Тестирование третьего провода P1.3 - P2.3 P1OUT |= 0x08; delay(20); if (P2IN == 0x08) {Number_of_good_wires++;} if (P2IN & ~0x08) {Number_of_bad_wires++;} P1OUT &= ~0x08; delay(20); // Тестирование четвертого провода P1.4 - P2.4 P1OUT |= 0x10; delay(20); if (P2IN == 0x10) {Number_of_good_wires++;} if (P2IN & ~0x10) {Number_of_bad_wires++;} P1OUT = 0x00; // delay(20); // if (!Number_of_good_wires && !Number_of_bad_wires) {CableState &= (~(Good_cable | Bad_cable));} if ((Number_of_good_wires == Number_of_wires) && (!Number_of_bad_wires)) {CableState = Good_cable;} else if ((Number_of_bad_wires) || ((0 < Number_of_good_wires) && (Number_of_good_wires < Number_of_wires))) {CableState = Bad_cable;} P1OUT |= CableState; // delay(20); } }