سلام
این کتابخانه هایی که پلود میکنم فکر کنم برای برد اموزشی جدید تطابق داده شده اند!
اخه توی برد اموزشی پایه insert به میکرو و پایه ی کناریش به منفی وصل نشد است!
این هدر هایم پایه ای برای check media ندارند!
http://www.4shared.com/rar/UOoaDa-r/Flash-FS_new.html
لطف کنید یه نگاهی بندازید!
[glow=red,2,300]برنامه های آموزشی تست شده برای NXP LPC1768 با توابع CMSIS[/glow]
http://www.eca.ir/forum2/index.php?topic=76623.0
برنامه رو اینجوری تغییر دادم ولی کار نمیکنه
دلیل چی هست ؟؟
/*----------------------------------------------------------------------------
* RL-ARM - FlashFS
*----------------------------------------------------------------------------
* Name: SPI_LPC17xx.c
* Purpose: Serial Peripheral Interface Driver for NXP LPC17xx
* Rev.: V4.20
*----------------------------------------------------------------------------
* This code is part of the RealView Run-Time Library.
* Copyright (c) 2004-2011 KEIL - An ARM Company. All rights reserved.
*---------------------------------------------------------------------------*/
for (i = 0; i < sz; i++) {
LPC_SSP0->DR = buf[i];
/* Wait if Tx FIFO is full. */
while (!(LPC_SSP0->SR & TNF));
LPC_SSP0->DR;
}
/* Wait until Tx finished, drain Rx FIFO. */
while (LPC_SSP0->SR & (BSY | RNE)) {
LPC_SSP0->DR;
}
return (__TRUE);
}
static BOOL RecBuf (U8 *buf, U32 sz) {
/* Receive SPI data to buffer. */
U32 i;
for (i = 0; i < sz; i++) {
LPC_SSP0->DR = 0xFF;
/* Wait while Rx FIFO is empty. */
while (!(LPC_SSP0->SR & RNE));
buf[i] = LPC_SSP0->DR;
}
return (__TRUE);
}
static BOOL BusSpeed (U32 kbaud) {
/* Set an SPI clock to required baud rate. */
U32 div;
div = (__PCLK/1000 + kbaud - 1) / kbaud;
if (div == 0) div = 0x02;
if (div & 1) div++;
if (div > 0xFE) div = 0xFE;
LPC_SSP0->CPSR = div;
return (__TRUE);
}
static BOOL SetSS (U32 ss) {
/* Enable/Disable SPI Chip Select (drive it high or low). */
if (ss) {
/* SSEL is GPIO, output set to high. */
LPC_GPIO1->FIOSET = 1<<21;
}
else {
/* SSEL is GPIO, output set to low. */
LPC_GPIO1->FIOCLR = 1<<2;
}
return (__TRUE);
}
static U32 CheckMedia (void) {
/* Read CardDetect and WriteProtect SD card socket pins. */
U32 stat = 0;
if (!(LPC_GPIO3->FIOPIN & (1 << 25))) {
/* Card is inserted (CD=0). */
stat |= M_INSERTED;
}
#if 0
if ((LPC_GPIO3->FIOPIN & (1 << 25))) {
/* Write Protect switch is active (WP=1). */
stat |= M_PROTECTED;
}
#endif
return (stat);
}
/*----------------------------------------------------------------------------
* end of file
*---------------------------------------------------------------------------*/
سلام
یک سوال درباره دستور fread داشتم
من تونستم با استفاده از این دستور اطلاعات یک فایل رو بخونم ولی به صورت سکتور به سکتور یعنی فرض کنید میخوام سکتور پنجم از mmc رو بخونم . برای این کار پنج بار باید دستور (fread (buf, 1, 512, fin را اجرا کنم که باعث افت سرعت میشه . سوالم ایجا ست که به روشی میشه با یک بار اجرای دستور ، مثلا 512 بایت از یک فایل گرفت ؟ حالا این 512 بایت ممکن در آدرس مثلن 50000 ام فایلمون باشه
یک سوال دیگه هم گوشه ذهن من رو درگیر کرده و اون اینه که مثلا برای همین 1768 اگر sd رو به SSP1 وصل کنیم چطور باید به این کتابخونه بفهمونیم که این به SSP1 وصله نه SSP0 ؟
یک سوال دیگه هم گوشه ذهن من رو درگیر کرده و اون اینه که مثلا برای همین 1768 اگر sd رو به SSP1 وصل کنیم چطور باید به این کتابخونه بفهمونیم که این به SSP1 وصله نه SSP0 ؟
سلام.
خب باید تغیراتی در SPI_LPC17xx.c بدید.
تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا
سلام
ممنون از آموزش خوبتون :applause:
من باید مموری رو طبق عکس تغییر بدم http://www.8pic.ir/images/42472100043307343408.jpg
طبق گفته آقا مهدی در فایل spi_lpc17x تغیر میدم اما جوابی نمیگیرم
درباره پایه p429 هم نگرفتم باید چیکارش کنم؟کدوم پایه مموری میشه
شما هنوز دارید از spi0 استفاده می کنید. بنابرین فقط باید رجیسترهای pinsel رو تغییر بدید
برای p4.29 هم که شما از p3.25 استفاده کردید باید تابع checkmedia رو تغییر بدید
من درست نمی بینم یا LPC واقعا واحد FSMC و SDIO نداره!
مهدی جان،
می دونی ST من هم SDIO و هم FSMC داره که راحت میشه باهاش تقریبا همه حافظه ها رو متصل کرد؟! :twisted: این از اون مواردیه که اگه خواستی می تونی بیای عشقش بشی! :biggrin:
من درست نمی بینم یا LPC واقعا واحد FSMC و SDIO نداره!
مهدی جان،
می دونی ST من هم SDIO و هم FSMC داره که راحت میشه باهاش تقریبا همه حافظه ها رو متصل کرد؟! :twisted: این از اون مواردیه که اگه خواستی می تونی بیای عشقش بشی! :biggrin:
چرا داره.
از جمله ی رفتگان این راه دراز
باز آمده ای کو که به ما گوید راز
هان بر سر این دو راهه از روی نیاز
چیزی نگذاری که نمی آیی باز
دیدگاه