صفحه 2 از 3 نخستنخست 123 آخرینآخرین
نمایش نتایج: از 11 به 20 از 23

موضوع: مشکل با کتابخانه WS2811.H

  1. #11
    مدیر انجمن ایمان داودی آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    98
    تشکر
    87
    تشکر شده 146 بار در 74 پست
    من با codevision کار نکردم فکر هم نمیکردم مشکل ساز بشه . البته قطعا راهکار داره ولی من هم پیشنهاد آقای جباری رو تائید می کنم . از اونجا که در آینده هم مبنای آموزش ها ( بعلت کامل بودن و منابع زیاد آموزشی و مثال های فراوان ) این کامپایلر خواهد بود بهتره اون رو نصب کنید .
    آنقدر به تاريكي لعنت نفرستيد ، يك شمع روشن كنيد.

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

    taktak1 (09-10-2014)

  3. #12
    کاربر عادی taktak1 آواتار ها
    تاریخ عضویت
    Sep 2014
    نوشته ها
    8
    تشکر
    6
    تشکر شده 1 بار در 1 پست
    با atmel studio یک آرایه در حافظه خود فلش میکرو ایجاد کردم ولی به درستی اجرا نمی کند ولی اگر متغیر در حافظه sram باشد مشکلی نیست ولی خیلی از حافظه sram اشغال میشه
    کد:
    const uint8_t PROGMEM t[6][3] ={{255,0,0},{0,255,0},{0,0,255}, {0,0,0},{0,255,0},{0,0,255}, }; for ( i = 0; i < 6; i++) { rgb[0].r = t[i][0]; rgb[0].g = t[i][1]; rgb[0].b = t[i][2]; WS2811RGB(rgb, ARRAYLEN(rgb)); _delay_ms(DELAY); }

  4. #13
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,119
    تشکر
    224
    تشکر شده 1,440 بار در 641 پست
    نقل قول نوشته اصلی توسط taktak1 نمایش پست ها
    با atmel studio یک آرایه در حافظه خود فلش میکرو ایجاد کردم ولی به درستی اجرا نمی کند ولی اگر متغیر در حافظه sram باشد مشکلی نیست ولی خیلی از حافظه sram اشغال میشه
    کد:
    const uint8_t PROGMEM t[6][3] ={{255,0,0},{0,255,0},{0,0,255}, {0,0,0},{0,255,0},{0,0,255}, }; for ( i = 0; i < 6; i++) { rgb[0].r = t[i][0]; rgb[0].g = t[i][1]; rgb[0].b = t[i][2]; WS2811RGB(rgb, ARRAYLEN(rgb)); _delay_ms(DELAY); }
    زمانی که تو حافظه فلش هست چه اشکالی پیش میاد؟اخطار خاصی میده؟
    مشخصا شما دارید برا آرایه 18 بایت از حافظه رو استفاده میکنید!
    You can if you want!Trust Me
    تنها غیرممکن غیرممکن است پس تلاش کنید!

  5. #14
    کاربر عادی taktak1 آواتار ها
    تاریخ عضویت
    Sep 2014
    نوشته ها
    8
    تشکر
    6
    تشکر شده 1 بار در 1 پست
    کامپایلر خطا نمی گیرد من ازآرایه دو بعدی استفاده کردم که در هر ثانیه یک رنگ رانشان بدهم کهر کد {255و0و0} یک فریم هست ولی صحیح اجرا نمی شود اگر ارایه در فلش باشد ولی اگر در ram تعریف کنم صحیح اجرا می شود

  6. #15
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,119
    تشکر
    224
    تشکر شده 1,440 بار در 641 پست
    احتمالا بدلیل استفاده از همین آرایه دو بعدی باشه!چون طول دیتای ارسالی از طریق طول آرایه محاسبه میشه که اینجور که بنظر میاد با آرایه دو بعدی مشکل داره!من به ساختار داخلی کتابخونه چندان دقیق نشدم تا علتش رو بدونم!
    شما همین برنامه که میخواید رو با آرایه تک بعدی هم میشه انجام داد!
    You can if you want!Trust Me
    تنها غیرممکن غیرممکن است پس تلاش کنید!

  7. #16
    کاربر عادی taktak1 آواتار ها
    تاریخ عضویت
    Sep 2014
    نوشته ها
    8
    تشکر
    6
    تشکر شده 1 بار در 1 پست
    احتمالا ولی اگر در رم باشه مشکل ندارد.میشه با یک بعدی مثال بزنید

  8. #17
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,119
    تشکر
    224
    تشکر شده 1,440 بار در 641 پست
    همین مثالی که گذاشته شده رو خودتون بسط بدید!چون دقیق مشخص نیست چه چیزی میخواید نمیشه برنامه عین اون نوشت!
    You can if you want!Trust Me
    تنها غیرممکن غیرممکن است پس تلاش کنید!

  9. #18
    مدیر انجمن ایمان داودی آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    98
    تشکر
    87
    تشکر شده 146 بار در 74 پست
    میشه برنامه کامل رو بزارید؟ شما ساختار RGB_t رو تعریف کردید ؟
    کد:
    RGB_t rgb[3] = {{0,0,0} , {0,0,0} , {0,0,0}} ;
    آنقدر به تاريكي لعنت نفرستيد ، يك شمع روشن كنيد.

  10. #19
    کاربر عادی taktak1 آواتار ها
    تاریخ عضویت
    Sep 2014
    نوشته ها
    8
    تشکر
    6
    تشکر شده 1 بار در 1 پست
    نقل قول نوشته اصلی توسط ایمان داودی نمایش پست ها
    میشه برنامه کامل رو بزارید؟ شما ساختار RGB_t رو تعریف کردید ؟
    کد:
    RGB_t rgb[3] = {{0,0,0} , {0,0,0} , {0,0,0}} ;
    بله برنامه در زیر هست. بله تعریف کردم ولی انگار اگه ارایه در فلش باشه افکت درست اجرا نمیشه ولی اگر در حافظه رم باشد بدون مشکل اجرا می شود.
    کد:
    #define F_CPU 16000000 #include <util/delay.h> #include "WS2811.h" #include <avr/io.h> #include <avr/pgmspace.h> // Adjust as necessary. #define PORT PORTB #define DDR DDRB #define PIN 0 #define PAUSE 1000 // msec #define DELAY 10 // msec // Bit twiddling macros. #define BIT(B) (0x01 << (uint8_t)(B)) #define SET_BIT_HI(V, B) (V) |= (uint8_t)BIT(B) #define SET_BIT_LO(V, B) (V) &= (uint8_t)~BIT(B) // Define the output function. DEFINE_WS2811_FN(WS2811RGB, PORT, PIN) const uint8_t PROGMEM t[6][3] ={{255,0,0},{0,255,0},{0,0,255}, {0,0,0},{0,255,0},{0,0,255}, }; int main(void) { // Configure pin for output. SET_BIT_HI(DDR, PIN); SET_BIT_LO(PORT, PIN); RGB_t rgb[1] = {{0,0,0}}; WS2811RGB(rgb, ARRAYLEN(rgb)); _delay_ms(PAUSE); for (;;) { for ( i = 0; i < 6; i++) { rgb[0].r = t[i][0]; rgb[0].g = t[i][1]; rgb[0].b = t[i][2]; WS2811RGB(rgb, ARRAYLEN(rgb)); _delay_ms(DELAY); } } }

  11. #20
    مدیریت سایت LightIran آواتار ها
    تاریخ عضویت
    Apr 2014
    نوشته ها
    1,119
    تشکر
    224
    تشکر شده 1,440 بار در 641 پست
    شاید چندان از لحاظ منطقی درست نباشه ولی تعریف ثابت رو به جای اینکه از ثابت استفاده کنین از متغیر استفاده کنین و در ضمن به جای تعریف عمومی داخل تابع main تعریف کنین!ببینین تغییری حاصل میشه!؟
    You can if you want!Trust Me
    تنها غیرممکن غیرممکن است پس تلاش کنید!

صفحه 2 از 3 نخستنخست 123 آخرینآخرین

باز و بسته کردن مجوز های ارسال و ویرایش

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