Gast
#1231360
Hallo zusammen hab mal wieder ein kleineres Problem und hoffe einer/eine von euch findigen Entwicklern kann mir helfen. Ich benutze einen dsPIC33FJ256MC510 sowie den ADC1 im 12 Bit mode, zudem wird ein DMA Buffer im Scatter/Gather mode verwendet, MPLAB IDE v8.20 und Michrochip C30 Toolsuit. Nun folgende Problematik, ich möchte die Ports RB8/AN8 bis RB13/AN13 also 6 Ports scannen, für jeden Port sollen 8 Samples gemacht werden. Das Problem ist nun das wenn ich AN0 AN1 An2 AN3 AN4 An5 scanne passt es wenn meine Structs jeweils 6 Arrays enthalten (Adc1Ch0-Adc1Ch5). Für mich klingt dies soweit einleuchtend, da ja 6 Inputs gescanned werden also werden auch 6 Buffer benötigt! So möchte ich aber nun anstelle von AN0 bis AN5 die Ports AN8 bis AN13 scannen, also auch wieder 6 Inputs, dache ich mir wäre es kein Problem einfach das Register AD1CSSL auf 0x3F00 zu setzten und alles klappt wie zuvor, leider is dem nicht so, wie im Code teil zu erkennen ist muss ich nun mindestens 14 Arrays (Buffer) anlegen also (Adc1Ch0-Adc1Ch13). Da nun aber ja nur die Channels AN8 bis AN13 gesacanned werden sind die Buffer von (Adc1Ch0-Adc1Ch7) alle leer mussten aber angelegt werden da ansonsten "CORE-E0003: Trap due to unimplemented RAM memory access, occurred from instruction at 0x000366" ausgespuckt wird! Nun is das ja aber ungeschickt weil die unteren 8 Buffer angelegt werden müssen die aber ja gar nicht befüllt werden! Auch wenn ich jetzt z.B. nur AN15 scannen möchte muss ich trotzdem 16 Buffer anlegen wobei dann 15 von diesen 16 leer sind und nie befüllt werden...Huch "The ADC module provides a Scatter/Gather address to the DMA channel, based on the index of the analog input and the size of the DMA buffer." Dieser Satz besagt ja das er in dem Scatter/Gather mode eine Indezierung durchführt. Mein Ziel ist es nun einfach nur 6 buffer zu verwenden da ja auch nur 6 Inputs gescanned werden, leider vermute ich das dies nicht klappen wird... Hoffentlich hab ich mich relativ verständlich ausgedrückt und hoffe jemand hatte auch shcon mal mit dieser Problematik zu tun und kann bzw. will Smiley mir weiterhelfen, auch wenn er mir dann nur bestätigt das es anders nicht geht. viele Grüße & good coding Thomas
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |