Проблемы со SPIMEM. Запись во внешнюю EEPROM

Поклонники продукции Microchip Technology Inc тусуются тут.
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Здарова.
Столкнулся с проблемой, при записи во внешнее EEPROM 25AA040 пишет следующее:
"Page was not written because it is write protected proteus".
Хотя защитный бит для записи притянут к питанию... 6-я стр даташита http://ww1.microchip.com/downloads/en/D ... 21204E.pdf данные по SPI нормально передаются, о чем свидетельствуют показания дебагера. В чем может быть дело? (Использую PIC18F242).
Изображение
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

Разделы 3.3 и 3.4 документации.
Реклама
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):Разделы 3.3 и 3.4 документации.
Спасибо, с записью разобрался. Но со чтением беда...
пытаюсь считать данные, которые записаны в еепром, отправляю инструкцию на чтение, отправляю адрес 0x01 на чтение, где у меня лежит 0x05, читаю sspbuf, но там оказывается 0... уже который месяц не могу разобраться с приемом данных по spi, а он и тут нужен. Что делаю не так?

Код: Выделить всё

bcf TRISA,SS	
			
;передача инструкции
movlw 0x03	
MOVWF  SSPBUF 
instrycd
clrwdt
BTFSS  SSPSTAT, BF  
GOTO   instrycd

;передача адреса
movlw 0x01
MOVWF  SSPBUF 
adrd 
clrwdt
BTFSS  SSPSTAT, BF  
GOTO   adrd

	
;прием данных
movff  SSPBUF,0x40  
sdata40  
clrwdt
BTFSS  SSPSTAT, BF 
GOTO   sdata40	
	
bsf TRISA,SS
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

Что бы что-то прочитать - надо нечто передать (что бы было тактирование от Master-а по SCK).
Не стесняйтесь читать документацию не только на EEPROM, но и на PIC18F242.
Реклама
Эиком - электронные компоненты и радиодетали
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):Что бы что-то прочитать - надо нечто передать (что бы было тактирование от Master-а по SCK).
Не стесняйтесь читать документацию не только на EEPROM, но и на PIC18F242.
Вот не поверите, читал. Второй месяц читаю, а не получается. Может быть я идиот клинический) И примера там явного с кодом нет =(
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

Тогда ответьте на вопрос: Какие данные вы считываете из SSPBUF, если у вас нет тактирования для чтения данных из EEPROM?
Может, надо вначале понять что такое Shift Register и посмотреть FIGURE 15-2: SPI MASTER/SLAVE CONNECTION?
Реклама
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):Тогда ответьте на вопрос: Какие данные вы считываете из SSPBUF, если у вас нет тактирования для чтения данных из EEPROM?
Никакие значит.
Можете объяснить, как мне читать тогда их?
movf 0xXX,W
movwf SSPBUF
это я что-то передаю, а дальше чтоли?
movff sspbuf,0xXX
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

Ага.
После заказа чтения, передаёте что угодно (я, обычно, "швыряю" 00h) и по окончании передачи читаете SSPBUF.
----
P.S.
На мой взгляд, удобнее работать по прерыванию от MSSP.
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):Ага.
После заказа чтения, передаёте что угодно (я, обычно, "швыряю" 00h) и по окончании передачи читаете SSPBUF.
----
P.S.
На мой взгляд, удобнее работать по прерыванию от MSSP.
не пашет(

Код: Выделить всё

bcf TRISA,SS				
;передача инструкции
movlw 0x03	
MOVWF  SSPBUF 
instrycd
clrwdt
BTFSS  SSPSTAT, BF  
GOTO   instrycd
;передача адреса
movlw 0x01
MOVWF  SSPBUF 
adrd 
clrwdt
BTFSS  SSPSTAT, BF  
GOTO   adrd

	
;прием данных
movlw 00h
movwf  SSPBUF
movff  SSPBUF,0x40  
sdata40  
clrwdt
BTFSS  SSPSTAT, BF 
GOTO   sdata40

	
bsf TRISA,SS	
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

Я специально подчеркнул условие для чтения SSPBUF.
Вы же, пытаетесь считать данные до их получения....
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):Я специально подчеркнул условие для чтения SSPBUF.
Вы же, пытаетесь считать данные до их получения....
так тоже не пашет(

Код: Выделить всё

;прием данных
movlw 00h
movwf  SSPBUF
sdata40  
clrwdt
BTFSS  SSPSTAT, BF 
GOTO   sdata40
movff  SSPBUF,0x40
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

Если будете работать по прерыванию от MSSP - всё получится.
Неужели сложно разобраться в FIGURE 15-3?
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):Если будете работать по прерыванию от MSSP - всё получится.
Неужели сложно разобраться в FIGURE 15-3?
Она никакой информации по тому, как принять данные не дает. Только как они отправляются. Так а чего не работает подобный метод, а нужно через прерывания?
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

kotbaris1 писал(а): чего не работает подобный метод, а нужно через прерывания?
Что-то ещё является признаком окончания передачи байта кроме SSPIF?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Аlex »

На этот камень есть даже Русский перевод даташита, в котором всё расписано/разжёвано вдоль и поперёк.
Какие могут тут появляться вопросы....
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):
kotbaris1 писал(а): чего не работает подобный метод, а нужно через прерывания?
Что-то ещё является признаком окончания передачи байта кроме SSPIF?
По даташиту он отвечает только за то, что выполнено условие прерывания если в 1.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

По даташиту, на FIGURE 15-3, указано когда поднимается SSPIF и когда происходит запись SSPSR to SSPBUF.
Что ещё нужно?
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):По даташиту, на FIGURE 15-3, указано когда поднимается SSPIF и когда происходит запись SSPSR to SSPBUF.
Что ещё нужно?
Ничего, но это не мешает тому, что у меня второй месяц это не пашет.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение Albert_V »

kotbaris1 писал(а):это не мешает тому, что у меня второй месяц это не пашет.
А у меня работает (по SSPIF).
У кого из нас ошибка?
kotbaris1
Первый раз сказал Мяу!
Сообщения: 30
Зарегистрирован: Ср окт 21, 2015 23:33:35

Re: Проблемы со SPIMEM. Запись во внешнюю EEPROM

Сообщение kotbaris1 »

Albert_V писал(а):
kotbaris1 писал(а):это не мешает тому, что у меня второй месяц это не пашет.
А у меня работает (по SSPIF).
У кого из нас ошибка?
Так ясно что у меня))
Можете пример кода показать?
Ответить

Вернуться в «PIC»