سلام
راستش من یه تابع دارم و از کتابخونه های cmsis استفاده می کنم برای ارتباط i2c.حالا توی کتابخونه i2c عبارت ها به صورت uint8_t تعریف میشن اما من می خوام خروجی این تابع unsigned char باشه که بتونم ازش تو موارد دیگه استفاده کنم.
وقتی هم uint8_t رو میخوام return کنم ارور میده که نمیشه.
نمی دونم چیکارش کنم کدم هم در زیر میذارم
ممنونم از دوستان عزیز.
راستش من یه تابع دارم و از کتابخونه های 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;
}




دیدگاه