سلام
یه bug عجیب تو کار با Keil برخوردم تو یه پروژه ای نیاز بود یه آرایه از نوع int با تعداد عناصر 300 تعریف کنم به هیچ وجه این آرایه رو نمی گرفت؟
دلیلش چه می تونه باشه به نظر دوستان؟
سلام
یه bug عجیب تو کار با Keil برخوردم تو یه پروژه ای نیاز بود یه آرایه از نوع int با تعداد عناصر 300 تعریف کنم به هیچ وجه این آرایه رو نمی گرفت؟
دلیلش چه می تونه باشه به نظر دوستان؟
سلام
لطفا برنامهتونو بذارید.
سلام
برنامش که پیجیدست ولی برای خواندن اطلاعات از بافر Sim300 تو مد PDU نیاز به تعریف یک آرایه با حجم بالا داشتم دیدم جواب نمی ده نمیدونم این باگ برای میکرو یا خود Keil?
مشکل از کیل نمیتونه باشه. من الان تست کردم. مثل اینکه محدودیتی برای تعداد عناصر آرایه نداریم. میکرویی که انتخاب کرده بودم at91sam7x256 بود.
موفق باشید
کلا شاید بخاطر Sim300 باشه
یه جایی از برنامه می آد فرمت data رو بخونه
printf("at\r");
delay_s(1);
printf("at+cmgf=0\r");
delay_ms(500);
printf("AT+CMGR=1\r");
do
{
m=getchar();
n=getchar();
o=getchar();
m&=0x0f;
n&=0x0f;
o&=0x0f;
if(m==0 && n==6 && o==9) cte=0;
}while(cte!=0);
for(i=0;i<=160;i++)
{
array[i]=getchar();
}
ولی عجیبه ؟
وقتی Sms دریافتی پایینتر از مثلا 10 کاراکتر باشه اصلن با دستور getchar() چیزی تو آرایه نمی ریزه ولی تعداد کاراکتر بالاتر یا sms چند بخشی رو می گیره و نمایش می دهد؟
مانده ایم والا از عجایب دنیای دیجیتال
ویرایش توسط draculaaaaa : 24-05-2011 در ساعت 13:56
دوستان من یک مشکلی دارم وقتی برنامه رو compile می کنم این خطا رو میده:
include <AT91SAM7S64.H#پیغام خطا:
#include <lib_AT91SAM7S64.h>
void wait(void);
int main(void){
AT91F_PIO_CfgOutput(AT91C_BASE_PIOB,AT91C_PIO_PB0) ;
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,AT91C_PIO_PB 0);
wait();
AT91F_PIO_SetOutput(AT91C_BASE_PIOB,AT91C_PIO_PB0) ;
}
void wait(void) {
unsigned int n;
for(n=0;n<7273800;n++);
}
Build target 'Target 1'
compiling test1.c...
test1.c(7): error: #20: identifier "AT91C_BASE_PIOB" is undefined
test1.c(7): error: #20: identifier "AT91C_PIO_PB0" is undefined
Target not created
رجیسترهای PIOB تون را نتونسته identify کنه
باید توی هدر lAT91SAM7S64.h تعریف شده باشه برید فایل include
رو ببنید