PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نحوه استفاده از I2C در نرم افزار CoIDE



m.valian
24-03-2014, 14:11
با سلام
میخواهم یک فاصله سنج صوتی را(ultra sonic range finder) معروف به SRF08، راه اندازی کنم.
ابتدا باید آدرس اسلیو را ارسال کنم:0xE0
سپس باید در command register دستگاه فاصله سنج که آدرسش 0x00 است عدد 0x51 را بنویسم تا فاصله را بر حسب سانتی متر بدهد.
بعد از آن باید از آدرس 2، داده را دریافت کنم.
هیچکدام از کار های بالا را بلد نیستم انجام دهم!!!!
نرم افزار coide اجازه نمی دهد از تابع هایی مثل start_I2C یا I2C_SendByte یا I2C_GetByte استفاده کنم در حالیکه این تابع ها را در help معرفی کرده است!!! و گرنه کار ساده تر بود.
ممنون میشم راهنمایی ام کنید.
datasheet فاصله سنج را نیز پیوست کرده ام.

sadmonew
24-03-2014, 14:48
سلام مهندس
سال نو مبارک
البته نوع میکروتون رو مشخص نکردید؟ LPC یا STM32 یا AT91sam؟
تو این لینک (You can see links before reply) چند مثال گذاشتیم که یکی از مثال هاش در مورد کار با I2C هست با میکروی STM32

m.valian
24-03-2014, 15:23
ببخشید
سال نوی شما هم مبارک
سال نوی همگی هم مبارک!!!
با میکرو lpc1768 کار میکنم.
نرم افزار یه تابع داره که نمیفهمم دقیقا داره چی کار میکنه:
این توضیحات تابعه:

/************************************************** *******************//**
* @brief Transmit and Receive data in master mode
* @param[in] I2Cx I2C peripheral selected, should be:
* - LPC_I2C0
* - LPC_I2C1
* - LPC_I2C2
* @param[in] TransferCfg Pointer to a I2C_M_SETUP_Type structure that
* contains specified information about the
* configuration for master transfer.
* @param[in] Opt a I2C_TRANSFER_OPT_Type type that selected for
* interrupt or polling mode.
* @return SUCCESS or ERROR
*
* Note:
* - In case of using I2C to transmit data only, either transmit length set to 0
* or transmit data pointer set to NULL.
* - In case of using I2C to receive data only, either receive length set to 0
* or receive data pointer set to NULL.
* - In case of using I2C to transmit followed by receive data, transmit length,
* transmit data pointer, receive length and receive data pointer should be set
* corresponding.
************************************************** ********************/

این هم خود تابعه:
Status I2C_MasterTransferData(LPC_I2C_TypeDef *I2Cx, I2C_M_SETUP_Type *TransferCfg
I2C_TRANSFER_OPT_Type Opt)


الان معلوم نیست کی start کرده، کی stop کرده، کی فرستاده و کی گرفته!!!