Например TDA7294

Форум РадиоКот :: Просмотр темы - Запись данных через SPI во SRAM 23a256. Pic18
Форум РадиоКот
https://radiokot.ru/forum/

Запись данных через SPI во SRAM 23a256. Pic18
https://radiokot.ru/forum/viewtopic.php?f=58&t=142309
Страница 1 из 1

Автор:  kotbaris1 [ Вт фев 21, 2017 22:52:17 ]
Заголовок сообщения:  Запись данных через SPI во SRAM 23a256. Pic18

Привет. Такая тема. Есть виртуальный терминал, в нем я ввожу значения любые и они должны через SPI писаться во внешнее озу.
SPI дебаггер показывает что все ОК, какие-то данные пишутся, но если посмотреть в память 23a256 то там все чисто...

Как инициализирую SPI
Код:
;SPI initialization
bsf SSPSTAT,SMP ; опрос входа в конце периода вывода данных
bsf SSPSTAT,CKE ; по какому фрону будет перед-ся сигнал
bsf SSPCON1,CKP ; полярность
bcf SSPCON1, SSPM3
bcf SSPCON1, SSPM2
bcf SSPCON1, SSPM1
bcf SSPCON1, SSPM0 ;f/4
bsf TRISC,SDI ; вход данных 1
bcf TRISC,SDO ; выход данных 0
bcf TRISC,SCK ; ведущий в 0
bsf TRISA,SS ; в 1
bsf SSPCON1,SSPEN ;включаем модуль модуль SPI
   



Как пишу данные в SRAM
Код:
SEND_TO_SPI   
bcf TRISA,SS            
MOVF   0X20, W
MOVWF  SSPBUF   ;Передать новые данные 
;MOVF   SSPBUF, W   ;Загрузить в W значение из SSPBUF
LOOP   
clrwdt
BTFSS  SSPSTAT, BF  ;Данные приняты?
GOTO   LOOP     ;Нет             
RETURN


Скрины процесса
Изображение
Изображение

Что я делаю не так и как следует делать?

Вложения:
2.JPG [244.37 KiB]
Скачиваний: 234

Автор:  Albert_V [ Вт фев 21, 2017 23:34:57 ]
Заголовок сообщения:  Re: Запись данных через SPI во SRAM 23a256. Pic18

kotbaris1 писал(а):
...Что я делаю не так и как следует делать?

Может быть, вначале, имеет смысл почитать документацию на 23A256 (хотя бы, с 5-ой страницы)?

Автор:  kotbaris1 [ Вт фев 21, 2017 23:53:59 ]
Заголовок сообщения:  Re: Запись данных через SPI во SRAM 23a256. Pic18

Albert_V писал(а):
kotbaris1 писал(а):
...Что я делаю не так и как следует делать?

Может быть, вначале, имеет смысл почитать документацию на 23A256 (хотя бы, с 5-ой страницы)?


Да, читал. Т.е. мне нужно отправить сначала данные через sspbuf, потом 16-битный адрес куда писать данные, а потом инструкцию того, чтоб память работала на запись? Так не прокатило.

Изображение

Автор:  Albert_V [ Ср фев 22, 2017 00:01:45 ]
Заголовок сообщения:  Re: Запись данных через SPI во SRAM 23a256. Pic18

kotbaris1 писал(а):
Да, читал. Т.е. мне нужно отправить сначала данные через sspbuf, потом 16-битный адрес куда писать данные, а потом инструкцию...

Да как вы её читаете????
Instruction>16-bit Address>Data. (FIGURE 2-1(2))

Автор:  kotbaris1 [ Ср фев 22, 2017 00:14:33 ]
Заголовок сообщения:  Re: Запись данных через SPI во SRAM 23a256. Pic18

Albert_V писал(а):
kotbaris1 писал(а):
Да, читал. Т.е. мне нужно отправить сначала данные через sspbuf, потом 16-битный адрес куда писать данные, а потом инструкцию...

Да как вы её читаете????
Instruction>16-bit Address>Data. (FIGURE 2-1(2))

Так с лево на право, по оси времени) Ну мб я аутист, то что даташиты по китайски читать надо не знаю))
Все пашет, благодарю за помощь и низко кланяюсь) вы не представляете как сильно помогли. Спасибо

код для тех, у кого возникнет подобная проблема
Код:
movlw 0x2   
MOVWF  SSPBUF
LOOP2 
clrwdt
BTFSS  SSPSTAT, BF 
GOTO   LOOP2
movlw 0x00   
MOVWF  SSPBUF
LOOP3 
clrwdt
BTFSS  SSPSTAT, BF 
GOTO   LOOP3
movlw 0x00   
MOVWF  SSPBUF
LOOP4 
clrwdt
BTFSS  SSPSTAT, BF 
GOTO   LOOP4   
movlw d'10'
MOVWF  SSPBUF     
LOOP1 
clrwdt
BTFSS  SSPSTAT, BF 
GOTO   LOOP1     

Автор:  Albert_V [ Ср фев 22, 2017 00:17:17 ]
Заголовок сообщения:  Re: Запись данных через SPI во SRAM 23a256. Pic18

Незачто.
Все временные диаграммы читаются слева направо.
Можно ещё ориентироваться по номеру SCK.....
Удачи!

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/