NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2823 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 4 1234 آخرینآخرین
نمایش نتایج: از 1 به 20 از 77

موضوع: کار با کتابخانه ff.h کدویژن

  1. #1
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض کار با کتابخانه ff.h کدویژن

    درود بر دوستان گل
    اقا یه سوال در مورد نوشتن در حافظه mmc دارم
    برای نوشتن در این نوع حافظه باید کد دستوری به شکل زیر استفاده کرد
    کد:
    res=f_write(&file,buffer,14,&nbytes)
    حالا سوال من اینه که چطور باید به متغییر buffer مقدار دهی کرد
    مثلا بخواهیم مقدار یه سنسور را از خروجی بریزیم داخل این متغییر
    اگه به این شیوه
    کد:
     buffer[u]=t;
    که u متغییری است که مقدارش از صفر تا ....
    اضافه می شود حالا به جای اینکه عدد در این متغییر بافر ذخیره شود فاصله چاپ می کند( یعنی فضا را اشغال میکند و رایت می شود ولی فقط فاصله )دلیل چیست

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    کد:
    buffer[2] = 4;
    در این مثال عدد 4 در خانه ی شماره 2 آرایه ی buffer قرار میگیرد

  4. تشکرها از این نوشته :


  5. #3
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نقل قول نوشته اصلی توسط esisafa نمایش پست ها
    کد:
    buffer[2] = 4;
    در این مثال عدد 4 در خانه ی شماره 2 آرایه ی buffer قرار میگیرد
    ممنون دوست عزیز ولی مشکل من در فهم ارایه و .... نیست !
    منظور از چطور باید مقدار دهی کرد اینکه با این روش نمی شه مثلا بیایم
    متغییر t که مقدار دما از ورودی هست را مثلا این جوری بریزیم
    کد:
     buffer[u]=t;
    از نظر تئوری درسته ولی در عمل ...

  6. #4
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    میشه ولی باید دید که در منطق برنامه مشکلی نباشه.
    شما ابتدا همون چیزی که گفتم رو بریزید رو حافظه و بعد در یک آرایه ی دیگه بخونید ببینین اگه کار نکرد معلوم میشه که مشکل از جای دیگس.
    شما برای رفع یک مشکل باید مرحله به مرحله از درست بودن قضیه مطمئن بشین و مستقیم نرید سر آخر کار

  7. تشکرها از این نوشته :


  8. #5
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نه درسته من ابتدا همون طوری که شما در دوپست قبل نوشته بودید زدم همون نتیجه ای که گفتم حاصل شد
    اما اگه اینجوری بنویسم درست میشه
    کد:
    buffer[2] =' 4';
    ولی حالا یه مقدار متغییر را چیکار کنیم

  9. #6
    کاربر علاقه مند
    تاریخ عضویت
    May 2010
    نوشته ها
    67
    تشکر
    727
    تشکر شده 145 بار در 49 پست

    پیش فرض

    با سلام
    اطلاعات بافر را اگر به صورت باینری در فایل ذخیره می کنید، باید به صورت باینری بخوانید.

    با سپاس

  10. کاربران : 2 تشکر کرده اند از شما gangi برای ارسال این پست سودمند:


  11. #7
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    نه درسته من ابتدا همون طوری که شما در دوپست قبل نوشته بودید زدم همون نتیجه ای که گفتم حاصل شد
    اما اگه اینجوری بنویسم درست میشه
    کد:
    buffer[2] =' 4';
    ولی حالا یه مقدار متغییر را چیکار کنیم
    '4' یعنی کد اسکی کاراکتر 4 رو ذخیره کنه.
    در حالت 4 خالی مقدار عدد 4 یعنی 0x04 رو ذخیره میکنید ولی در حالت '4' شما کاراکتر 4 یعنی 0x34 هگز معادل هدد 52 رو ذخیره میکنید.

    برای ذخیره سازی فرقی ندارن. ولی برای جایی که استفاده میشه و نحوه ی استفاده سرتاپا فرق دارن.
    اگه شما متغییر t رو درست مقدار بدین مشکلی نخواهد بود. که دارین اشتباه کار میکنین احتمالا

  12. کاربران : 2 تشکر کرده اند از شما esisafa برای ارسال این پست سودمند:


  13. #8
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    همین دیگه کد اسکی رو توی فایل txt ذخیره میکنه ولی عدد معمولی را نه
    من یه راهی میخوام که بتونم مقدار مثلا دما رو به اسکی تبدیل کنم بریزم داخلش

  14. #9
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    دنبال توابع atoi و itoa در هلپ بگردین.
    برای تبدیل عدد به رشته و برعکس استفاده میشن

  15. تشکرها از این نوشته :


  16. #10
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    همین دیگه کد اسکی رو توی فایل txt ذخیره میکنه ولی عدد معمولی را نه
    سلام
    چطوری این قضیه رو تست کردین؟
    اگر فایل رو با Notepad بازکنید عدد 4 چون معادل کاراکتری نداره اصلاً دیده نمی شه. باید فایل رو با Hex Editor باز کنید تا مطمئن بشین.

  17. تشکرها از این نوشته :


  18. #11
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نقل قول نوشته اصلی توسط ali_h نمایش پست ها
    سلام
    چطوری این قضیه رو تست کردین؟
    اگر فایل رو با Notepad بازکنید عدد 4 چون معادل کاراکتری نداره اصلاً دیده نمی شه. باید فایل رو با Hex Editor باز کنید تا مطمئن بشین.
    ممنون دوست عزیز
    همون طور که در بالا گفتم زمانی که ما مثلا این طوری مقدار بدهیم
    کد:
    buffer[2] = 4;
    فضایی در فایل txt ایجاد شده و دیده نمی شه مثل یه فضای خالی هستش زمانی که ctrl+a میکنی مثلا در حدود 15 کاراکتر انتخاب میشه ولی دیده نمیشه ولی زمانی که اینطوری مقدار بدهیم
    کد:
    buffer[2] =' 4';
    به طور معمولی عدد چهار دیده میشه
    لطفا نرم افزار Hex Editor را در صورت امکان بگذارید

  19. #12
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    نرم افزار های Hex Editor زیادی توی اینترنت براحتی پیدا می شن. من خودم از xvi32 استفاده می کنم که پیوستش کردم.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar xvi32.rar (407.3 کیلو بایت, 158 نمايش)

  20. کاربران : 3 تشکر کرده اند از شما ali_h برای ارسال این پست سودمند:


  21. #13
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    ممنون دوست عزیز کاملا حق با شما بود زمانی که فایل txt را با این نرم افزار باز میکنم تمامی تغییرات دما رو می توان مشاهده کرد !

  22. #14
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    خواهش می کنم. این همون گفته دوستمون بود که گفت اگر شما به صورت Binary در فایل می نویسید باید آنرا به صورت binary بخوانید و اگر به صورت ascii بنویسید باید به صورت ascii بخوانید.

  23. تشکرها از این نوشته :


  24. #15
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نقل قول نوشته اصلی توسط ali_h نمایش پست ها
    خواهش می کنم. این همون گفته دوستمون بود که گفت اگر شما به صورت Binary در فایل می نویسید باید آنرا به صورت binary بخوانید و اگر به صورت ascii بنویسید باید به صورت ascii بخوانید.
    سلام
    راه اینکه چه جوری بیایم توی متغییر اسکی بنویسیم هم راحته کافیه فقط ...
    کد:
    t=t|0x30;
    buffer[]=t;
    بعد راحت میتونیم توی فایل txt عدد مورد نظر را بخونیم!

  25. تشکرها از این نوشته :


  26. #16
    کاربر فعال
    تاریخ عضویت
    Dec 2011
    نام
    علی حاجی آبادی
    نوشته ها
    240
    تشکر
    46
    تشکر شده 237 بار در 155 پست

    پیش فرض

    این راه فقط واسه اعداد یک رقمی جواب میده. علت این or کردن با 30 هگز همون جمع کردن به عدد 48 دسیماله. که اعداد 0 تا 9 رو به کاراکتر "0" تا "9" تبدیل می کنه.
    اگر عددتون مثلاً 48 دسیمال باشه این کار هیچ تغییری روش نمیده و بصورت همون 48 ذخیرش می کنه و باز اگر عددتون 0 باشه این کار 48 تا بهش اضافه می کنه و بازم همون 48 رو ذخیره می کنه که باعث اشتباه میشه.
    نمی دونم چرا اصرار دارید که فایل رو به صورت ascii ذخیره کنید که هم حجم فایلتون رو بیشتر می کنه و هم کار خوندن و نوشتن رو.

  27. تشکرها از این نوشته :


  28. #17
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    درسته دوست عزیز الان دارم با این روش ساده دماکه عددی دو رقمی هست را روی فایل txt ذخیره کردم اینم راه حلش
    کد:
    i=t/10;
    i1=t%10;
    i=|0x30;
    i1=|0x30;
    buffer[u]=i;
    buffer[u+1]=i1;
    این کار من برای راحتی خوندن هستش همه که نمی تونن با نرم افزار هگز ادیتور باز کنن و تبدیل کنن به دسیمال

  29. #18
    کاربر فعال hamidam آواتار ها
    تاریخ عضویت
    Apr 2012
    نام
    حمید مومنی
    نوشته ها
    130
    تشکر
    534
    تشکر شده 157 بار در 60 پست

    پیش فرض

    سلام
    شما با این ff.h در کدویژن جواب گرفته اید ؟

  30. #19
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نقل قول نوشته اصلی توسط hamidam نمایش پست ها
    سلام
    شما با این ff.h در کدویژن جواب گرفته اید ؟
    با درود
    بله جواب گرفتم به لطف برادر چان

  31. تشکرها از این نوشته :


  32. #20
    کاربر فعال hamidam آواتار ها
    تاریخ عضویت
    Apr 2012
    نام
    حمید مومنی
    نوشته ها
    130
    تشکر
    534
    تشکر شده 157 بار در 60 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    با درود
    بله جواب گرفتم به لطف برادر چان
    می شه کمی توضیح در بارش بدهید

صفحه 1 از 4 1234 آخرینآخرین

موضوعات مشابه

  1. هویه هوای گرم
    توسط behnam6500 در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 20
    آخرين نوشته: 28-12-2015, 18:14
  2. Spi نرم افزاری در کدویژن
    توسط ali2914 در انجمن AVR
    پاسخ: 16
    آخرين نوشته: 13-08-2014, 00:49
  3. برنامه نقاشی ویندوز 7 را به ویندوزهای ویستا و ایکس پی اضافه کنید
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 1
    آخرين نوشته: 20-01-2010, 15:43
  4. نواز وظیفه ویندوزهای ایکس پی و ویستا را به نوار وظیفه ویندوز 7 تبدیل کنید
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 0
    آخرين نوشته: 19-01-2010, 13:39
  5. Xp ویندوزهای ویندوز 2003 سرور را دقیقا به ویندوز 7 تبدیل نمائید
    توسط arsalan681 در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 0
    آخرين نوشته: 19-01-2010, 12:59

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •