Schreiben auf Speicherkarte mit CT-API ?

Diskutiere Schreiben auf Speicherkarte mit CT-API ? im Elektronik und Chipkarten-Programmierung Forum im Bereich Hardware & Software Forum; Hallo, ich habe ein Programm mit der CT-API geschrieben, das den Inhalt einer I2C Speicherkarte ausliest. Die ausgelesenen Bytes werden von...
  • Schreiben auf Speicherkarte mit CT-API ? Beitrag #1
E

eztaM

Neues Mitglied
Dabei seit
06.01.2006
Beiträge
2
Reaktionspunkte
0
Hallo,
ich habe ein Programm mit der CT-API geschrieben, das den Inhalt einer I2C Speicherkarte ausliest.
Die ausgelesenen Bytes werden von meinem Programm als dezimale Zahlen darstellt.
Ich möchte nun das Porgamm so erweitern, dass es einzelne Bytes auf der Speicherkarte überschreiben kann.
In dem folgenden Code habe ich das auch schon versucht, doch leider funktioniert es nicht.

Was habe ich falsch gemacht???


Code:
#include <stdio.h>
#include <ct.h>


int main()
{

	
unsigned short	ctn=1,	//Terminal-Nummer
		pn=1,	//Port-Nummer
		lenr=254;	//Größe des Puffers
unsigned char	sad=2,	//Source-address
		dad=1,	//Destination-address
		response[600],//Puffer für Antwort
		command[300]; 
char ret;	//Rückgabewert 

	
	ret = CT_init(ctn,pn);
	if(ret!=0)
		printf("Fehler 1");
	//Request ICC
	command[0] = 0x20;
	command[1] = 0x12;
	command[2] = 0x01;
	command[3] = 0x01;
	command[4] = 0x00;

	
	ret = CT_data(ctn,&dad,&sad,5,command,&lenr,response);
	if(ret != 0)
		printf("Fehler2");

	printf("Request ICC:\n");
	for(int a=0;a<7;a++)
		printf("%3d ",response[a]);

	//Select MF
	sad=2;
	dad=0;
	lenr=254;
	command[0] = 0x00;
	command[1] = 0xA4;
	command[2] = 0x00;
	command[3] = 0x00;
	command[4] = 0x2;
	command[5] = 0x3F;
	command[6] = 0x00;

	ret = CT_data(ctn,&dad,&sad,7,command,&lenr,response);

	printf("\n\nSelect MF:\n");
	for(int a=0;a<7;a++)
		printf("%3d ",response[a]);
		

	//Write data:
	sad=2;
	dad=0;
	lenr=400;
	command[0] = 0x00;
	command[1] = 0xD0;
	command[2] = 0x1;
	command[3] = 0x1;
	command[4] = 0x0;
	command[5] = 0x0;
	
	ret = CT_data(ctn,&dad,&sad,5,command,&lenr,response);	
	if(ret!=0)
		printf("\nFehler 5\n");


	//Read data:
	sad=2;
	dad=0;
	lenr=400;
	command[0] = 0x0;
	command[1] = 0xB0;
	command[2] = 0x0;
	command[3] = 0x0;
	command[4] = 0x00;
	ret = CT_data(ctn,&dad,&sad,5,command,&lenr,response);

	printf("\n\nRead data:\n");
	
	for(int a=0,v=0;a<260;a++){
		v++;
		printf("%3d ",response[a]);
		if(v==19){
			printf("\n");
			v=0;
		}
	}
	CT_close(ctn);
		
	return 0;
}

Vielen Dank

mfg Matze
 
  • Schreiben auf Speicherkarte mit CT-API ? Beitrag #2
W

wicht

Neues Mitglied
Dabei seit
07.01.2007
Beiträge
3
Reaktionspunkte
0
Code:
	//Write data:
	sad=2;
	dad=0;
	lenr=400;
	command[0] = 0x00;
	command[1] = 0xD0;
	command[2] = 0x1;
	command[3] = 0x1;
	command[4] = 0x0;
	command[5] = 0x0;
	
	ret = CT_data(ctn,&dad,&sad,5,command,&lenr,response);	
	if(ret!=0)
		printf("\nFehler 5\n");
Wenn die Karte schon beschrieben ist, kannst du afaik nur mit der Update Instruction arbeiten.
Das INS Byte (bei dir command[1]) muß also auf 0xD6 gesetzt werden.
Weiterhin musst du meines Wissens genausoviel beschreiben wie du mit dem Select File Command ausgewählt hast. In deinem Fall musst du also den komplette MF Inhalt beschreiben (also auf ner 2kBit I²C karte 256 Byte).
Pass aber auf das du dir den ATR nicht zerschiesst. Ist mir passiert. Je nach Lese/Schreibgerät kannst du dann evtl. nicht mehr auf die Karte zugreiffen.
 
  • Schreiben auf Speicherkarte mit CT-API ? Beitrag #3
Marsupilami

Marsupilami

Bekanntes Mitglied
Dabei seit
31.10.2004
Beiträge
1.438
Reaktionspunkte
0
Ort
Braunau
*anmerk* Das posting ist genau 1 Jahr und 1 Tag alt :)
 
  • Schreiben auf Speicherkarte mit CT-API ? Beitrag #4
W

wicht

Neues Mitglied
Dabei seit
07.01.2007
Beiträge
3
Reaktionspunkte
0
Autsch. Danke für die Info... wir haben ja gar nicht 2006 ;)
Bin da auch nur drüber gestolpert da ich ein ähnliches Problem habe.
Aber mir scheint hier für diese Thematik das falsche Forum (ist ja auch sehr speziell).

Sorry :ja:
 
  • Schreiben auf Speicherkarte mit CT-API ? Beitrag #5
E

eztaM

Neues Mitglied
Dabei seit
06.01.2006
Beiträge
2
Reaktionspunkte
0
Danke für deine Antwort!:)

Es hat mir trotzdem geholfen. Obwohl es schon 1 Jahr her ist.

mfg eztaM
 
Thema:

Schreiben auf Speicherkarte mit CT-API ?

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben