Страница 3 из 3
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Сб апр 22, 2017 23:27:51
kotbaris1
Albert_V писал(а):Переводной документацией не пользуюсь.
Ваш пример - это, похоже, работа в режиме Slave.
Прочтите программатором вашу 25AA040 и выложите что там сейчас прописано.
у меня нет железа, я в протеусе работаю

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Сб апр 22, 2017 23:40:23
Albert_V
kotbaris1 писал(а):у меня нет железа, я в протеусе работаю.
По протезу я не советчик.
Если даже в MPLAB встречаются ошибки симуляции, я хз что творится в протезе.
Добавлено after 9 minutes 54 seconds:
БЛ@@@@@@!!!!!
Ошибка протеза!!!!
Числа 45h и A2h - это одно и тоже число, только "наоборот"!
Разложите в
bin оба числа и поймёте....
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Сб апр 22, 2017 23:49:11
kotbaris1
Albert_V писал(а):kotbaris1 писал(а):у меня нет железа, я в протеусе работаю.
По протезу я не советчик.
Если даже в MPLAB встречаются ошибки симуляции, я хз что творится в протезе.
Добавлено after 9 minutes 54 seconds:
БЛ@@@@@@!!!!!
Ошибка протеза!!!!
Числа 45h и A2h - это одно и тоже число, только "наоборот"!
Разложите в bin оба числа и поймёте....
10100010
1000101
мда, действительно) аххаха.... сколько я долбился с этим. Спасибо) Цистерну валерьянки вам)
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Сб апр 22, 2017 23:59:43
Albert_V
И ещё:
Конкретно с вашим PIC18F242 я не работал, но те из серии PIC18F которые у меня были, не выставляли флаг прерывания если прерывание не разрешено.
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 01:32:31
kotbaris1
Albert_V писал(а):И ещё:
Конкретно с вашим PIC18F242 я не работал, но те из серии PIC18F которые у меня были, не выставляли флаг прерывания если прерывание не разрешено.
Окей. Спасибо
Добавлено after 1 hour 23 minutes 48 seconds:
Albert_V писал(а):И ещё:
Конкретно с вашим PIC18F242 я не работал, но те из серии PIC18F которые у меня были, не выставляли флаг прерывания если прерывание не разрешено.
Он там искажает данные как может... ощущение что биты где-то теряются.
Ибо выдает C8, вместо 0x90... A0 место 0x40
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 01:58:31
Albert_V
Мой вам совет: Переходите от симуляции к реальному железу.
Железо, в отличии от симулятора, не врёт.
Добавлено after 22 minutes 14 seconds:
Чую, скоро модератор обратит внимание на то, что вы в свои посты вставляете полные цитаты.
За это реально можно получить предупреждение или бан.
Постарайтесь не вставлять цитаты, без которых будет понятен ваш пост.
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 04:53:22
КРАМ
Albert_V писал(а):И ещё:
Конкретно с вашим PIC18F242 я не работал, но те из серии PIC18F которые у меня были, не выставляли флаг прерывания если прерывание не разрешено.
Вы о чем?
Флаги не имеют к разрешениям прерываний никакого отношения. Если уж на то пошло, то флаги формируются в самом периферийном модуле, а разрешения в контроллере прерываний. Нафига таскать сигналы туда-обратно?
Да и схема логики формирования прерываний у всех 18-х ПИКов идентична. Раздел даташита с этой схемой тупо копипастится из одного даташита в другой.
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 12:31:14
Albert_V
КРАМ писал(а):Вы о чем?
О том что, к примеру, в PIC18F26K22 модуль MSSP2 не поднимет флаг SSP2IF если у него не разрешено прерывание.
Проверено в железе!
Что касается <Нафига таскать сигналы туда-обратно?> - ответ простой: Мне была нужна работа с SPI с
низшим приоритетом (в фоновом режиме).
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 14:07:22
КРАМ
Уверяю Вас, - Вы ошибаетесь.
"Проверка в железе" очень часто дает ложные представления. Все зависит от обстоятельств. У Вас по каким то неизвестным Вам обстоятельствам не взводился флаг(а может Вы его не смогли корректно продетектировать), и Вы дали такое объяснение....
По существу. На стр.114 даташита есть схема вентилей формирования прерываний. И там есть, в том числе, регистр PIR3, который всеми 8 своими разрядами участвует в генерации прерываний как один из аргументов функции И. Другими двумя аргументами являются регистры разрешения и приоритета PIE3 и IRP3. То есть нет никакой необходимости в том, о чем Вы излагаете. Мало того, я достаточно часто употреблял флаг SPI как способ ожидания следующей транзакции в буфер при передаче. Без всяких прерываний. Именно на этом контроллере. Например у меня есть прибор, где инициализация модуля передатчика RFM (HopeRF) как раз происходит по флагам. А дальнейший обмен уже в прерываниях.
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 14:11:20
Albert_V
Уверяю Вас что проверка внутрисхемным Debugger-ом (ICD3) позволяет точно понять где и почему ошибка.
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 14:14:23
КРАМ
Положим, у меня такой же ICD3...
И результаты прямо противоположные. Например, при определенных настройках среды на брекпойнте может не происходить апдейта данных и требуется сделать еще один шаг вручную. Это чисто как пример.
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вс апр 23, 2017 14:41:21
Albert_V
Эти тонкости я знаю.

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Пн апр 24, 2017 08:56:37
КРАМ
Position number one:
Position number two:
Как я и говорил, Вы ошибаетесь.
Контроллер PIC18F25K22
Дебаг через ICD3
Программа слегка модифицирована, чтобы продемонстрировать искомое.

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Пн апр 24, 2017 22:12:06
Albert_V
Если и на приём данных уверенно работает - пусть будет так.
Сколько авторов программ - столько и решений...
Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM
Добавлено: Вт апр 25, 2017 03:10:52
КРАМ
В каком смысле "на прием"? В слейве?
В SPI нет понятия "на прием". Чтобы что либо принять, нужно что либо передать. Поэтому продемонстрирован режим "мастер". Подъем флага BF по завершении передачи как раз говорит о том, что буфер ЗАПОЛНЕН. Имеется ввиду буфер приема, конечно.
И все это не зависит ни от меня, ни от Вас.
