سلام بچه ها
من یک برنامه نوشتم و یک برد درست کردم که به هیچ وجه این SDCARD کانکت نمیشه
کل سایت را زیر و رو کردم ولی به هیچ وجه مشکلم حل نشد
چند تا مشکلی که دارم
1-این که SDCARD که استفاده میکنیم 9 تا پایه داره ولی همه جا با 11 تا پایه کار کردن هر جا را هم که گشتم SD با 11 تا پایه ندیدم
و دقیقا مشکل اینجاست که پایه CD که CARD DETECT هست را نداره بچه ها به نظرتون چی کار کنم
2- همونطور که تو مدار میبینید از یک کریستال خارجی 11.0592 استفاده کردم و تو تنظیمات پروگرام هم تنظیم میکنیم که روی کریستال خارجی ست کنیم
ولی مشکل اساسی اینه که تا برق به مدار میدیم میزنه DISK INIT FAILED
یا روی خط staus=disk_initialize(0) وامیسته و دیکه جلوتر نمیره
بچه ها جدی موندم چی کار کنم واقعا دیگه اعصابم خورد شده
منتظرتون ام
هم کد را قرار دادم هم عکس مدار را
کد:
#include <mega128.h>
#include <sdcard.h>
#include <delay.h>
#include <alcd.h>
#define T1_OVF_FREQ 100
#define T1_PRESC 1024L
#define T1_INIT (0x10000L-(_MCU_CLOCK_FREQUENCY_/(T1_PRESC*T1_OVF_FREQ)))
interrupt [TIM1_OVF] void timer_comp_isr(void)
{
TCNT1H=T1_INIT>>8;
TCNT1L=T1_INIT&0xFF;
disk_timerproc();
}
void main(void)
{
unsigned char status;
TCCR1A=0x00;
TCCR1B=(1<<CS12)|(1<<CS10);
TCNT1H=T1_INIT>>8;
TCNT1L=T1_INIT&0xFF;
TIMSK=1<<TOIE1;
lcd_init(16);
#asm("sei")
status=disk_initialize(0);
lcd_clear();
if (status & STA_NOINIT) lcd_puts("Disk init failed");
else
if (status & STA_NODISK) lcd_puts("Card not present");
else
if (status & STA_PROTECT) lcd_puts("Card write\nprotected");
else lcd_puts("Init OK");
delay_ms(2000);
]
while(1)
{
}
}
این هم عکس مدار
http://s4.picofile.com/file/7804846662/photo.jpg
این هم عکس تنظیمات پروگرام کردن که از دو حالت atmega103M و NormalMode ما در حالت Normal Mode پروگرام کردیم
http://s4.picofile.com/file/7804857632/avr_studio.jpg