تو این مرحله میخوام تابعی معرفی کنم که میاد تک تک رجیسترای کنترلر رو مقدار میده البته تو مرحله به هیچ عنوان نباید رشته ای رو که تابع از روش داره میخونه رو تغییر بدین
void SysInit(void)
{
//int T_R_A ;
//int T_R_A_D;
int T_S_B_R_S_P_0;
int T_S_B_R_S_P_1;
int T_S_B_R_S_P_2;
int T_S_B_R_S_P_0_D_V;
int T_S_B_R_S_P_1_D_V;
int T_S_B_R_S_P_2_D_V;
int i;
for(i=0;i<220;i++)
{
T_S_B_R_S_P_0 = T138af_Serial_Bus_Reg_Set_Page_0 [i] ;
T_S_B_R_S_P_0_D_V = T138af_Serial_Bus_Reg_Set_Page_0_Default_Value [i] ;
I2CWriteByte(T138AF_P0,T_S_B_R_S_P_0,T_S_B_R_S_P_0 _D_V);
delay_ms(10);
}
for(i=0;i<141;i++)
{
T_S_B_R_S_P_1 = T138af_Serial_Bus_Reg_Set_Page_1[i] ;
T_S_B_R_S_P_1_D_V = T138af_Serial_Bus_Reg_Set_Page_1_Default_Value [i] ;
I2CWriteByte(T138AF_P1,T_S_B_R_S_P_1,T_S_B_R_S_P_1 _D_V);
delay_ms(10);
}
for(i=0;i<48;i++)
{
T_S_B_R_S_P_2 = T138af_Serial_Bus_Reg_Set_Page_2[i] ;
T_S_B_R_S_P_2_D_V = T138af_Serial_Bus_Reg_Set_Page_2_Default_Value [i] ;
I2CWriteByte(T138AF_P2,T_S_B_R_S_P_2,T_S_B_R_S_P_2 _D_V);
delay_ms(10);
}
//T_R_A = T138af_Register_Addr [x] ;
//T_R_A_D = T138af_Register_Addr_Default [x] ;
//write_eeprom(T_R_A & 0x00ff,T_R_A_D);
// delay_ms(20);
//OSD1CfgWr(T_R_A , T_R_A_D ) ;
// delay_ms(20);
//T138af_Serial_Bus_Reg_Set_Page_0 []
//T138af_Serial_Bus_Reg_Set_Page_1 []
//T138af_Serial_Bus_Reg_Set_Page_2 []
//T138af_Serial_Bus_Reg_Set_Page_0_Default_Value []
//T138af_Serial_Bus_Reg_Set_Page_1_Default_Value []
//T138af_Serial_Bus_Reg_Set_Page_2_Default_Value []
}
تو این تابع ما دو تا رشته داریم که ادرس تک تک رجیسترای p0 هستش و یه رشته دیگه داریم که محتویاتش نظیر به نظیر مقدارش برابر ادرس رجیسترای p0 هستش اینارو تو یه حلقه 219 بار تکرار میکنیم تا تمام مقدار ها وارد رجیسترا بشه البته در این بین یک سری از رجیسترا read only هستن که نوشتن یا ننوشتن رو اونا تاثیری نداره برای قسمت دوم همین کارو برای p1 و p2 میکنیم این تابع مهمترین تابع راه اندازی این کنترلر تابع های بعدی تمام کاراشونو با مقدارهایی که این تابع رو کنترلر ست میکنه انجام میدن امیدوارم مفید باشه