سلام
راستش من یه تابع دارم و از کتابخونه های 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; }
دیدگاه