HAI, I would like to implement TTL interface to a swipe card reader. I want to read track 2 of a card .This contains alphanumeric characters and each character is of 5 bit size which includes one parity bit. I designed a hardware circuit for this with AT89c2051. The data is coming as a stream of bits from the readers magnetic head. So I have store this bit stream to a bit array. I used bdata variable for this purpose, but is not possible to write to the bit position. How I can write these bits to my bit array? What is wrong with code below: I used the pin P1.6 as the input for the data from card reader's magnetic head. Please help me.
sbit dat=P1^6; bdata unsigned char mydata[13]; for (i = 0; i < 13; i++) { for (mask = 0x01; mask != 0x00; mask <<= 1) { mydata[i] & mask = dat; } }
Here the error I got is errorC141:syntax error near'=';
Please give a replay.
Hai Friend, My code get some compilation error as mentioned in my first post. So the problem I think is not in hardware, but in code itself. If I get a single bit from a card, then it is possible to store in a single bit. But if it is a stream of bits, then I have to store in a bit array. How can I define a bit array and how its bits can be accessed. Actually there is 8 bits in a char, but I am not able store a bit in its bit0 or bit1 etc. Is it possible using Keil to store a stream of bits to such a variable. Is it possible to use bdata variable for this purpose? Please help me with a sample code.