Здравствуйте!
Изучаю SPI. Для PIC16F887 нашел и оно заработало. Теперь перевожу это код для PIC16F690. Вижу в железе, что сигнал приходит. Прерывание возникает. Но в данных все время ==0.
В Протеусе все работает. А в железе никак светодиод не зажгу. Ткните пожалуйста интерфейсом в ошибку, если можно
Схему и тексты приложил.
Принцип такой: жму кнопку на МК1 (слева на схеме). Загорается левый светодиод - сигнал есть. Каждые 100 мс состояние кнопки передается по SPI на МК2. Только в инверсии. Если левый светит, то передается 0, ели погас - 0xAA (не 0). А на МК2 читаю, что передали и зажигаю правый светодид.
Заранее спасибо!
А если кто-то подскажет, где в Краснодарском крае купить PIC16F887 в наличии, то буду очень благодарен!!!
- Вложения
-
- spi.h
- (1.06 KiB) Скачиваний: 64
-
- spi.c
- spi
- (1.33 KiB) Скачиваний: 65
-
- newmain.c
- Slave
- (2.21 KiB) Скачиваний: 74
-
- newmain.c
- Master
- (2.4 KiB) Скачиваний: 72
-
- изображение_2021-09-07_174341.png
- (128.51 KiB) Скачиваний: 104