OpenCores
URL https://opencores.org/ocsvn/usb_nand_reader/usb_nand_reader/trunk

Subversion Repositories usb_nand_reader

[/] [usb_nand_reader/] [trunk/] [mini32/] [NandDataLine.cp] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 pradd
#line 1 "H:/MINI32/MINI-32 Examples/MINI-32 mikroC PRO for PIC32 Examples/MINI32_NAND_Controller/NandDataLine.c"
2
#line 1 "h:/mini32/mini-32 examples/mini-32 mikroc pro for pic32 examples/mini32_nand_controller/nanddataline.h"
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
void init_nand_data_line();
11
void init_nand_control_line();
12
void data_line_write_byte(unsigned char b);
13
unsigned char data_line_read_byte();
14
#line 5 "H:/MINI32/MINI-32 Examples/MINI-32 mikroC PRO for PIC32 Examples/MINI32_NAND_Controller/NandDataLine.c"
15
sbit nand_b0 at LATE2_bit;
16
sbit nand_b1 at LATE3_bit;
17
sbit nand_b2 at LATG7_bit;
18
sbit nand_b3 at LATG8_bit;
19
sbit nand_b4 at LATF5_bit;
20
sbit nand_b5 at LATF4_bit;
21
sbit nand_b6 at LATE4_bit;
22
sbit nand_b7 at LATE5_bit;
23
 
24
 
25
void init_nand_data_line()
26
{
27
 TRISE = 0;
28
 TRISF = 0;
29
 TRISG = 0;
30
 
31
 LATE = 0;
32
 LATF = 0;
33
 LATG = 0;
34
 
35
 nand_b0 = 0;
36
 nand_b1 = 0;
37
 nand_b2 = 0;
38
 nand_b3 = 0;
39
 nand_b4 = 0;
40
 nand_b5 = 0;
41
 nand_b6 = 0;
42
 nand_b7 = 0;
43
}
44
 
45
 
46
int data_line_last_op =  2 ;
47
 
48
void data_line_write_byte(unsigned char b)
49
{
50
 if(data_line_last_op !=  1 )
51
 {
52
 TRISE2_bit = 0; TRISE3_bit = 0; TRISE4_bit = 0; TRISE5_bit = 0;
53
 TRISF4_bit = 0; TRISF5_bit = 0;
54
 TRISG7_bit = 0; TRISG8_bit = 0;
55
 data_line_last_op =  1 ;
56
 }
57
 nand_b0 = (b) & 1;
58
 nand_b1 = (b >> 1) & 1;
59
 nand_b2 = (b >> 2) & 1;
60
 nand_b3 = (b >> 3) & 1;
61
 nand_b4 = (b >> 4) & 1;
62
 nand_b5 = (b >> 5) & 1;
63
 nand_b6 = (b >> 6) & 1;
64
 nand_b7 = (b >> 7) & 1;
65
 asm NOP;
66
 asm NOP;
67
 asm NOP;
68
}
69
 
70
 
71
unsigned char data_line_read_byte()
72
{
73
 unsigned char d = 0;
74
 if(data_line_last_op !=  0 )
75
 {
76
 TRISE2_bit = 1; TRISE3_bit = 1; TRISE4_bit = 1; TRISE5_bit = 1;
77
 TRISF4_bit = 1; TRISF5_bit = 1;
78
 TRISG7_bit = 1; TRISG8_bit = 1;
79
 data_line_last_op =  0 ;
80
 }
81
 d |= (unsigned char)PORTE.B2;
82
 d |= ((unsigned char)PORTE.B3 << 1);
83
 d |= ((unsigned char)PORTG.B7 << 2);
84
 d |= ((unsigned char)PORTG.B8 << 3);
85
 d |= ((unsigned char)PORTF.B5 << 4);
86
 d |= ((unsigned char)PORTF.B4 << 5);
87
 d |= ((unsigned char)PORTE.B4 << 6);
88
 d |= ((unsigned char)PORTE.B5 << 7);
89
 return d;
90
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.