ايران ويج

نسخه‌ی کامل: eeprom
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
یک سوال
یک رشته به طول مثلا 10 کاراکتر دارم میخوام توی eeprom خود میکرو ذخیره کنم که بعد از ریست شدن هم بهش دسترسی داشته باشم
ولی بعد از ریست شدن و حذف کدهای رایت ، یعنی دفعه بعد فقط خواندنی ، دیگه درست نمیخونه . چرا ؟ چیکار کنم ؟
کد:
$regfile = "m16def.dat"
$crystal = 11059200
$baud = 115200

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2
Config Lcd = 16 * 4 'configure lcd screen
$eeprom

Dim S As String * 13
Dim Pos As Integer
Dim S1 As String * 10
Dim S2 As String * 10
Dim Rs1 As String * 10
Dim Rs2 As String * 10

S1 = "32369514"
S2 = "056812340"
Rs1 = "00000000"
Rs2 = "00000000"
Do

Cls
Wait 2
Writeeeprom S1 , 10
Waitms 20
Writeeeprom S2 , 20
Waitms 20
Lcd "write ok"

Wait 2
Readeeprom Rs1 , 10
Wait 1
Readeeprom Rs2 , 20
Wait 1
Cls
Locate 1 , 1
Lcd Rs1
Locate 2 , 1
Lcd Rs2
Wait 1000

Loop
End

مقادیر را هم یکبار به جای استرینگ Long گرفتم نشد
word گرفتم نشد
خلاصه ، چیکار کنم ؟
مهندس ایراد برنامه ات به خاطر خط 6 هستش :
کد php:
$eeprom 

ولی پیشنهاد می کنم از برنامه زیر استفاده کنی !
یعنی یه متغیر تو eeprom در نظر بگیری و تو اون بخونی و بنویسی !

کد php:
$regfile "m16def.dat"
$crystal 11059200
$baud 
115200

Config Lcdpin 
Pin Db4 Porta.4 Db5 Porta.5 Db6 Porta.6 Db7 Porta.7 Porta.3 Rs Porta.2
Config Lcd 
16 4                                        'configure lcd screen

Dim S1 As String * 10
Dim S2 As String * 10
Dim Rs1 As String * 10
Dim Rs2 As String * 10

Dim Es1 As Eram String * 10
Dim Es2 As Eram  String * 10
Dim Ers1 As Eram  String * 10
Dim Ers2 As  Eram String * 10

S1 = "32369514"
S2 = "056812340"
Rs1 = "00000000"
Rs2 = "00000000"

Do

   Es1 = S1 : Es2 = S2 : Ers1 = Rs1 : Ers2 = Rs2
   Cls : Lcd "write ok"

   Wait 5
   S1 = Es1 : S2 = Es2 : Rs1 = Ers1 : Rs2 = Ers2
   Cls

   Home : Lcd Rs1
   Home L : Lcd Rs2
   Wait 1000

Loop 
فرقی نکرد
با قطع برق ، انگار نه انگار چیزی توی eep قبلا ذخیره شدهAngry
با eeprom reader نرم افزار پروگرامر که میخونم درسته ولی با توابع readeeprom یا همین متغییر ها نه. روی ال سی دی همه جا کارکترها را سیاه نشون میده ( همون کد هگز 255 میخونه !!! ) که البته اینم با یکبار قطع برق دیگه هیچی

حتی متغییر از نوع بایت هم گذاشتم ، ولی نمیشه :((

edited

شرمنده ، سوتی از خودم بود Shy
ظاهرا بعداز پروگرام کردن مجدد حافظه فلش هم ریست میشه