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


