i = 0;
j = 0;
k = 0;
for(j=0;j<5;j++0) {
if(arry2d[i][j] == arry1d[j]) {
k++;
}
}
if(k == 5) { //if array elements are matched
//then do whatever you want
}
for(j=0;j<row;j++)
{
//UART1_Write(13);
for (k=0;k<16;k++)
{
tmp2[k]=cnics_array[j][k];
}
//UART1_Write_text(cnics_array[j][k]);
UART1_Write_text(tmp2);
UART1_Write(13);
UART1_Write(13);
}
for(j=0;j<row;j++)
j = 0;
for (k=0;k<16;k++)
{
tmp2[k]=cnics_array[j][k];
}
int VerifyDuplicateVoter()
{
M_Open_File_Read();
Barcodescan();
b_Duplicate = 1;
while(1)
{
for (cn = 0; cn <= 15; cn++)
{
// if ((cnics[cn] != text[cn]))
//if (barcode[CNIC] != tmp2[CNIC])
if (txt[cn] !=tmp2[cn]) // if any character is not matching, make flag 0 and exit for loop
{
return 0;
// UART1_Write('w');
b_Duplicate = 0 ;
break;
}
return 1;
}
}
}
while(character!=13)
{
Mmc_Fat_Read(&character);
if(character=='*')
chk=1;
}
for(j=0;j<row;j++)
{
//UART1_Write(13);
for (k=0;k<16;k++)
{
tmp2[k]=cnics_array[j][k];
}
//UART1_Write_text(cnics_array[j][k]);
UART1_Write_text(tmp2);
UART1_Write(13);
UART1_Write(13);
}
for(i=0;i<first;i++)
{
if(cnics[i]==13)
{
cnics_array[row][col]='\0'; ++row; col=0; ++i;
}
cnics_array[row][col]= cnics[i];
col++;
}
// UART1_Write_text(cnics);
for(j=0;j<1;j++)
{
//UART1_Write(13);
for (k=0;k<16;k++)
{
tmp2[k]=cnics_array[j][k];
}
//UART1_Write_text(cnics_array[j][k]);
UART1_Write_text(tmp2);
UART1_Write(13);
UART1_Write(13);
}
i m using this
for(j=0;j<row;j++)
so that all rows sholud be read....
for(j=0;j<row;j++)
{
//UART1_Write(13);
for (k=0;k<16;k++)
{
tmp2[k]=cnics_array[j][k];
}
//UART1_Write_text(cnics_array[j][k]);
UART1_Write_text(tmp2);
UART1_Write(13);
UART1_Write(13);
}
proteus.mmc file is of 1.84gb because i m using a 2gb memory card. i used usbimage tool for making image of memory card named procard.mmc
how to check whether both my arrays have same ascii values?
sbit Mmc_Chip_Select at RC0_bit;
sbit Mmc_Chip_Select_Direction at TRISC0_bit;
unsigned short keydata = 0, special = 0, down = 0;
char fat_txt[20] = "FAT16 not found";
char filename[11] = "voter1.txt"; // File names
char character='l';
unsigned long size;
char Buffer[512];
char txt[] = "34101-5508931-7";
char text[] ="34101-5508931-7";
char databuffer[100];
char cnics[16];
char tmp2[16];
char cnics_array[10][16];
int res;
int first=0,second=0,chk=0;
char tmp[4];
bit b_Duplicate ;
int cn;
int cni;
int counter = 0; // counter of barcode characters
char *temp_arr;
unsigned char newStr[50];
unsigned int i, count, row, col = 0;
void M_Open_File_Read()
{
unsigned int j = 0, k = 0;
Mmc_Fat_Assign(&filename, 0);
Mmc_Fat_Reset(&size);
Mmc_Fat_Read(&character);
while(character!='*') {
cnics[count] = character;
count++;
Mmc_Fat_Read(&character);
}
cnics[count] = '\0';
UART_Write_Text("cnics = ");
UART1_Write_Text(cnics);
UART_Write(13);
UART_Write(10);
i = 0;
row = 0;
col = 0;
for(i=0;i<=(count);i++) {
if(cnics[i] == '\0')
{
cnics_array[row][col]='\0';
row++;
col = 0;
}
else {
cnics_array[row][col]= cnics[i];
col++;
}
}
for(j=0;j<1;j++) {
for (k=0;k<16;k++) {
tmp2[k] = cnics_array[j][k];
}
}
UART_Write_Text("tmp2 = ");
UART1_Write_text(tmp2);
UART1_Write(13);
UART1_Write(10);
}
int VerifyDuplicateVoter()
{
M_Open_File_Read();
}
void main()
{
PORTB = 0;
TRISB = 0;
PORTA = 1;
TRISA = 1;
TRISD=0;
TRISC =0;
PORTC = 0x02;
UART1_Init(9600);
SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV64, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH);
if (Mmc_Fat_Init ()==0)
{
SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH);
res = VerifyDuplicateVoter();
}
}
void M_Open_File_Read()
{
int j,k;
int row =10;
Mmc_Fat_Assign(&filename, 0);
Mmc_Fat_Reset(&size);
Mmc_Fat_Read(&character);
while(character!='*')
{
if(character==' ')
while(character!=13)
{
Mmc_Fat_Read(&character);
if(character=='*')
chk=1;
}
cnics[first]=character;
++first;
//UART1_Write(character);
Mmc_Fat_Read(&character);
if(chk==1)
break;
}
for (j=0;j<first;j++)
{
if(cnics[j] == 10)
{
cnics_array[count][index+1] = '\0';
count++;
index = 0;
}
else
{
cnics_array[count][index] = cnics[j];
index++;
}
} UART1_Write_text(cnics_array);
}
UART1_Write_text(cnics_array);
void M_Open_File_Read()
{
int j,k;
int row =10;
Mmc_Fat_Assign(&filename, 0);
Mmc_Fat_Reset(&size);
Mmc_Fat_Read(&character);
while(character!='\n')
{
if(character==' ')
while(character!=13)
{
Mmc_Fat_Read(&character);
if(character=='\n')
chk=1;
}
cnics[first]=character;
++first;
//UART1_Write(character);
Mmc_Fat_Read(&character);
if(chk==1)
break;
}
for (j=0;j<first;j++)
{
if(cnics[j] == '\n')
{
cnics_array[count][index] = '\0';
count++;
index = 0;
}
else
{
cnics_array[count][index] = cnics[j];
index++;
}
sbit Mmc_Chip_Select at RC0_bit;
sbit Mmc_Chip_Select_Direction at TRISC0_bit;
unsigned short keydata = 0, special = 0, down = 0;
char fat_txt[20] = "FAT16 not found";
char filename[11] = "voter1.txt"; // File names
char character='l';
unsigned long size;
char Buffer[512];
char txt[] = "34101-5508931-7";
char cnics[16];
char tmp2[16];
char cnics_array[10][16];
int res;
unsigned int i, count, row, col = 0;
void M_Open_File_Read()
{
unsigned int j = 0, k = 0;
Mmc_Fat_Assign(&filename, 0);
Mmc_Fat_Reset(&size);
Mmc_Fat_Read(&character);
while(character!='\n') {
cnics[count] = character;
count++;
Mmc_Fat_Read(&character);
}
cnics[count] = '\0';
UART_Write_Text("cnics = ");
UART1_Write_Text(cnics);
UART_Write(13);
UART_Write(10);
i = 0;
row = 0;
col = 0;
for(i=0;i<=(count);i++) {
if(cnics[i] == '\0')
{
cnics_array[row][col]='\0';
row++;
col = 0;
}
else {
cnics_array[row][col]= cnics[i];
col++;
}
}
for(j=0;j<1;j++) {
for (k=0;k<16;k++) {
tmp2[k] = cnics_array[j][k];
}
}
UART_Write_Text("tmp2 = ");
UART1_Write_text(tmp2);
UART1_Write(13);
UART1_Write(10);
}
int VerifyDuplicateVoter()
{
unsigned int match_counter = 0;
M_Open_File_Read();
for(i=0;i<15;i++) {
if(txt[i] == tmp2[i]) {
match_counter++;
}
}
if(match_counter == 15) {
UART_Write_Text("txt[] matches with tmp2[]");
}
else {
UART_Write_Text("txt[] doesn't matches with tmp2[]");
}
UART1_Write(13);
UART1_Write(10);
}
void main()
{
PORTB = 0;
TRISB = 0;
PORTA = 1;
TRISA = 1;
TRISD=0;
TRISC =0;
TRISC.F6 = 0;
TRISC.F7 = 1;
PORTC = 0x02;
UART1_Init(9600);
SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV64, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH);
if (Mmc_Fat_Init ()==0)
{
SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH);
}
res = VerifyDuplicateVoter();
}
int j,k;
int row =10;
Mmc_Fat_Assign(&filename, 0);
Mmc_Fat_Reset(&size);
//for (i=1;second<11;i++)
Mmc_Fat_Read(&character);
while(character!='*')
{
if(character==' ')
while(character!=13)
{
Mmc_Fat_Read(&character);
if(character=='*')
chk=1;
}
cnics[first]=character;
++first;
//UART1_Write(character);
Mmc_Fat_Read(&character);
if(chk==1)
break;
}
for (j=0;j<first;j++)
{
if(cnics[j] == '\n')
{
cnics_array[count][index+1] = '\0';
count++;
index = 0;
}
else
{
cnics_array[count][index] = cnics[j];
index++;
}
}
UART1_Write_text(cnics_array[0]);
UART1_Write_text(cnics_array[1]);
Mmc_Fat_Assign(&filename, 0);
Mmc_Fat_Reset(&size);
for (i=0;i<size;i++)
{
Mmc_Fat_Read(&character);
Uart_Write(character);
}
no i didn't stored 10 cnics terminating with '*'. its just the cnics are extracted from voter1.txt
while(character!='\n') while(character!='\*')
all 10 cnics have different values according to which i can change values of txt[] because its a raw data which can be changed.
no the cnics are like this
34101-5508931-7
34101-9759002-3
34101-4432710-7
34105-2759550-7
34101-9764655-9
34101-3564359-1
34101-9854213-7
34101-1026066-9
34101-4190836-9
34101-5608931-2
void M_Open_File_Read()
{
int j,k;
Mmc_Fat_Assign(&filename, 0);
Mmc_Fat_Reset(&size);
//for (i=1;second<11;i++)
Mmc_Fat_Read(&character);
while(character!='*')
{
if(character==' ')
while(character!=13)
{
Mmc_Fat_Read(&character);
if(character=='*')
chk=1;
}
cnics[first]=character;
++first;
//UART1_Write(character);
Mmc_Fat_Read(&character);
if(chk==1)
break;
}
// UART1_Write_text(cnics);
for (j=0;j<first;j++)
{
if(cnics[j] == '\r')
{
cnics_array[count][index+1] = '\0';
count++;
index = 0;
}
else
{
cnics_array[count][index] = cnics[j];
index++;
}
}
UART1_Write_text(cnics);
UART1_Write(13);
UART1_Write_text("************************************");
UART1_Write(13);
UART1_Write(cnics_array[0][0]);
UART1_Write(cnics_array[0][1]);
UART1_Write(cnics_array[0][2]);
UART1_Write(cnics_array[0][3]);
UART1_Write(cnics_array[0][4]);
UART1_Write(cnics_array[0][5]);
UART1_Write(cnics_array[0][6]);
UART1_Write(cnics_array[0][7]);
UART1_Write(cnics_array[0][8]);
UART1_Write(cnics_array[0][9]);
UART1_Write(cnics_array[0][10]);
UART1_Write(cnics_array[0][11]);
UART1_Write(cnics_array[0][12]);
UART1_Write(cnics_array[0][13]);
UART1_Write(cnics_array[0][14]);
UART1_Write(13);
UART1_Write(13);
UART1_Write(cnics_array[1][0]);
UART1_Write(cnics_array[1][1]);
UART1_Write(cnics_array[1][2]);
UART1_Write(cnics_array[1][3]);
UART1_Write(cnics_array[1][4]);
UART1_Write(cnics_array[1][5]);
UART1_Write(cnics_array[1][6]);
UART1_Write(cnics_array[1][7]);
UART1_Write(cnics_array[1][8]);
UART1_Write(cnics_array[1][9]);
UART1_Write(cnics_array[1][10]);
UART1_Write(cnics_array[1][11]);
UART1_Write(cnics_array[1][12]);
UART1_Write(cnics_array[1][13]);
UART1_Write(cnics_array[1][14]);
UART1_Write(cnics_array[1][15]);
UART1_Write(13);
UART1_Write(13);
UART1_Write(cnics_array[2][0]);
UART1_Write(cnics_array[2][1]);
UART1_Write(cnics_array[2][2]);
UART1_Write(cnics_array[2][3]);
UART1_Write(cnics_array[2][4]);
UART1_Write(cnics_array[2][5]);
UART1_Write(cnics_array[2][6]);
UART1_Write(cnics_array[2][7]);
UART1_Write(cnics_array[2][8]);
UART1_Write(cnics_array[2][9]);
UART1_Write(cnics_array[2][10]);
UART1_Write(cnics_array[2][11]);
UART1_Write(cnics_array[2][12]);
UART1_Write(cnics_array[2][13]);
UART1_Write(cnics_array[2][14]);
UART1_Write(cnics_array[2][15]);
UART1_Write(13);
UART1_Write(13);
UART1_Write(cnics_array[3][0]);
UART1_Write(cnics_array[3][1]);
UART1_Write(cnics_array[3][2]);
UART1_Write(cnics_array[3][3]);
UART1_Write(cnics_array[3][4]);
UART1_Write(cnics_array[3][5]);
UART1_Write(cnics_array[3][6]);
UART1_Write(cnics_array[3][7]);
UART1_Write(cnics_array[3][8]);
UART1_Write(cnics_array[3][9]);
UART1_Write(cnics_array[3][10]);
UART1_Write(cnics_array[3][11]);
UART1_Write(cnics_array[3][12]);
UART1_Write(cnics_array[3][13]);
UART1_Write(cnics_array[3][14]);
UART1_Write(cnics_array[3][15]);
UART1_Write(13);
UART1_Write(13);
}
UART_Write_2DArray(cnics_array, row, col);
void UART_Write_2DArray(char TwoDArray[][16], unsigned int _row, unsigned int _col) {
for(i=0;i<=_col;i++) {
TXREG = TwoDArray[_row][i];
while(!PIR1.TXIF);
PIR1.TXIF = 0;
PIE1.TXIE = 1;
}
}
[COLOR="#0000FF"]
void UART_Write_2DArray(char _2DArray[10][16], unsigned int _row, unsigned int _col);
void compare_arrays(unsigned char _2Darray[10][16], unsigned char _array[16]);
unsigned int i = 0, j = 0, count = 0, row = 0, col = 0, _row = 0, _col = 0;
unsigned char _2DArrayDArray[10][16];
void compare_arrays(unsigned char _2Darray[10][16], unsigned char _array[16]) {
match_counter = 0;
row = 0;
for(row=0;row<10;row++) {
for(col=0;col<15;col++) {
if(txt[col] == cnics_array[row][col]) {
match_counter++;
}
}
UART_Write_2DArray(cinic_array, row, col);
if(match_counter == 15) {
UART_Write_Text("txt[] matches with cnic");
}
else {
UART_Write_Text("txt[] doesn't match with cnic");
}
}
}
void UART_Write_2DArray(char _2DArray[][16], unsigned int _row, unsigned int _col) {
for(i=0;i<=_col;i++) {
TXREG = _2DArray[_row][i];
while(!PIR1.TXIF); //(while(!TXSTA.TRMT); TXSTA>TRMT = 0;
PIR1.TXIF = 0;
PIE1.TXIE = 1;
}
}
void main() {
compare_arrays(cnic_array, txt);
}
[/COLOR]
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?