📄 mode_task.lst
字号:
158 2 {
159 3 break;
160 3 }
161 2
162 2 case MODE_SONG:
163 2 {
164 3 song_task(); /* song mode */
165 3 break;
166 3 }
167 2
168 2 case MODE_VOICE:
169 2 {
170 3 voice_task(); /* voice mode */
171 3 break;
172 3 }
173 2
174 2 case MODE_TOOL:
175 2 {
176 3 tool_task(); /* tool mode */
177 3 break;
C51 COMPILER V7.00 MODE_TASK 04/28/2004 09:31:56 PAGE 4
178 3 }
179 2
180 2 case MODE_IDLE:
181 2 {
182 3 mode_state = MODE_SONG;
183 3 break;
184 3 }
185 2 }
186 1 }
187
188
189 /*F**************************************************************************
190 * NAME: mode_set_init
191 *----------------------------------------------------------------------------
192 * PARAMS:
193 *
194 * return:
195 *----------------------------------------------------------------------------
196 * PURPOSE:
197 * Sets mode task in init state
198 *----------------------------------------------------------------------------
199 * EXAMPLE:
200 *----------------------------------------------------------------------------
201 * NOTE:
202 * Called from song, voice, mass, tool, usb tasks before stopping
203 *----------------------------------------------------------------------------
204 * REQUIREMENTS:
205 *****************************************************************************/
206 void mode_set_init (void)
207 {
208 1 mode_state++;
209 1 }
210
211
212 /*F**************************************************************************
213 * NAME: mode_set_download
214 *----------------------------------------------------------------------------
215 * PARAMS:
216 *
217 * return:
218 *----------------------------------------------------------------------------
219 * PURPOSE:
220 * Set mode task in download state
221 *----------------------------------------------------------------------------
222 * EXAMPLE:
223 *----------------------------------------------------------------------------
224 * NOTE:
225 * Called from usb task to stop the current task and switch to download task
226 *----------------------------------------------------------------------------
227 * REQUIREMENTS:
228 *****************************************************************************/
229 void mode_set_download (void)
230 {
231 1 #if MEM_CARD_TYPE != CARD_NONE
mem_card_select(FALSE); /* try selecting card */
#endif
234 1 switch (mode_state)
235 1 {
236 2 case MODE_SONG:
237 2 {
238 3 while (mode_state == MODE_SONG)
239 3 {
C51 COMPILER V7.00 MODE_TASK 04/28/2004 09:31:56 PAGE 5
240 4 kbd_set_stop();
241 4 song_task(); /* exit song task */
242 4 }
243 3 mode_state = MODE_DOWNLOAD;
244 3 break;
245 3 }
246 2
247 2 case MODE_VOICE:
248 2 {
249 3 while (mode_state == MODE_VOICE)
250 3 {
251 4 kbd_set_stop();
252 4 voice_task(); /* exit voice task */
253 4 }
254 3 mode_state = MODE_DOWNLOAD;
255 3 break;
256 3 }
257 2
258 2 case MODE_TOOL:
259 2 {
260 3 while (mode_state == MODE_TOOL)
261 3 {
262 4 kbd_set_stop();
263 4 tool_task(); /* exit tool task */
264 4 }
265 3 mode_state = MODE_DOWNLOAD;
266 3 break;
267 3 }
268 2
269 2 default:
270 2 {
271 3 mode_state = MODE_DOWNLOAD;
272 3 break;
273 3 }
274 2 }
275 1 }
276
277
278 /*F**************************************************************************
279 * NAME: mode_exit_download
280 *----------------------------------------------------------------------------
281 * PARAMS:
282 *
283 * return:
284 *----------------------------------------------------------------------------
285 * PURPOSE:
286 * Switch mode task from download to song state
287 *----------------------------------------------------------------------------
288 * EXAMPLE:
289 *----------------------------------------------------------------------------
290 * NOTE:
291 * Called from usb task when disconnecting
292 *----------------------------------------------------------------------------
293 * REQUIREMENTS:
294 *****************************************************************************/
295 void mode_exit_download (void)
296 {
297 1 if (mode_state == MODE_DOWNLOAD)
298 1 {
299 2 mode_state++;
300 2 #if MEM_CARD_TYPE != CARD_NONE
mem_card_select(FALSE); /* force reselect memory */
C51 COMPILER V7.00 MODE_TASK 04/28/2004 09:31:56 PAGE 6
#endif
303 2 }
304 1 }
305
306
307
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 192 ----
CONSTANT SIZE = 34 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -