AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
28.11.2012, 17:44
|
#281
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
Осицила нет к сожалению.. дал поюзать товарищу и забрать не могу никак..
|
|
|
|
28.11.2012, 18:07
|
#282
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
Забыл схему подключения
![](http://my.jetscreenshot.com/demo/m_20121128-ndxx-225kb.jpg)
ЗЫ вопрос на предыдущей странице в конце
Последний раз редактировалось whoim; 28.11.2012 в 18:13.
|
|
|
|
30.11.2012, 12:02
|
#283
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
в общем, тыкание осицилом и тестером выяснило, что всякие разные осицилограммы на всех пинах включая miso присутствуют. То есть ответ идет.
Вот хук функции disk_initialize() либы PetitFS:
Цитата:
|
73 70 69 20 69 6E 69 74 20 6F 6B 2E 2E 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 95 00 00 00 00
|
может ли это помочь выяснить причину отказа в инициализации?
|
|
|
|
30.11.2012, 12:14
|
#284
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
Вот "родной" spi либы
Код:
|
; BYTE rcv_spi (void);
.global rcv_spi
.func rcv_spi
rcv_spi:
ldi r24, 0xFF ; Send 0xFF to receive data
; Goto next function
.endfunc
;---------------------------------------------------------------------------;
; Transmit a byte (27 clks)
;
; void xmit_spi (BYTE);
.global xmit_spi
.func xmit_spi
xmit_spi:
out _SFR_IO_ADDR(USIDR), r24 ; Put a byte to be transmit
ldi r24, 0b000100 ; PB2(SCK)
.rept 16
out _SFR_IO_ADDR(PINB), r24 ; Toggle SCK 16 times
.endr
nop
in r24, _SFR_IO_ADDR(USIDR) ; Get received byte
ret
.endfunc |
Вот моя замена для xmega с выводом отладки
Код:
|
void xmit_spi (uint8_t d) /* Send a uint8_t to the MMC */
{
char _bf[8];
sprintf(_bf, "%#x", d);
RS485_send_str("t:");RS485_send_str(_bf);RS485_send_str("\r\n");
SPID.DATA = d; // initiate write
// wait for transfer complete
while(!(SPID.STATUS & (1‹‹7)));
}
uint8_t rcv_spi (void) /* Send a 0xFF to the MMC and get the received uint8_t */
{
xmit_spi(0xFF);
//xmit_spi(0x00);
char _bf[8];
sprintf(_bf, "%#x", SPID.DATA);
RS485_send_str("r:");RS485_send_str(_bf);RS485_send_str("\r\n");
return SPID.DATA;
} |
вот более внятная отладка
Код:
|
spi init ok..
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0xff
r:0
t:0x40
t:0
t:0
t:0
t:0
t:0x95
t:0xff
r:0
t:0xff
r:0 |
|
|
|
|
30.11.2012, 13:11
|
#285
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: SD/MMC на AVR
используемая процедура задержки не работает, в этом причина
|
|
|
|
01.08.2013, 12:50
|
#286
|
Прохожий
Регистрация: 10.07.2006
Сообщений: 9
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: SD/MMC на AVR
Приветствую. У меня попрос по процедуре disk_initialize. Если задать параметр 0, мк (mega 64) виснет на входе в процедуру намертво, ни одного импульса при этом на карточку не посылается. С другим параметром все как положено - no_init и программа дальше идет. Предшествует этой процедуре только инициализация портов, таймеров, дисплея, отдельных источников прерываний и глобального разрешения их. хотя ставил процедуру в разные места инициализации, даже в текст программы втыкал - результат один: при входе в процедуру виснет. Что это может быть?
ЗЫ, версию CV менял на всякий случай: с 2.05.00 ушел на 2.05.03. Результат никакой.
|
|
|
|
01.08.2013, 13:11
|
#287
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: SD/MMC на AVR
вы пример "SDCARD1" используете? Проверял на меге64 - в протеусе и в железе работало. На контактах /CD и WP есть "10k pull-up resistor to +5V" ?
|
|
|
|
01.08.2013, 15:54
|
#288
|
Прохожий
Регистрация: 10.07.2006
Сообщений: 9
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: SD/MMC на AVR
Олег, что за пример? Если из хелпа,то пробовал. Вместо пулапа стоит модуль готовый http://sun-store.ru/product_57.html, там это есть.
|
|
|
|
01.08.2013, 15:56
|
#289
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: SD/MMC на AVR
тут находятся: c:\cvavr2\examples\SDCARD\
WP вообще не выведен по схеме, в протеусе так работало:
Последний раз редактировалось oleg110592; 01.08.2013 в 16:07.
|
|
|
|
01.08.2013, 16:48
|
#290
|
Прохожий
Регистрация: 10.07.2006
Сообщений: 9
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: SD/MMC на AVR
WP не всегда нужен. Непонятно, почему виснет. Уже все перепробовал...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:41.
|
|