اطلاعیه

Collapse
No announcement yet.

تبدیل uint8_t به unsigned char در keil

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

    تبدیل uint8_t به unsigned char در keil

    سلام
    راستش من یه تابع دارم و از کتابخونه های cmsis استفاده می کنم برای ارتباط i2c.حالا توی کتابخونه i2c عبارت ها به صورت uint8_t تعریف میشن اما من می خوام خروجی این تابع unsigned char باشه که بتونم ازش تو موارد دیگه استفاده کنم.
    وقتی هم uint8_t رو میخوام return کنم ارور میده که نمیشه.
    نمی دونم چیکارش کنم کدم هم در زیر میذارم
    ممنونم از دوستان عزیز.

    کد:
    unsigned char read_i2c(unsigned char BusAddres , unsigned char Reg , unsigned char Ack )
    {
    unsigned char Data;
    
    
    txsetup.sl_addr7bit = 0xA0;
    	txsetup.tx_data = &BusAddres;
    	txsetup.tx_length = 0;
    //	txsetup.rx_data = NULL;
    	txsetup.rx_length = 0;
    	txsetup.retransmissions_max = 3;
    I2C_MasterTransferData(LPC_I2C0,&txsetup, I2C_TRANSFER_POLLING);
    	txsetup.tx_data = &Reg;
    I2C_MasterTransferData(LPC_I2C0,&txsetup, I2C_TRANSFER_POLLING);
    txsetup.tx_data = &BusAddres + 1;
    I2C_MasterTransferData(LPC_I2C0,&txsetup, I2C_TRANSFER_POLLING);
    	delay_us(10);
    txsetup.rx_data =&Ack;
    if(I2C_MasterTransferData(LPC_I2C0,&rxsetup, I2C_TRANSFER_POLLING)==SUCCESS)
    Data=txsetup.rx_data;
    	
    return Data;
    }

    #2
    پاسخ : تبدیل uint8_t به unsigned char در keil

    با سلام
    uint8_t یعنی 8 بیت بدون علامت unsigned char هم یعنی همین، فرقی ندارن اینا
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

    دیدگاه


      #3
      پاسخ : تبدیل uint8_t به unsigned char در keil

      ممنونم اما چرا ارور میده پس؟
      توی ارور میگه تبدیل این ها بهم قابل انجام نیست.

      دیدگاه


        #4
        پاسخ : تبدیل uint8_t به unsigned char در keil

        ببینید با یه type cast مشکل حل میشه؟
        The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

        دیدگاه


          #5
          پاسخ : تبدیل uint8_t به unsigned char در keil

          این type cast چی هست؟میشه بیشتر توضیح بدید؟

          دیدگاه


            #6
            پاسخ : تبدیل uint8_t به unsigned char در keil

            به کامپایلر میگی که این متغیر رو از این نوع بکن برام اینجوری
            کد:
            uint8_t foo;
            unsigned char bar;
            bar = (unsigned char) foo;
            The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

            دیدگاه


              #7
              پاسخ : تبدیل uint8_t به unsigned char در keil

              آقا دمت گرم درست شد :nice:

              دیدگاه

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