سلام
این برنامه واسه ارتباط یه مموری کارت به صورت fat با مگا 32 هست که تو پروتئوس جواب میده ولی تو عمل برنامه بعد نشان دادن کلمه start تو ال سی دی متوقف میشه نمیدونم اشکال کجاست
برنامه ها و فایل پروتئوس رو پیوست کردم.
کد:
'-------------------------------------------------------------------------------
$regfile = "m32def.dat" : $crystal = 1000000
$baud = 4800
$swstack = 32
$hwstack = 64
$framesize = 64
'------------------------------- lcd ------------------------------------------
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.4 , Rs = Porta.5
'*****************************************dim************************************************
Dim Eror As Byte , Temp1 As Byte
Dim S As String * 60 , Fl As String * 12 , Ff As Byte
'***************************************library***********************************************
$include "CONFIG_AVR-DOS.Bas"
$include "config_mmc.bas"
Cls : Cursor Off
'********************************************************************************************
'===============================================================================
'===============================================================================
'===============================================================================
'===============================================================================
'===============================================================================
'*********************************************************************************************
Cls
Lcd "IN THE NAMEofGOD"
Wait 3
Cls
Lcd "AVR-DOS Library"
Locate 2 , 1
Lcd "ver:" ; Ver()
Wait 3
'*******************************************
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'1111111111111111111111111111111111111111111
Cls
Lcd "start"
Ff = Drivereset()
Ff = Driveinit()
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'******************************************
Cls
Lcd "Set Port & Reset"
If Drivecheck() <> 0 Then
Locate 2 , 1
Lcd "not ready to use"
End
End If
Locate 2 , 1
Lcd "Card drive is OK"
Wait 5
'*********************************************************************************************
Cls
Lcd " Check Driver"
If Driveinit() <> 0 Then
' Print "Card not inserted, check Card!" 'ãÑÍáå 2
Locate 2 , 1
Lcd "C not inserted"
End
End If
Locate 2 , 1
Lcd "Drive cheked Ok"
'*********************************************************************************************
Wait 5
'*********************************************************************************************
Cls
Lcd "Init File System" 'ãÑÍáå 3
If Initfilesystem(1) <> 0 Then
Locate 2 , 1
Lcd "F/s not suported"
End
End If
Locate 2 , 1
Lcd "File system OK"
Wait 4
Cls
Lcd " FINISH "
'*********************************************************************************************
End
'-------------------------------------------------------------------------------