امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل کار با mmc در کدویژن
نویسنده پیام
hamed dehghani آفلاین
كاربر تک ستاره
*

ارسال‌ها: 53
موضوع‌ها: 16
تاریخ عضویت: اسفند ۱۳۸۸

تشکرها : 28
( 35 تشکر در 19 ارسال )
ارسال: #1
مشکل کار با mmc در کدویژن
سلام به دوستان.
من هر کاری میکنم میکرو mmc رو نمیشناسه. از sdcard.h استفاده کردم ولی بازم نمیشناسه.

برنامه ی من به شرح زیره لطفا اشکال برنامه رو به من بگید که درستش کنم:
کد:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.4a Advanced
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : Speaker Clock
Version : 1
Date    : 2012-01-31
Author  : Hamed dehghani
Company : Mr.EFDc
Comments:


Chip type               : ATmega64
Program type            : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 1024
*****************************************************/

#include <mega64.h>
#include <delay.h>
#include <sdcard.h>
#include <stdio.h>
#include <stdlib.h>

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>

unsigned char i;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
TCNT0=0;
i++;
if(i==4)
    {
    TCNT0=30;
    }
if(i==5)
    {
    disk_timerproc();
    i=0;
    }
}

// SPI functions
#include <spi.h>

// Declare your global variables here
//char lcd[16];
void main(void)
{
// Declare your local variables here
unsigned char disk_status,vol=0;
char filename[6]="a.txt",buff[16];
unsigned int br,btr=10;
FATFS drive;
FIL fs;
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0x07;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Port E initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTE=0x00;
DDRE=0x00;

// Port F initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTF=0x00;
DDRF=0x00;

// Port G initialization
// Func4=In Func3=In Func2=In Func1=In Func0=In
// State4=T State3=T State2=T State1=T State0=T
PORTG=0x00;
DDRG=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 125.000 kHz
// Mode: Normal top=FFh
// OC0 output: Disconnected
ASSR=0x00;
TCCR0=0x04;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// OC1C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// Timer/Counter 3 initialization
// Clock source: System Clock
// Clock value: Timer3 Stopped
// Mode: Normal top=FFFFh
// OC3A output: Discon.
// OC3B output: Discon.
// OC3C output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer3 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR3A=0x00;
TCCR3B=0x00;
TCNT3H=0x00;
TCNT3L=0x00;
ICR3H=0x00;
ICR3L=0x00;
OCR3AH=0x00;
OCR3AL=0x00;
OCR3BH=0x00;
OCR3BL=0x00;
OCR3CH=0x00;
OCR3CL=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
// INT3: Off
// INT4: Off
// INT5: Off
// INT6: Off
// INT7: Off
EICRA=0x00;
EICRB=0x00;
EIMSK=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;
ETIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 2000.000 kHz
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=0x50;
SPSR=0x00;

// LCD module initialization
lcd_init(16);

// Global enable interrupts
#asm("sei")

/* initialize SPI interface and card driver */
disk_status=disk_initialize(0);
/* clear the LCD */
lcd_clear();
/* display disk initialization result on the LCD */
if (disk_status & STA_NOINIT) lcd_puts("Disk init failed");
else
if (disk_status & STA_NODISK) lcd_puts("Card not present");
else
if (disk_status & STA_PROTECT) lcd_puts("Card write\nprotected");
/* all status flags are 0, disk initialization OK */
else
lcd_puts("Init OK");
/* wait 2 seconds */
delay_ms(2000);

lcd_clear();

while (1)
      {
      // Place your code here
      f_mount(vol,&drive);
      f_open(&fs,filename,FA_OPEN_EXISTING);
      f_read(&fs,&buff,btr,&br);
      lcd_gotoxy(0,0);
      lcd_puts(buff);
      };
}
پاسخی که از mmc میگیره درست نیست.
برای ارتباط سخت افزاری میکرو و mmc هم از CD4050 استفاده کردم.[/align]

۱۱-اسفند-۱۳۹۰, ۱۲:۳۱:۴۸
وب سایت ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #2
RE: مشکل کار با mmc در کدویژن
میشه بگین چیکارا کردین
مقاومت ها رو درست گذاشتین
پایه هارو درست خوندی؟
موریت چیه؟ میکرو ؟ تبدیل میزنی؟
رو پایه های مموری ولتاژ داری؟
فرکانس میکرو چقدره؟
۱۲-اسفند-۱۳۹۰, ۱۵:۳۴:۴۳
ارسال‌ها
پاسخ
hamed dehghani آفلاین
كاربر تک ستاره
*

ارسال‌ها: 53
موضوع‌ها: 16
تاریخ عضویت: اسفند ۱۳۸۸

تشکرها : 28
( 35 تشکر در 19 ارسال )
ارسال: #3
RE: مشکل کار با mmc در کدویژن
مداری که بستم طبق مداریه که تو help کدویژن پیشنهاد داده. از بافر cd4050 استفاده کردم به عنوان واسط میکرو و mmc و اینکه از lf33 واسه تغذیه ی mmc . میکروی مورد استفاده ی من mega64 و مموری 1 گیگ. میخوام یه سری فایل wav بریزم روش و گاهی اوقات یکی از این فایلا رو پخش کنم. فعلا مشکل من اینه که میکرو اصلا با مموری ارتباط برقرار نمیکنه. فرکانس isp 2 مگا هرتز هست و فرکانس کاری میکرو هم 8 مگا هرتز. پایه های مموری هم طبق help کدویژن وصل کردم. به این صورت:
[تصویر:  codevision-help.png]
ولی وقتی که مدار رو روشن میکنم disk init faild رو نشون میده.

(آخرین ویرایش در این ارسال: ۱۳-اسفند-۱۳۹۰, ۱۶:۱۹:۲۷، توسط hamed dehghani.)
۱۳-اسفند-۱۳۹۰, ۱۶:۱۵:۴۴
وب سایت ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #4
RE: مشکل کار با mmc در کدویژن
تا اونجایی که من میدونم یک گیگ خیلی رقم بالاییه
درضمن مموری باید mmc باشه مموری های میکرو حتی با تبدیل هم بعضی وقت ها رو همه برنامه ها کار نمیکنه
یه مموری در حد 128 بزارین
۱۴-اسفند-۱۳۹۰, ۰۰:۱۱:۳۰
ارسال‌ها
پاسخ
s.m.m آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: خرداد ۱۳۹۲

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: مشکل کار با mmc در کدویژن
مقدار مموری زیاد مهم نیست تا 8 گیگ درست کار میکنه مسیر سیم ها به مموری باید خیلی کوتاه باشه به نویز حساس هستش
۲۳-شهریور-۱۳۹۲, ۱۳:۳۰:۵۷
ارسال‌ها
پاسخ
ali210 آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: مرداد ۱۳۸۸

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #6
RE: مشکل کار با mmc در کدویژن
(۱۱-اسفند-۱۳۹۰, ۱۲:۳۱:۴۸)hamed dehghani نوشته است: سلام به دوستان.
من هر کاری میکنم میکرو mmc رو نمیشناسه. از sdcard.h استفاده کردم ولی بازم نمیشناسه.


پاسخی که از mmc میگیره درست نیست.
برای ارتباط سخت افزاری میکرو و mmc هم از CD4050 استفاده کردم.


من هم همین مشکل رو داشتم مطمعنم از برنامه نیست
ظاهرا این آی سی cd4050 خراب کاری میکنه چون توی فرکانس کاری تاثیر میزاره
اگه مشکلت حل شده به ما هم بگو چکار کردی؟؟؟؟؟
(آخرین ویرایش در این ارسال: ۱۱-مهر-۱۳۹۲, ۱۴:۱۷:۳۹، توسط babyy.)
۱۱-مهر-۱۳۹۲, ۰۲:۳۶:۵۱
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  راه اندازی ماژول gy-955 با AVR و کدویژن hadikh73 6 7,689 ۰۴-شهریور-۱۳۹۷, ۱۲:۰۸:۲۱
آخرین ارسال: hadikh73
  ماژول pn532 و کدویژن AVR hadikh73 1 4,205 ۰۴-خرداد-۱۳۹۶, ۰۱:۲۱:۲۴
آخرین ارسال: babyy
  پیکربندی SPI نرم افزاری در کدویژن pedram032 2 3,661 ۱۷-دى-۱۳۹۵, ۲۲:۳۷:۱۴
آخرین ارسال: omid_phoenix
  کمک در برنامه nrf24 با کدویژن sniper-70 0 2,893 ۱۹-آبان-۱۳۹۵, ۰۰:۱۶:۱۵
آخرین ارسال: sniper-70
  کمک در تشخیص علت خطا در کدویژن alikiller990 2 3,821 ۱۰-خرداد-۱۳۹۴, ۱۸:۱۷:۳۰
آخرین ارسال: alikiller990
  تشخیص فشرده شدن همزمان شستی ها در کدویژن MicrowaveCO 5 3,965 ۲۸-اردیبهشت-۱۳۹۴, ۲۱:۳۱:۱۴
آخرین ارسال: sharin
  تفکیک عدد صحیح و اعشاری در کدویژن جهت ذخیره در EEPROM MicrowaveCO 6 5,534 ۲۶-اردیبهشت-۱۳۹۴, ۰۹:۲۵:۴۶
آخرین ارسال: sharin
  کمک در مورد سنجش زمان توسط تایمر 0 و 1 در مگا 8 و کدویژن MicrowaveCO 6 5,155 ۰۸-اردیبهشت-۱۳۹۴, ۱۵:۵۳:۰۷
آخرین ارسال: MicrowaveCO
  [مقاله] آموزش بیسکام و کدویژن با پروژه های عملی ( بدون جزوه و فیلم ) aKaReZa75 106 89,947 ۱۷-فروردین-۱۳۹۴, ۱۷:۳۹:۴۲
آخرین ارسال: amoosa
  کدنویسی برای atmega در کدویژن!!!!!! blue_s 8 7,943 ۲۳-آذر-۱۳۹۳, ۱۶:۴۵:۴۷
آخرین ارسال: yasharp

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS