اطلاعیه

Collapse
No announcement yet.

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

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : اشکال در تابلو روان به زبان سی !!!

    نوشته اصلی توسط mehdi_nxp
    سلام.
    من دیگه برنامه تست نشده واسه کسی نمیذارم :biggrin: قول میدم -O<

    شما پایه های لچ رو جا به جا کردید؟
    اگه کردید برنامه پست قبلی که ویرایش شده رو تست کنید و تمام.
    حاجی بنازم سرعت عمل رو !
    دمت حسابی گرم.

    منظورتون از تعویض پایه های لچ اینه که پایه های خروجی دیتای هر لچ رو عوض کنم دیگه ؟
    یعنی به جای اینکه پایه 0 لچ به پایه 0 آند LED باشه --> پایه 0 به پایه 7 وصل بشه ؟؟؟

    ببخشید این تیکه رو درست متوجه نشدم.
    * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
    * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
    *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
    حضرت علی(ع)
    آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

    دیدگاه


      #17
      پاسخ : اشکال در تابلو روان به زبان سی !!!

      نوشته اصلی توسط ColooP
      حاجی بنازم سرعت عمل رو !
      دمت حسابی گرم.

      منظورتون از تعویض پایه های لچ اینه که پایه های خروجی دیتای هر لچ رو عوض کنم دیگه ؟
      یعنی به جای اینکه پایه 0 لچ به پایه 0 آند LED باشه --> پایه 0 به پایه 7 وصل بشه ؟؟؟

      ببخشید این تیکه رو درست متوجه نشدم.
      بله دقیقا برای هر 8 لچ همین کار رو بکنید.
      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

      دیدگاه


        #18
        پاسخ : اشکال در تابلو روان به زبان سی !!!



        آقا ببینید چی تحویل میده !!!(با همون کد TEST که خودتون دادید.)
        اگه واقعا تستش کردید لطفا فایل پروتئوس اصلاح شده رو واسه من هم بزارید.
        من پایه ها رو عوض کردم ولی ...
        * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
        * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
        *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
        حضرت علی(ع)
        آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

        دیدگاه


          #19
          پاسخ : اشکال در تابلو روان به زبان سی !!!

          سلام.
          دیگه قرار نشد ها.
          اینم فایلی که خواسته بودید.
          http://www.4shared.com/rar/VwBetbPC/tablo.html
          فقط با برنامه قبلی برعکس نشون میده که باید مقدار دهی ROW که در انتهای برنامه هست این جوری بشه
          کد:
          ROW=1<<7-i;
          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

          دیدگاه


            #20
            پاسخ : اشکال در تابلو روان به زبان سی !!!

            نوشته اصلی توسط mehdi_nxp
            سلام.
            دیگه قرار نشد ها.
            اینم فایلی که خواسته بودید.
            http://www.4shared.com/rar/VwBetbPC/tablo.html
            فقط با برنامه قبلی برعکس نشون میده که باید مقدار دهی ROW که در انتهای برنامه هست این جوری بشه
            کد:
            ROW=1<<7-i;
            آقا درست شد ممنون
            بخدا من آدم مفت خوری نیستم.دیدم چندبار تست کردم جواب نمیده ازتون خواهش کردم.از اینکه تو زحمت افتادید واسه پلود عذرخواهی میکنم

            اما اگه میشه این برنامه ای که نوشتید رو برام یه تحلیلی بکنید.چون من تا حالا با این دستور شیفت کار نکردم و بفرمایید که دقیقا دارید چکار میکنید ؟
            یکی دیگه هم اینکه اگه بخوام حرکت از چپ به راست داشته باشیم تو جاروب سطری باید از چه الگوریتمی استفاده کنم ؟

            ممنون
            * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
            * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
            *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
            حضرت علی(ع)
            آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

            دیدگاه


              #21
              پاسخ : اشکال در تابلو روان به زبان سی !!!

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

              یه کد قبلا نوشته بودم برای همین کارومتناسب با نیاز تابلو شما ویرایش شد:
              کد:
              void shift (unsigned char *d_in,unsigned char *d_out,char NUM,char LR){
              	char I,J,bit,byte;
              	byte= NUM / 8;
              	bit = NUM % 8;
              	for(I=0;I<64;I++) d_out[I]=0;
              //*****************************************************************************************
              	if(LR == 0){
              		for(I = 0;I < 8;I++){
              			for(J = byte ;J < 8;J++){
              				if((I * 8 + J) >= byte) d_out[(I * 8) + J - byte] = d_in[(I * 8) + J] << bit;
              				if(J != 7) d_out[(I * 8) + J - byte] |= d_in[(I * 8) + J + 1] >> (8 - bit);
              			}	
              		}
              	}
              //*****************************************************************************************
              	if(LR == 1){
              		for(I = 0;I < 8;I++){
              			for(J = 0 ;J < 8;J++){
              				if((J + byte) <= 7) d_out[(I * 8) + J + byte] = d_in[(I * 8) + J] >> bit;
              				if(J != 0) d_out[(I * 8) + J + byte] |= d_in[(I * 8) + J - 1] << (8 - bit);
              			}
              		}
              	}
              }
              تو کدی که میبینید آرگومان اول همون دیتاهایی هستند که از نرم افزارهای تبدیل متن به کد هگز میگیری.
              آرگومان دوم هم دیتای خروجی تابع هست که شیفت یافته دیتاهای ورودی هستند.
              آرگومان سوم تعداد شیفت.
              و آرگومان آخر هم اگه 0 باشه شیفت به چپ و اگه 1 باشه شیفت به راست داده میشه.

              چون چند وقت پیش نوشتمش سوالی ازش نپرس که شرمنده میشم.
              ولی تست شده هست.

              نحوه کار با این تابع هم به این صورت است که دیتای ورودی رو بهش میدی و متناسب با نیازت جهت و تعداد شیفت رو وارد میکنی و یه آرایه 64 بایتی معرفی میکنی و میدی به آوگومان دومی.
              و برای نمایش هم از همین آرایه استفاده میکنی.
              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

              دیدگاه


                #22
                پاسخ : اشکال در تابلو روان به زبان سی !!!

                نوشته اصلی توسط mehdi_nxp
                سلام.
                همون طور که قبلا خودتون هم گفتید شیفت دادن توی این مدل جاروب مکافاته.
                حالا بماند که راه اندازی اینجوری تابلو روان کار درستی به نظر نمیاد.

                یه کد قبلا نوشته بودم برای همین کارومتناسب با نیاز تابلو شما ویرایش شد:
                کد:
                void shift (unsigned char *d_in,unsigned char *d_out,char NUM,char LR){
                	char I,J,bit,byte;
                	byte= NUM / 8;
                	bit = NUM % 8;
                	for(I=0;I<64;I++) d_out[I]=0;
                //*****************************************************************************************
                	if(LR == 0){
                		for(I = 0;I < 8;I++){
                			for(J = byte ;J < 8;J++){
                				if((I * 8 + J) >= byte) d_out[(I * 8) + J - byte] = d_in[(I * 8) + J] << bit;
                				if(J != 7) d_out[(I * 8) + J - byte] |= d_in[(I * 8) + J + 1] >> (8 - bit);
                			}	
                		}
                	}
                //*****************************************************************************************
                	if(LR == 1){
                		for(I = 0;I < 8;I++){
                			for(J = 0 ;J < 8;J++){
                				if((J + byte) <= 7) d_out[(I * 8) + J + byte] = d_in[(I * 8) + J] >> bit;
                				if(J != 0) d_out[(I * 8) + J + byte] |= d_in[(I * 8) + J - 1] << (8 - bit);
                			}
                		}
                	}
                }
                تو کدی که میبینید آرگومان اول همون دیتاهایی هستند که از نرم افزارهای تبدیل متن به کد هگز میگیری.
                آرگومان دوم هم دیتای خروجی تابع هست که شیفت یافته دیتاهای ورودی هستند.
                آرگومان سوم تعداد شیفت.
                و آرگومان آخر هم اگه 0 باشه شیفت به چپ و اگه 1 باشه شیفت به راست داده میشه.

                چون چند وقت پیش نوشتمش سوالی ازش نپرس که شرمنده میشم.
                ولی تست شده هست.

                نحوه کار با این تابع هم به این صورت است که دیتای ورودی رو بهش میدی و متناسب با نیازت جهت و تعداد شیفت رو وارد میکنی و یه آرایه 64 بایتی معرفی میکنی و میدی به آوگومان دومی.
                و برای نمایش هم از همین آرایه استفاده میکنی.
                آقا خیلی ممنون
                اما از این تابع کدویژن خطاهای زیادی میگیره !

                اما طوری نیست یکاریش میکنم خودم !!!

                آقا یه سوال دیگه واسم پیش اومده اونم اینکه اگه بخوام از محتویات یه آرایه یه حرف خاص رو حرکت بدم باید از چه الگوریتمی استفاده کنم ؟؟؟
                مثلا فرض کنید که کلمه " زرد " رو که کد هگزش داخل آرایه ما هست رو فقط حرف " د " رو شیفت بدم به چپ یا راست ؟ و بقیه عناصر سرجاشون ثابت بمونند.
                البته دوست ندارم بندازمتون تو زحمت.همین که الگوریتمشو بهم بدین بزرگواری کرده اید.

                ممنون
                * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                حضرت علی(ع)
                آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                دیدگاه


                  #23
                  پاسخ : اشکال در تابلو روان به زبان سی !!!

                  سلام.
                  دقیقا به کجاش گیر میده.
                  این تابع که به جز 2 تا پوینتر بقیش همش جمع و تفریقه!!

                  برای کاری هم که میخواهید انجام بدید الگوریتم دقیقا مثل همین تابع هست.
                  اما باید محدوده for دومی تغییر پیدا کنه و یه آفست هم به بیت داده بشه.

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

                  دیدگاه


                    #24
                    پاسخ : اشکال در تابلو روان به زبان سی !!!

                    آقا مهدی تابع آسونتر یا الگوریتم ساده تری جهت شیفت افقی سراغ ندارید ؟
                    انصافا این تابعی که دادید اگه کار هم بکنه نمیتونم درش تغییرات ایجاد کنم و اون چیزی که عرض کردم رو عملی کنم !

                    لطفا یه مثال از نحوه استفاده از تابع در حین برنامه را هم بفرمایید.

                    ممنون
                    * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                    * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                    *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                    حضرت علی(ع)
                    آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                    دیدگاه


                      #25
                      پاسخ : اشکال در تابلو روان به زبان سی !!!

                      سلام.
                      بله حق دارید کمی پیچیده است.
                      ولی دیگه همینه دیگه.
                      برای استفاده از این تابع هم:
                      کد:
                      shift(Code,d_out,25,1);
                      Code همون دیتا های دریافتی از نرم افزار است.که برای تابلو شما میشه یه آرایه 64 بایتی.
                      d_out هم یه آرایه 64 بایتی خالی:
                      کد:
                      unsigned char d_out[64];
                      که با توجه به تعداد شیفتی که شما میدید پر میشه.
                      اون 25 هم تعداد شیفت دلخواه شما است که میتونه تا 64 باشه.
                      اون یک هم یعنی شیفت به راست.
                      بعد از دستور شیفت از آرایه d_out برای نمایش روی تابلو استفاده کنید.
                      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                      دیدگاه


                        #26
                        پاسخ : پاسخ : اشکال در تابلو روان به زبان سی !!!

                        نوشته اصلی توسط mehdi_nxp
                        سلام.
                        بله حق دارید کمی پیچیده است.
                        ولی دیگه همینه دیگه.
                        برای استفاده از این تابع هم:
                        کد:
                        shift(Code,d_out,25,1);
                        Code همون دیتا های دریافتی از نرم افزار است.که برای تابلو شما میشه یه آرایه 64 بایتی.
                        d_out هم یه آرایه 64 بایتی خالی:
                        کد:
                        unsigned char d_out[64];
                        که با توجه به تعداد شیفتی که شما میدید پر میشه.
                        اون 25 هم تعداد شیفت دلخواه شما است که میتونه تا 64 باشه.
                        اون یک هم یعنی شیفت به راست.
                        بعد از دستور شیفت از آرایه d_out برای نمایش روی تابلو استفاده کنید.
                        حاج مهدی شرمندتم بخدا
                        جواب سوالای ما رو میدی !

                        آقا اگه میشه این کد رو تو همون برنامه ای که لطف کردید بنویسید.
                        من هرجور نوشتم درست جواب نداد.
                        متنم چشمک میزد.

                        خیلی ممنون
                        * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                        * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                        *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                        حضرت علی(ع)
                        آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                        دیدگاه


                          #27
                          پاسخ : اشکال در تابلو روان به زبان سی !!!

                          در این مورد شرمنده.
                          من AVR رو با C کار نکردم.
                          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                          دیدگاه


                            #28
                            پاسخ : اشکال در تابلو روان به زبان سی !!!

                            :nerd:

                            آموزش راه اندازی تابلو روان 8*8 بصورت ساده و بدون استفاده ازآی سی کمکی و همچنین راه اندازی تابلوروان 16*16 و 16*32 و 32*64 به کمک آی سی لچ 74HC573 رو بزودی قرار خواهیم داد!

                            به همراه فایل شبیه سازی پروتئوس به صورت کاملا مجزا و سورس برنامه نویسی به زبان سی در نرم افزار کدویژن! :applause:

                            ان شاالله تا ابتدای شهریور :nerd:
                            آنچه كه باعث موفقيت انسان ها مي شود سخت كوشي است و نه نخبه بودن! Porsche 911 Turbo S 181.000 $ USD
                            جناب سعدی فرموده بودند: "بر احوال ان مرد باید گریست _ که دخلش بود نوزده، خرجش بیست!"
                            که اگه الان بود باید میگفت: "بود حال و احوال آن مرد زار _ که دخلش ریال است ، خرجش دلار :|"
                            http://www.eca.ir/forum2/index.php?topic=80472.msg489565#msg489565
                            http://www.eca.ir/forum2/index.php?topic=82242.msg501926#msg501926

                            دیدگاه


                              #29
                              پاسخ : اشکال در تابلو روان به زبان سی !!!

                              نوشته اصلی توسط افتخارالکترونیک
                              :nerd:

                              آموزش راه اندازی تابلو روان 8*8 بصورت ساده و بدون استفاده ازآی سی کمکی و همچنین راه اندازی تابلوروان 16*16 و 16*32 و 32*64 به کمک آی سی لچ 74HC573 رو بزودی قرار خواهیم داد!

                              به همراه فایل شبیه سازی پروتئوس به صورت کاملا مجزا و سورس برنامه نویسی به زبان سی در نرم افزار کدویژن! :applause:

                              ان شاالله تا ابتدای شهریور :nerd:
                              میشه بفرمایید که این پست چه ارتباطی به این تاپیک داشت ؟؟؟
                              * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                              * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                              *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                              حضرت علی(ع)
                              آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                              دیدگاه

                              لطفا صبر کنید...
                              X