|
参见帖子:手持示波仪软件初稿,请相关软件编写人员认领任务,谢谢
引用ifree64的话:
"目前,按键驱动、LCD驱动、主程序流程、按键处理、ADC中断代码等都已基本完成,剩下的工作主要集中在
波形显示、波形数据处理、硬件触发、ADC采样程控部分等部分代码。请ghost2 dvhome myworkmail认领部分内容,我们一起尽快完成基本的功能。 "
ADC buffer设想:
1、采用sampling_buf + display_buf的双buffer形式,交替采样
typedef struct
{
uint8_t buffer[BUF_LEN];
uint8_t sample_done;
} DSO_BUFFER;
DSO_BUFFER dso_buffer[2] = {{0}, 0};
register uint8_t curr_sampling_buf_id = 0;
register uint8_t curr_display_buf_id = 1;
2、硬件触发启动定时间隔采样,如果sample_done[curr_sampling_buf_id]==0,则填满sampling_buf后交换buffer(即交换curr_sampling_buf_id和curr_display_buf_id的值)并设置sample_done[curr_display_buf_id]=1;
3、主循环看到sample_done[curr_display_buf_id]==1则处理display_buf(有可能处理后放到新的buffer区),显示display_buf内容并设置sample_done[curr_display_buf_id]=0 |
|