Чт апр 20, 2017 23:50:30
Пт апр 21, 2017 00:01:03
Если разберётесь (вырезка из программы под PIC18F26K22)....kotbaris1 писал(а):Можете пример кода показать?
Пт апр 21, 2017 00:33:40
Аlex писал(а):Блин, да флаг IF нужно проверять, а не BF
Пт апр 21, 2017 00:35:56
Пт апр 21, 2017 00:39:27
Albert_V писал(а):Мне сложно что-то сказать про ваш дебаггер, поскольку у меня ICD3 (оригинальный) и я работаю с реальным "железом".
Пт апр 21, 2017 00:47:31
kotbaris1 писал(а):Еще предупреждение пишет
Пт апр 21, 2017 01:06:20
Albert_V писал(а):kotbaris1 писал(а):Еще предупреждение пишет
Ну и какого вы забиваете буфер, когда он ещё занят?
Документацию читать будете?
movlw 0x20
movwf SSPBUF
sdata40
clrwdt
BTFSS SSPSTAT, BF
GOTO sdata40
btfsc PIR1,SSPIF
goto givemedate
from_givemedate
incf 0x41
bsf TRISA,SS
givemedate
incf 0x30
movf SSPBUF,W
movwf 0x45
bcf PIR1,SSPIF
goto from_givemedate
Пт апр 21, 2017 13:44:18
Сб апр 22, 2017 21:59:31
Albert_V писал(а):Выше я дал вам пример кода.
Если не поняли, после записи байта в SSPBUF надо "сказать" CALL WAITSPI2 и ждать выхода из подпрограммы (и, естественно, в тексте нужно подправить названия регистров).
Не пропустили в моём тексте про то, что нужно всегда читать SSPBUF после окончания передачи байта?
Если хотите трахаться с программой ещё два месяца продолжать проверять флаг SSPSTAT,BF - это ваше право.
-----
P.S.
Специально для вас:
Можете вообще никаких флагов не проверять, поставив "тупую задержку в цикле" после записи байта в SSPBUF на время передачи байта по SPI умноженное на 1,5.
Сб апр 22, 2017 22:02:31
Сб апр 22, 2017 22:05:32
Albert_V писал(а):Так видно?
После записи в SSPBUF очередного байта - по получению прерывания всё равно (надо или нет) нужно читать SSPBUF!!!
Сб апр 22, 2017 22:09:59
Сб апр 22, 2017 22:27:49
Albert_V писал(а):Наконец-то поняли.
Именно ТАК (не зависимо от того что передаёте в понимании, в вашем случае, EEPROM-а)!!!
Сб апр 22, 2017 22:43:29
Сб апр 22, 2017 22:51:06
Albert_V писал(а):Почему закомментировано:
;Сбрасываем SSPIF
;bcf PIR1,SSPIF
???
Сб апр 22, 2017 22:53:38
Сб апр 22, 2017 22:56:58
Albert_V писал(а):В моём примере пробовали разобраться?
Он рабочий (в железе).
Сб апр 22, 2017 22:59:34
kotbaris1 писал(а):Я разобрался как видите....
Сб апр 22, 2017 23:12:04
Albert_V писал(а):kotbaris1 писал(а):Я разобрался как видите....
Не вижу.
У меня, в отличии от вас, работа по прерыванию и нет проверки SSPSTAT,BF.
Так что, это ваша некая редакция некоего текста программы.
Сб апр 22, 2017 23:20:56