📄 pcm.c
字号:
#include "lcd.h"
#include "reg5509a.h"
//------------------------------------------------------------
extern unsigned int key_flag;
//-------------------------------------------------------------
unsigned int read_data2,read_data1;
unsigned int write_data2,write_data1;
unsigned char flag;
extern void mcbsp2_init(void);
extern void mcbsp2_write_rdy(unsigned int out_data1,unsigned int out_data2);//MCBSP1发送一个数据32位
extern void mcbsp2_read_rdy(void);
extern void mcbsp2_open(void);
extern void mcbsp2_close(void);
void PCM()
{
unsigned int jj;
unsigned int sample;
unsigned int count;
unsigned int mark_max,mark_min;
unsigned int read_dat_new,read_dat_old;
count = 1;
sample=0;
read_dat_old = 64;
set_aic23_sci_mode();
PCM_SUB();
delayMs_SYS(1);
mcbsp2_init();
mcbsp2_open();
while(1)
{
mcbsp2_read_rdy();
read_data2 = DRR2_2;
read_data1 = DRR1_2;
sample++;
//-------------------------------------------
if(sample==60)
{
sample=0;
if(count==1);//mode_draw_wave(0x00,93);
else if(count==176)count=0;
count++;
read_dat_new = read_data1>>9;
if(read_dat_new<60)read_dat_new+=64;
else if(read_dat_new>68)read_dat_new-=64;
{
if(read_dat_new > read_dat_old)
{
mark_max = read_dat_new;
mark_min = read_dat_old;
}
else
{
mark_max = read_dat_old;
mark_min = read_dat_new;
}
for(jj=0;jj<128;jj++)
if((jj<=mark_max)&&(jj>=mark_min));// point1(BLUE);
else;// point1(BLACK);
}
read_dat_old = read_dat_new;
}
//-------------------------------------------
write_data2 = read_data2;
write_data1 = read_data1;
mcbsp2_write_rdy(write_data1,write_data2);
if(key_flag != 0)
if(read_key() == KEY_CANCEL)break;
}
mcbsp2_close();
reset_aic23();
}
//-------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -