ES Library Guide (I2c - Memory) - FA
ES Library Guide (I2c - Memory) - FA
(کتابخانه )i2c_memory
GitHub : Majid-Derhambakhsh
E-mail
1
فهرست
تنظیمات اولیه
توابع
نیازمندی ها 7 ------------------------------------------------------------------------------------------------------------
برای استفاده از این کتابخانه ابتدا فایل cآنرا به برنامه اضافه نمایید و هدر زیر را وارد نمایید.
"#include "i2c_memory.h
تنظیمات حافظه
جهت تنظیم کد آی سی مورد استفاده و پین های آدرس آن مقادیر زیر را ویرایش کنید:
#define _AT24C04
جهت تنظیم حافظت در برابر نوشتن حافظه مقادیر زیر را ویرایش کنید:
#define _WP_DISABLE
--غیر فعال ساز حفاظت در برابر نوشتن (جهت فعال سازی ،این مورد را کامنت کنید).
مقدار قابل قبول پین ~ 0 :تعداد پین های پشتیبانی شده هر پورت.
تنظیمات i2c
ابتدا فایل i2c_unit_conf.hدرون فولدر I2C_UNITرا باز نموده و مقادیر زیر را ویرایش نمایید :
--تقسیم کننده واحد ( i2cدر صورت عدم عملکرد صحیح با مقادیر جدول 1-2ویرایش شود) :
شناسه مقدار
_PRE1 1
_PRE4 4
_PRE16 16
_PRE64 64
جدول 1-2
نکته :در کامپایلر های AVRفایل i2c_unit.cو gpio_unit.cرا به برنامه اضافه کنید.
سری : STM32
ابتدا فایل stm32_i2c _conf.hدرون فولدر STM32_I2Cرا باز نموده و مقادیر زیر را ویرایش نمایید :
#define STM32F1
--سایز بافر جهت پاک کردن حافظه (طول بیشتر سرعت بیشتر).
I2C_Memory_Init
این تابع جهت راه اندازی حافظه مورد استفاده قرار می گیرد. شرح تابع
مثال :
;)(I2C_Memory_Init
I2C_MemoryIsReady
این تابع جهت بررسی در دسترس بودن حافظه مورد استفاده قرار می گیرد. شرح تابع
پارامتر ها
مقادیر بازگشتی
مثال :
;)device_status = I2C_MemoryIsReady(100
I2C_Memory_SingleWrite
این تابع جهت نوشتن یک بایت دیتا برروی حافظه مورد استفاده قرار می گیرد. شرح تابع
پارامتر ها
مقادیر بازگشتی
_MEM_SIZE_ERROR •
_STAT_OK / _STAT_ERROR : AVR •
HAL_OK / HAL_ERROR : ARM •
مثال :
;)com_status = I2C_Memory_SingleWrite(0,'A',50
5
I2C_Memory_BurstWrite
این تابع جهت نوشتن یک رشته از دیتا برروی حافظه مورد استفاده قرار می گیرد. شرح تابع
پارامتر ها
مقادیر بازگشتی
_MEM_SIZE_ERROR •
_STAT_OK / _STAT_ERROR : AVR •
HAL_OK / HAL_ERROR : ARM •
مثال :
;)com_status = I2C_Memory_BurstWrite(0,"Hello",5,50
I2C_Memory_SingleRead
این تابع جهت خواندن یک بایت دیتا از حافظه مورد استفاده قرار می گیرد. شرح تابع
پارامتر ها
مقادیر بازگشتی
_MEM_SIZE_ERROR •
_STAT_OK / _STAT_ERROR : AVR •
HAL_OK / HAL_ERROR : ARM •
مثال :
;)com_status = I2C_Memory_SingleRead(0,&my_data,50
I2C_Memory_BurstRead
این تابع جهت خواندن یک رشته دیتا از حافظه مورد استفاده قرار می گیرد. شرح تابع
پارامتر ها
مقادیر بازگشتی
_MEM_SIZE_ERROR •
_STAT_OK / _STAT_ERROR : AVR •
HAL_OK / HAL_ERROR : ARM •
مثال :
;)com_status = I2C_Memory_BurstRead(12,received_data_array,10,50
I2C_Memory_Erase
این تابع جهت پاک کردن دیتا از حافظه مورد استفاده قرار می گیرد. شرح تابع
پارامتر ها
مقادیر بازگشتی
_MEM_SIZE_ERROR •
_STAT_OK / _STAT_ERROR : AVR •
HAL_OK / HAL_ERROR : ARM •
مثال :
;)com_status = I2C_Memory_Erase(0,65000,50
نیازمندی ها
نکات مهم
کلیه توابع به صورت کمل کیس نوشته شده اند( .شروع هر کلمه با حرف بزرگ). •
کد های مورد استفاده جهت راه اندازی و استفاده در میکروکنترلر های مختلف یکسان می باشد. •
7
خطا و اختارها
خطاها :
این خطا زمانی نمایان می شود که میکروکنترلر یا کتابخانه آن : Chip or I2C Library not supported •
پشتیبانی نشود.
: Memory is not selected Or not supportedاین خطا زمانی نمایان می شود که حافظه به درستی تعیین •
اختارها :
این اختار زمانی نمایان می شود که پین آدرس اعالم شده حافظه : Your Ax Pin state in not correct •
AT24C01 – AT24C02 – AT24C04 – AT24C08 – AT24C16 – AT24C32 – AT24C64 – AT24C128 – AT24C256 – AT24C512
AT24C1024
بلوک حافظه
0.8s
16s
9
میکروکنترلر های پشتیبانی شده
نسخه 0.0.1
--------------------------------------------------------------------------------------------------------------------------------------
نسخه 0.0.0
--------------------------------------------------------------------------------------------------------------------------------------
11