اطلاعیه

Collapse
No announcement yet.

خواندن Serial Number میکرو

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

    خواندن Serial Number میکرو

    سلام به همه
    من نیاز دارم که سریال نامبر میکرو های PIC18 رو بخونم
    دیدم دو تا رجیستر DEVID1 و DEVID2 داره ولی نمیشه خوند اینا رو که
    کلا میخوام توی برنامم سریال میکرو رو بخونم باید چیکار کنم؟!
    با C مینویسم و از MPLABX استفاده میکنم
    درایور شبکه و nRF24L01
    کاتالوگ محصولات
    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC

    #2
    پاسخ : خواندن Serial Number میکرو

    سلام
    عذر خواهی من رو در دیر پاسخ دادن بپذیرین
    برای این منظور می تونین از تابع زیر استفاده کنید
    کد:
    int DIV[2];
    void ReadDEVID() {
     rom char far *pID=(char far *)0x3ffffe;
               DIV[0]=*pID++;
               DIV[1]=*pID;
     TBLPTRU=0;      
    }
    که مقدارهای آرایه DIV در اندیسهای 0 و1 به ترتیب DEVID1 و DEVID2 هست
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

    دیدگاه


      #3
      پاسخ : خواندن Serial Number میکرو

      نوشته اصلی توسط baby_1
      سلام
      عذر خواهی من رو در دیر پاسخ دادن بپذیرین
      برای این منظور می تونین از تابع زیر استفاده کنید
      کد:
      int DIV[2];
      void ReadDEVID() {
       rom char far *pID=(char far *)0x3ffffe;
                 DIV[0]=*pID++;
                 DIV[1]=*pID;
       TBLPTRU=0;      
      }
      که مقدارهای آرایه DIV در اندیسهای 0 و1 به ترتیب DEVID1 و DEVID2 هست
      وای اگه جواب بده راهی از جلو پام برداشته میشه
      تست میکنم بت خبر میدم ولی یکو راجع بش اگه توضیح بدی که درک کنم دقیقا هر کدوم چیین و چیکار میکنن که عالی میشه
      درایور شبکه و nRF24L01
      کاتالوگ محصولات
      کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
      شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
      فروش اسيلوسکوپ GWinstek GOS-630FC

      دیدگاه


        #4
        پاسخ : خواندن Serial Number میکرو

        سلام

        کد:
        int DIV[2];
        تعریف یک آرایه تک بعدی برای گرفتن دو مقدار حافظه


        کد:
        void ReadDEVID() {
        تعریف تابع

        کد:
         rom char far *pID=(char far *)0x3ffffe;
        تعریف متغییر پوینتر برای خواندن محتویات رام
        کد:
                   DIV[0]=*pID++;
                   DIV[1]=*pID;
        مقداردهی متغییرهای با ریجسترهای حافظه ای پوینتر
        کد:
         TBLPTRU=0;      
        }
        این بیت هم اجازه یا عدم اجازه جهت دسترسی به ریجسترها حافظه را می دهد
        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

        دیدگاه


          #5
          پاسخ : خواندن Serial Number میکرو

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

          کد:
          unsigned char readDev (void);
          
          unsigned char DIV[2];
          void main()
          {
           
            EECON1bits.CFGS = 0;
            EECON1bits.EEPGD = 1;
            TBLPTRU = 0x3F;
            TBLPTRH = 0xFF;
            TBLPTRL = 0xFE;
          
            DIV[0] = readDev();
            DIV[1] = readDev();
          
          }
          
          unsigned char readDev()
            {
            _asm
              TBLRDPOSTINC
            _endasm
          
              return TABLAT;
            }
          درایور شبکه و nRF24L01
          کاتالوگ محصولات
          کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
          شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
          فروش اسيلوسکوپ GWinstek GOS-630FC

          دیدگاه

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