Auf EEPROM zugreifen über Serial Port (RS232)



  • Hi

    Ich habe mal eine Grundsätzliche Frage:
    Wenn ich auf einen Microcontroller mit verschiedenen Speichern zugreifen will, ist der Vorgang/ connection überal gleich oder ist diese für jeden Controller anders?

    Ich möchte den EEPROM-Speicher oder ROM-Speicher dieses Microcontrollers auslesen:
    http://www.infineon.com/cmc_upload/documents/009/690/c167cr_ds_v3.2_2001_07.pdf

    Kann mir jemand ein kurzes Beispiel dazu geben?
    Ich habe es bereits so versucht:

    HANDLE hSerial;
    
    hSerial=CreateFile(	"COM1", 
    GENERIC_READ, 
    0,
    0, 
    OPEN_EXISTING, 
    FILE_ATTRIBUTE_NORMAL, 
    0);
    
    if(hSerial==INVALID_HANDLE_VALUE){
    	if(GetLastError()==ERROR_FILE_NOT_FOUND){
    		//serial port does not exist.  Inform user.
    	}
    	//some other error occurred. Inform user.
    }
    DCB dcbSerialParams;
    ZeroMemory(&dcbSerialParams, sizeof(dcbSerialParams));
    dcbSerialParams.DCBlength=sizeof(dcbSerialParams);
    
    if (!GetCommState(hSerial, &dcbSerialParams)) {
    	//error getting state
    }
    
    dcbSerialParams.BaudRate=CBR_19200;
    dcbSerialParams.ByteSize=8;
    dcbSerialParams.StopBits=ONESTOPBIT;
    dcbSerialParams.Parity=NOPARITY;
    
    if(!SetCommState(hSerial, &dcbSerialParams)){
    	//error setting serial port state
    }
    
    char szBuff[255];
    DWORD dwBytesRead;
    
    int y;
    if(!ReadFile(&hSerial, szBuff, 10, &dwBytesRead, NULL)){
    	y=AfxMessageBox("Fehler",MB_ICONINFORMATION);
    }
    else
    {
    	CArray<int,int> numm;
    	int x=0;
    
    	CString s_text;
    	while(x<10)
    	{
    		numm.Add((int)szBuff[x]);
    		s_text.Format("%i",numm[x]);
    		y=AfxMessageBox(s_text,MB_ICONINFORMATION);
    		x++;
    	}
    }
    

    Leider list es mir so nichts aus!
    Kann mir jemand sagen, wie das richtig geht?

    Vielen Dank!


Anmelden zum Antworten