[an error occurred while processing this directive]
Ну, стреляться-то рановато - программа грузится, но не работает:)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено eugene_brad 11 декабря 2002 г. 20:18
В ответ на: пошел стреляться(+) отправлено Димыч 11 декабря 2002 г. 19:20

//Для наблюдения за "процессом" используется PF6
#include

#define Proc_clock 0x1050 // x8
.GLOBAL _main;

.SECTION /dm data2;
.var Buf_dm[3400];
.SECTION /dm data1;
.var tmp;
.var Buf_pm[3400];


.SECTION /pm program;
_main:
nop;
call Reprogram_clock;
call Initialize_GPI0;
main_loop:
IOPG = General_Purpose_IO;
nop;
ay1=0x40;IO(FLAGS)=ay1;
Fill_Buf_dm:
i0=Buf_dm;m0=1;
cntr=length(Buf_dm);
ar=1234;
do Fill_Buf_dm_loop until CE;
ar=ar+1;
dm(i0+=m0)=ar;
ar=ar+1;
Fill_Buf_dm_loop:
nop;
ay1=0x40;IO(FLAGC)=ay1;
Fill_Buf_pm:
i0=Buf_pm;m0=1;
cntr=length(Buf_pm);
ar=4321;
do Fill_Buf_pm_loop until CE;
ar=ar+1;
dm(i0+=m0)=ar;
ar=ar+1;
Fill_Buf_pm_loop:
nop;
jump main_loop;


Reprogram_clock:
IOPG=Clock_and_System_Control_Page;
ax1=(Proc_clock+0x0102); IO(PLLCTL)=ax1; // Stop the PLL - In Bypass
ax1=(Proc_clock+0x0102); IO(PLLCTL)=ax1; // Reprogram - In Bypass
ax1=(Proc_clock+0x0100); IO(PLLCTL)=ax1; // Reprogram - In Bypass
ax1=Proc_clock; IO(PLLCTL)=ax1;
cntr=1000; // Wait for a duration of time
Do Reprogram_clock_loop Until CE;
Reprogram_clock_loop:
nop;
RTS;

Initialize_GPI0:
IOPG = General_Purpose_IO;
AR = 0x00FF;IO(DIR) = AR; // Configure FLAGS 0-7 as outputs
RTS;

/*.section/pm IVreset;
nop;
jump _main;
rti;
*/

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru