اطلاعیه

Collapse
No announcement yet.

آرایه در بس کام

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

    #16
    پاسخ : آرایه در بس کام

    نوشته اصلی توسط _e_


    ایول منم که همینو گفتم

    تازه یه چیز دیگه این بسکام توی برنامه نویسی و مخصوصا ساخت function و sun کلی مشکل داره
    1- متغییر ها درست ارسال نمیشه مخصوصا کاراکتری
    2- چه این sub ها رو صدا کنی چه این کارو نکنی خودشون یک بار اجرا میشن که این خودش یک ضعف بسیار بزرگه
    سلام
    دوست عزیز میشه مثالی رو بیاری که به مشکل خوردی؟ دو موردی رو که ذکر کردی برای بنده اتفاق نیفتاده.بنده هیچ گونه تعصبی ندارم ولی این مواردی که ذکر کردی جزء مسائل روتین کامپایلر هاست.به هر حال اگر کدی که در اون به مشکل خوردی رو بذاری شاید بشه کاری کرد یا قضاوتی انجام بشه. ممنون می شم.
    موفق باشی
    [/quote]

    فکر کنم منظورم رو متوجه نشدین
    نگفتم مشکل داره گفتم bascom برنامه time saver هست و وقت نمیگیره مثلا fat و درایو mmc رو تو 4 خط تمام میکنه(همه با خودش تو راحت باش)ولی بقیشون شاید یه سری ویژگی های توپ داشته باشن ولی باید زمان بزاری و پــــــس ارزش 1 کیلو اشغالی بیشتر فلشت رو داره تا اینکه بخوای چندین ساعت وقت بزاری و اعصاب خودت رو خورد کنی
    علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

    دیدگاه


      #17
      پاسخ : آرایه در بس کام

      ای بابا

      این fat برای drive mmc کجا 4 خط اینو قبلا اومدن بصورت یک کتابخانه درست کردن فقط شما ازش استفاده می کنی توی هر زبانی این قابلیت رو داره
      http://services.nexodyne.com/email/i...3D/0/image.png

      دیدگاه


        #18
        پاسخ : آرایه در بس کام

        نوشته اصلی توسط naeimwtg
        ای بابا

        این fat برای drive mmc کجا 4 خط اینو قبلا اومدن بصورت یک کتابخانه درست کردن فقط شما ازش استفاده می کنی توی هر زبانی این قابلیت رو داره
        بابا شماها هم اینقدر به این همشهری ما گیر ندین دیگه
        هر کامپایلری یه نقص داره یه حسن. حالا بسته به پروژتون میاید نوع کامپایلرتون رو مشخص میکنید.حتی نوع میکروتون رو باید طبق پروژتون انتخاب کنید.(صرفه جویی در هزینه ها)
        ولی اگر که فقط از یه نوع میکرو و یه نوع کامپایلر در پروژه های مختلف استفاده کنیم اون وقت میشه صرفه جویی در زمان مثل کار داش امید.
        سال الگوی مصرف
        خداوند جهاد را برای سرافرازی اسلام واجب کرد.
        حضرت فاطمه (س)

        دیدگاه


          #19
          پاسخ : آرایه در بس کام

          سلام


          نوشته اصلی توسط naeimwtg
          ببین دوست عزیز این کد را توی شبیه ساز اجرا کن ببین چی میبینی
          کد:
          $regfile = "m323def.dat"
          $crystal = 4000000
          $baud = 9200
          Dim A As Integer
          Declare Function Is_in_array(byval Name2 As String , Byval Name1 As String , Byval Co As Integer , Byval Name4 As Integer) As Integer
          A = Is_in_array( "eca" , "www" , 110 , 12)
          
          
          Function Is_in_array(byval Name2 As String , Byval Name1 As String , Byval Co As Integer , Byval Name4 As Integer) As Integer
          Print Name2
          Print Name1
          Print Co
          Print Name4
          
          End Function
          End
          نعیم جان شما هم یه ذره به بسکام حق بده. شما تو این برنامه اتمامش رو مشخص نکردی. خوب همونطور که می دونی حافظه اجرا هم تشکیل شده از بایتهای پشت سر هم.
          حالا اینم من اضافه می کنم که شروع کردن تعریف بدنه تابع که مبین اتمام برنامه نیست. و همینطور که CPU از چیزی که اجرا می کنه سر در نمیاره. فقط دستورات آمده رو به بهترین نحو به اجرا می ذاره و از هدف برنامه هیچ اطلاعی نداره. هنر برنامه نویس اینه که با راندن موتور اجرایی CPU اهداف خودش رو پیاده سازی کنه.CPU فقط یک مجریه.
          راه حل اینه که شما یک دستور END قبل از تعریف بدنه تابع، به برنامه اضافه کنی. همه چی حله. در ضمن می تونی از دستور STOP هم استفاده کنی که برای فهمیدن تفاوت اینها پیشنهاد می کنم به Help بسکام مراجعه کنی.

          این یه قضیه. مسئله بعد این بود که در رابطه با ارسال متغیرها هم مشکلی برات بوجود اومده بود. اگر مثالی داری بذار تا روی اون هم بحث کنیم.

          امید عزیز بنده منظورم نعیم عزیز بود که به مشکلاتی برخورد کرده بودند.والا بنده با بخشی از گفته های شما موافقم که می فرمایید بیشتر کارها در 4 خط (مثلا) تموم میشه و شما لازم نیست نگران چیزی باشید. بله همینطوره که برخی از دوستان موافق این قضیه هستند و برخی مخالف.
          در رابطه با اشغال حافظه بیشتر باید بگم که بسکام هم راه حل های جالبی رو داره که اگر مایل بودید براتون می گم.البته اونهاییش رو که من بلدم.

          یه چیز دیگه از این صحبت ها این طور برداشت نشه که بنده تعصب عمیقی به بسکام دارم. اینطور نیست چرا که من هم اکنون با کامپایلر های Code Vision و Win AVR هم مشغول به کار هستم. به این علت اینو میگم که تا بحثهای مقایسه کامپایلرها خدای نا کرده اینجا شکل نگیره. خواهشن.
          باز هم موفق و پیروز باشید

          دیدگاه


            #20
            پاسخ : آرایه در بس کام

            نوشته اصلی توسط naeimwtg
            ای بابا

            این fat برای drive mmc کجا 4 خط اینو قبلا اومدن بصورت یک کتابخانه درست کردن فقط شما ازش استفاده می کنی توی هر زبانی این قابلیت رو داره

            چرا یاد نگرفتیم یه کوچولو دقت کنیم سریع قضاوت نکنیم
            1.من گفتم چند خط نگفتم چند بیت روی فلش(خوب معلومه که قبلا به صورت lib در اومده مهم اینه که شما با 3 خط همه چیز رو اماده میکنی و وقت نمیزاری(و این از چشم کسی که وقتش واسش طلا باشه یعنی اخر برنامه)و در ضمن lib های فوق العاده ای که bascom داره رو من قبول دارم
            2.یه خورده به حرفای اقای _e_دقت کنید تا بفهمین چرا زود قضاوت میکنی من خودم به شخصه با هر ماژول برنامه (هر چیز غیر ایرانی(حتی این rfm12b که میگن پدر و مادر نداره :mrgreenوقتی جواب نمیگیرم به خودم شک میکنم چون میدونم اون خارجیا کاراشون مثل ما بی حساب کتاب نیس و از سر دلشون حرف نمیزنن و کار نمیکنن
            3.من خودم هم با codevision کار میکنم هم bascomولی وقتی یه برنامه واسط علاوه بر کار طلا میاره ادم طلاش رو حروم نمیکنه.به قول دوستمون اقا ایمان هر کامپایلری را بحر کاری ساختند من خودم به شخصه اگه نیاز به استفاده از توابع ریاضی و درگیریه شدید ارایه ها و متغیر های مختلف باشه میرم سراغ codevision چون کار رو سریع تر و دقیق تر راه میندازه
            علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

            دیدگاه


              #21
              پاسخ : آرایه در بس کام

              نوشته اصلی توسط omega_adiban


              چرا یاد نگرفتیم یه کوچولو دقت کنیم سریع قضاوت نکنیم
              1.من گفتم چند خط نگفتم چند بیت روی فلش(خوب معلومه که قبلا به صورت lib در اومده مهم اینه که شما با 3 خط همه چیز رو اماده میکنی و وقت نمیزاری(و این از چشم کسی که وقتش واسش طلا باشه یعنی اخر برنامه)و در ضمن lib های فوق العاده ای که bascom داره رو من قبول دارم
              2.یه خورده به حرفای اقای _e_دقت کنید تا بفهمین چرا زود قضاوت میکنی من خودم به شخصه با هر ماژول برنامه (هر چیز غیر ایرانی(حتی این rfm12b که میگن پدر و مادر نداره :mrgreenوقتی جواب نمیگیرم به خودم شک میکنم چون میدونم اون خارجیا کاراشون مثل ما بی حساب کتاب نیس و از سر دلشون حرف نمیزنن و کار نمیکنن
              3.من خودم هم با codevision کار میکنم هم bascomولی وقتی یه برنامه واسط علاوه بر کار طلا میاره ادم طلاش رو حروم نمیکنه.به قول دوستمون اقا ایمان هر کامپایلری را بحر کاری ساختند من خودم به شخصه اگه نیاز به استفاده از توابع ریاضی و درگیریه شدید ارایه ها و متغیر های مختلف باشه میرم سراغ codevision چون کار رو سریع تر و دقیق تر راه میندازه
              دوست عزیز من این مثال برای فرستادن متغییر ها بوده الان متغییر های که برای function ارسال میشه درست نیست شما تین مثال را نگاه کن یک بار اجراش کن ببین متغیر ها ارسال میشه یا نه .

              در ضمن تمام این حرفا برای اینه که یه چیزایی به معلومات خودمون اضافه کنیم قرار نیست دعوا کنیم و به کسی هم گیر ندادیم به نظر من هر کدوم از این پاسخ ها مجموعه از تجربیات افراده که بیان میکنن .
              http://services.nexodyne.com/email/i...3D/0/image.png

              دیدگاه


                #22
                پاسخ : آرایه در بس کام

                کد:
                $regfile = "m323def.dat"
                $crystal = 4000000
                $baud = 9200
                Dim A As Integer
                Declare Function Is_in_array(byval Name2 As String , Byval Name1 As String , Byval Co As Integer , Byval Name4 As Integer) As Integer
                
                Do
                A = Is_in_array( "eca" , "www" , 110 , 12)
                Loop
                
                Function Is_in_array(byval Name2 As String , Byval Name1 As String , Byval Co As Integer , Byval Name4 As Integer) As Integer
                
                Print Name1
                Print Co
                Print Name4
                'Print Name2
                
                End Function
                End

                نمیدونم چرا
                ولی هر مشکلی هست از اولین string هست این سورسی رو که گزاشتم تست کن
                علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

                دیدگاه


                  #23
                  پاسخ : آرایه در بس کام

                  این جوری دیگه اون کلمات رو پشت سر هم نوشته نمیشه

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

                  http://services.nexodyne.com/email/i...3D/0/image.png

                  دیدگاه


                    #24
                    پاسخ : آرایه در بس کام

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

                    دیدگاه


                      #25
                      پاسخ : آرایه در بس کام

                      سلام
                      دوست عزیزم کد زیر رو اجرا کن ببین آیا مشکل همچنان باقی است:

                      کد:
                      $regfile = "m323def.dat"
                      $crystal = 4000000
                      $baud = 9600
                      
                      $framesize = 40
                      
                      Declare Function Printt(byval Name2 As String , Byval Name1 As String , Byval Co As Integer , Byval Name4 As Integer) As Byte
                      
                      Dim B As Byte
                      
                      B = Printt( "eca" , "www" , 110 , 12)
                      Print B
                      
                      End                            'end program
                      
                      Function Printt(byval Name2 As String , Byval Name1 As String , Byval Co As Integer , Byval Name4 As Integer) As Byte
                       Print Name2
                       Print Name1
                       Print Co
                       Print Name4
                      End Function

                      کد رو ببین اگر توضیحی خواستی بفرمایید تا بگم.

                      در رابطه با یونی کد ببین دوست عزیز باید خودتون زحمت تعریف آنرا برای کامپایلر بکشی. این استاندارد برای هر حرف یا شی دوبایت در نظر گرفته که در میکروکنترلر و کامپایلر بسکام می شه از متغیر نوع Word استفاده کرد. بعد یک جدول داده در انتهای برنامه ایجاد کن و معادل کدهای مربوطه رو در اون قرار بده و توسط دستور Look Up کد مورد نظر رو فراخونی کن. نکته قابل بیان اینه که این کد روی LCD های که به میکروکنترلرها بسته می شن قابل نمایش نیست.چون این نوع LCD ها فقط کد ASCII رو پشتیبانی می کنند. برای چی شما می خوای از این کد استفاده کنی؟

                      موفق باشید

                      دیدگاه


                        #26
                        پاسخ : آرایه در بس کام

                        بسیار جالب بودپ
                        میشه بیشتر توضیح بدین و در ضمن در مورد کار برد این تابع هم یه کوچولو بگین
                        علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

                        دیدگاه


                          #27
                          پاسخ : آرایه در بس کام

                          سلام
                          امید عزیز اگه منظورت خط زیره:

                          کد:
                          $framesize = 40

                          این تابع نیست یه جور تنظیم. Frame یک حافظه است که بسکام برای خودش تعریف کرده و از اون برای ذخیره متغیرهای پاس داده شده به تابع و ذخیره متغیرهای محلی استفاده میکنه.در حالت پیش فرض مقدار 32 بایت رو داره که برای اینجا کم بود. متغیرهای محلی رو جوری تو این حافظه مدیریت می کنه که بعد از اتمام کار تابع قابل دسترسی نیست. چون فکر کنم حافظه Frame بخشیش بین توابع اشتراکی باشه. دو مورد دیگه هم هست:
                          Swstak مخفف Software stack
                          Hwstack مخفف Hardware Stack
                          موفق باشی

                          دیدگاه


                            #28
                            پاسخ : آرایه در بس کام

                            مرسی
                            بفرمایین دیدین می گم کامپایلر بی عیب هست ما مشکل داریم؟

                            دست اقای _e_ درد نکنه که به این مشکل فایق اومدن :applause: :applause:
                            علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

                            دیدگاه

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