ADS1299 设置采样率函数 (ADS1299_SetSamplerate) 代码详解
ADS1299 设置采样率函数 (ADS1299_SetSamplerate) 代码详解
本函数用于设置 ADS1299 芯片的采样率。
代码示例
bool ADS1299_SetSamplerate(uint16_t Samplerate)
{
bool ret = EXIT_SUCCESS;
uint8_t valset = 0;
uint8_t valget = 0;
uint8_t registers[3] = {SJ_CH1SET3, SJ_CH2SET3, SJ_CH3SET3};
switch(Samplerate)
{
case 250:
valset = 0x96;
break;
case 500:
valset = 0x95;
break;
case 1000:
valset = 0x94;
break;
case 2000:
valset = 0x93;
break;
default:
valset = 0x94; //default 1kHz
break;
}
for(int i = 0; i < 3; i++)
{
/* 尝试配置 */
ADS1299_WriteREG(registers[i], valset);
/* 回读一次 */
valget = ADS1299_ReadREG(registers[i]);
if(valget != valset)
{
ret = EXIT_FAILURE;
break;
}
}
return ret;
}
代码说明
- 该函数根据传入的
Samplerate值设置valset变量,用于存储相应的寄存器配置值。 - 使用循环遍历
registers数组,依次配置SJ_CH1SET3,SJ_CH2SET3,SJ_CH3SET3寄存器。 - 每次配置后,使用
ADS1299_ReadREG函数回读寄存器值,并与valset比较,如果两者不一致,则设置ret为EXIT_FAILURE并退出循环。
总结
该函数通过设置寄存器值来改变 ADS1299 的采样率,并利用循环结构实现了对多个寄存器的连续配置。
相关资源
希望以上内容对您有所帮助。
原文地址: https://www.cveoy.top/t/topic/qoKt 著作权归作者所有。请勿转载和采集!