RV1103 LuckFox Pico Plus 默认的ADC采样频率是多少,
如果想修改的话怎么修改呢?
RV1103 LuckFox Pico Plus 默认的ADC采样频率是多少,
如果想修改的话怎么修改呢?
意思是它加上系统上电以后默认是1M的频率采样吗,所以in0_raw_file里的信息就是以1us更新一次吗,如果想改成50KHz采样率该怎么办呢
举报
我自己写了一段,现在是每次读取前都要把文件指针移回开头处,如果每次读取完数据就移回来那么从就无法实现20us读取一次。另外附上全部程序请您帮我看一下
voidread_ADC_values()
{
// fseek(scale_file, 0, SEEK_SET);
fseek(in0_raw_file, 0, SEEK_SET);
while(1){
sem_wait(&semaphore2);
//fseek(scale_file, 0, SEEK_SET);
flag+=2;
highbyte1++;
lowbyte1++;
if (scale_file&&in0_raw_file)
{
fseek(in0_raw_file, 0, SEEK_SET);
fscanf(in0_raw_file, "%hu", &buffer_raw);
//rewind(in0_raw_file);
//获取高八位和低八位
pthread_mutex_lock(&high_byte_mutex);
high_byte= (buffer_raw>>8) &0xFF;
pthread_mutex_unlock(&high_byte_mutex);
pthread_mutex_lock(&low_byte_mutex);
low_byte=buffer_raw&0xFF;
pthread_mutex_unlock(&low_byte_mutex);
if(flag_2%2==0)
{
pthread_mutex_lock(&flag_mutex);
buffer1[flag-2]=high_byte;
buffer1[flag-1]=low_byte;
pthread_mutex_unlock(&flag_mutex);
}else{
pthread_mutex_lock(&flag_mutex);
buffer2[flag-2]=high_byte;
buffer2[flag-1]=low_byte;
pthread_mutex_unlock(&flag_mutex);
}
}
if(flag==BUFFER_SIZE)
{
pthread_mutex_lock(&flag_mutex);
flag=0;
pthread_mutex_unlock(&flag_mutex);
sem_post(&semaphore);
highbyte1=0;
lowbyte1=0;
flag_2++;
}
if(flag>BUFFER_SIZE)
{
printf("out");
}
}
}
举报
当前没有修改ADC的驱动,所以ADC是以默认频率采样,但是我是每20us访问一次in0_raw_file文件
#defineTIMER_INTERVAL_US20
举报
十分感谢,现在还有一个问题就是在程序中每次读取ADC的数据都要把文件指针移向in0_raw_file的开头,即例程中的
fseek(in0_raw_file, 0, SEEK_SET);
这句话,这个文件中看来好像是每次adc采样后都会更新数据,因此每次只有一个数据。但是每次都移动文件指针到文件开头会导致读取速度达不到20us一次的要求,这个怎么办呢,是不是如果坚持使用片上AD的话就只能直接改ADC驱动了
举报
现在打算通过修改ADC的驱动来改成连续采样模式,采样700次打开一次文件读取数据来解决之前速度不够的问题,在rockchip_saradc.c文件中有如下的结构体包括了这些芯片,但是没有RV1103的,请问一下RV1103跟RV1106是用的同一个驱动吗?
static const struct of_device_id rockchip_saradc_match[] = {
{
.compatible = "rockchip,saradc",
.data = &saradc_data,
}, {
.compatible = "rockchip,rk3066-tsadc",
.data = &rk3066_tsadc_data,
}, {
.compatible = "rockchip,rk3399-saradc",
.data = &rk3399_saradc_data,
}, {
.compatible = "rockchip,rk3528-saradc",
.data = &rk3528_saradc_data,
}, {
.compatible = "rockchip,rk3568-saradc",
.data = &rk3568_saradc_data,
}, {
.compatible = "rockchip,rk3588-saradc",
.data = &rk3588_saradc_data,
}, {
.compatible = "rockchip,rv1106-saradc",
.data = &rv1106_saradc_data,
},
{},
};
P.S之前的问题描述有误,之前是因为没有使用fseek函数导致fscanf失败速度才能上去,后来看了fscanf的返回值发现返回的一直是“-1”end of file
举报