|
AVR, AT25256A |
|
|
|
Jan 3 2006, 19:48
|
Группа: Новичок
Сообщений: 14
Регистрация: 3-01-06
Пользователь №: 12 807

|
Прошу помощи! Не могу запустить программу записи и чтения данных из АТ90S8535 в память AT25256A по SPI .Или неправильно подключил память,или неправильный обмен данными.Прошу совет или образец программы ! e_av74@mail.ru Входы HOLD\ и WP\ подключил к +5V . ?
;---------------------Вот мой кусок программы записи 1 байта в память
cbi PORTB,_CS ; CS'=0 ldi tmp,0x06 ; WREN rcall send_spi sbi PORTB,_CS ; CS'=1 nop nop nop nop cbi PORTB,_CS ; CS'=0 ldi tmp,0x02 ;WRITE rcall send_spi mov tmp,Xh rcall send_spi mov tmp,Xl rcall send_spi mov tmp,dspi rcall send_spi sbi PORTB,_CS ; CS'=1 ret ;---------------------- SPI ----------------------- send_spi: out SPDR,tmp ; wait_spi: sbis SPSR,SPIF ; rjmp wait_spi in tmp,SPDR ret ;------------------------------------------------------ А это чтение из памяти: sbi PORTB,_CS ; CS'=1 cbi PORTB,_CS ; CS'=0 ldi tmp,0x03 ;READ rcall send_spi mov tmp,Xh rcall send_spi mov tmp,Xl rcall send_spi mov dspi,tmp sbi PORTB,_CS ; CS'=1 ret
|
|
|
|
|
 |
Ответов
|
Jan 5 2006, 00:32
|
Группа: Новичок
Сообщений: 14
Регистрация: 3-01-06
Пользователь №: 12 807

|
Вроде инициализация и всё остальное похожи на исходники ,только они на С или другом компиляторе ,где команда SPI передачи байта не раскрыта .Может я в ассемблере её неправильно описал? Вопрос ,на схемах я увидел что выбор Slave по команде из порта но не из PB4 (SS\) ,а я им выбираю память.Может так нельзя,или PB4 сам выдаёт сигнал при загрузке в SPDR данных ? Порекомендуйте компилятор ,только с описанием ,без лимита срока и популярный! Спасибо!
Вроде инициализация и всё остальное похожи на исходники ,только они на С или другом компиляторе ,где команда SPI передачи байта не раскрыта .Может я в ассемблере её неправильно описал? Вопрос ,на схемах я увидел что выбор Slave по команде из порта но не из PB4 (SS\) ,а я им выбираю память.Может так нельзя,или PB4 сам выдаёт сигнал при загрузке в SPDR данных ? Порекомендуйте компилятор ,только с описанием ,без лимита срока и популярный! Спасибо!
|
|
|
|
|
Jan 5 2006, 14:09
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Andrey_31 @ Jan 5 2006, 07:32)  Вроде инициализация и всё остальное похожи на исходники ,только они на С или другом компиляторе ,где команда SPI передачи байта не раскрыта .Может я в ассемблере её неправильно описал? Вопрос ,на схемах я увидел что выбор Slave по команде из порта но не из PB4 (SS\) ,а я им выбираю память.Может так нельзя,или PB4 сам выдаёт сигнал при загрузке в SPDR данных ? Порекомендуйте компилятор ,только с описанием ,без лимита срока и популярный! Спасибо!
Вроде инициализация и всё остальное похожи на исходники ,только они на С или другом компиляторе ,где команда SPI передачи байта не раскрыта .Может я в ассемблере её неправильно описал? Вопрос ,на схемах я увидел что выбор Slave по команде из порта но не из PB4 (SS\) ,а я им выбираю память.Может так нельзя,или PB4 сам выдаёт сигнал при загрузке в SPDR данных ? Порекомендуйте компилятор ,только с описанием ,без лимита срока и популярный! Спасибо! По поводу компилятора Си...На этом форуме все хвалят и рекомендуют друг-другу IAR Embedded Workbench for AVR v 4.xxx. Я его, в принципе, тоже пользую. Я раньше писал на ImageCraft Compiler for AVR (ICC). Тоже не плохая вещь, но намного меньше тонких настроек компилятора, что ограничивает его применение. Остальные не пользовал. На все, выше приведенное можно найти "таблетки" сдесь, на форуме. Еще раз настоятельно рекомендую Вам попользоваться поиском по форуму. :-) По поводу кода - все вроде бы правильно, но Вы не привели инициализацию интерфейса, ...а может банальное - Вы забыли сконфигурировать порты SPI (входы-выходы)? Пол поводу SS: Я не обуду объяснять механизмы его работы, на это есть даташиты от производителя, там все написано, скажу лишь, что если SPI настроен как МАСТЕР а вывод SS сконфигурирован как выход, то на работу интерфейса SPI он никак не влияет, и может использоваться Вами по любому удобному назначению
Сообщение отредактировал prottoss - Jan 5 2006, 14:15
--------------------
|
|
|
|
Сообщений в этой теме
Andrey_31 AVR Jan 3 2006, 19:48 solidreg А как сконфигурирован SPI? (SPCR register) Должен ... Jan 3 2006, 21:22 prottoss Цитата(Andrey_31 @ Jan 4 2006, 02:48) Про... Jan 4 2006, 12:27 Blade000 В программе у тебя всё правильно. SPI настроить ну... Jan 15 2006, 11:16 Andrey_31 Кто знает ? Рад любой мысли ! Вторую неделю ту... Jan 15 2006, 16:18 Blade000 Могу прислать проект для ATmega8, там есть обмен с... Jan 15 2006, 16:33 Blade000 В твоей программе конфигурация SPI точно неправиль... Jan 15 2006, 17:11 Andrey_31 Спасибо за советы, жду новых !!!
При л... Jan 16 2006, 00:06 Blade000 А зачем ты SO повесил на 5В через резюк???
напряму... Jan 16 2006, 07:52 Sasok Не хотел вам мешать, но вместо AT25*** удобней и л... Jan 16 2006, 08:34 AndyBig ЦитатаНе хотел вам мешать, но вместо AT25*** удобн... Jan 16 2006, 09:43 Sasok Цитата(AndyBig @ Jan 16 2006, 12:43) Вот ... Jan 16 2006, 10:06 Andrey_31 С резаком видел схемы ,и они работали. Сам пробова... Jan 16 2006, 18:00 Blade000 C STK2000 не работал, сказать точно не могу, но я ... Jan 17 2006, 06:40 Blade000 Как успехи то, заработала память? Jan 18 2006, 17:39 Andrey_31 Когда я отсоединил программатор на выходе памяти п... Jan 21 2006, 07:45 Blade000 Скинь мне схему на почту, я посмотрю, что неправил... Jan 21 2006, 10:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|