{"title":"bool ADS1299_SetSamplerate(uint16_t Samplerate)\n{\n\tbool ret = EXIT_SUCCESS;\n\tuint8_t valset = 0;\n\tuint8_t valget = 0;\n\n\tswitch(Samplerate)\n\t{\n\t case 250:\n\t valset = 0x96;\n\t break;\n\n\t case 500:\n\t valset = 0x95;\n\t break;\n\n\t case 1000:\n\t valset = 0x94;\n\t break;\n\n\t case 2000:\n\t valset = 0x93;\n\t break;\n\n\t default:\n\t valset = 0x94; //default 1kHz\n\t break;\n\t}\n\n\t/* 尝试配置 /\n\tADS1299_WriteREG(ADS1299_REG_CONFIG1,valset);\n\t/ 回读一次 */\n\tvalget = ADS1299_ReadREG(SJ_CH1SET3);\n\n\tif(valget!=valset)\n\t ret = EXIT_FAILURE;\n\n\treturn ret;\n}\n若有3个SJ_CH1SET3寄存器(如SJ_CH1SET3 SJ_CH2SET3 SJ_CH3SET3) 如何连续配置3次 怎样改写代码内容:您可以使用一个循环来连续配置3个SJ_CH1SET3寄存器。以下是修改后的代码示例:\n\ncpp\nbool ADS1299_SetSamplerate(uint16_t Samplerate)\n{\n\tbool ret = EXIT_SUCCESS;\n\tuint8_t valset = 0;\n\tuint8_t valget = 0;\n\n\tswitch(Samplerate)\n\t{\n\t case 250:\n\t valset = 0x96;\n\t break;\n\n\t case 500:\n\t valset = 0x95;\n\t break;\n\n\t case 1000:\n\t valset = 0x94;\n\t break;\n\n\t case 2000:\n\t valset = 0x93;\n\t break;\n\n\t default:\n\t valset = 0x94; //default 1kHz\n\t break;\n\t}\n\n\t/* 尝试配置 */\n\tfor(int i = 1; i <= 3; i++)\n\t{\n\t ADS1299_WriteREG(ADS1299_REG_CONFIG1 + i, valset);\n\t /* 回读一次 */\n\t valget = ADS1299_ReadREG(SJ_CH1SET3 + i);\n\n\t if(valget != valset)\n\t {\n\t ret = EXIT_FAILURE;\n\t break;\n\t }\n\t}\n\n\treturn ret;\n}\n\n\n在这个修改后的代码中,我们使用了一个for循环来连续配置3个SJ_CH1SET3寄存器。循环从1到3,通过在ADS1299_REG_CONFIG1上加上循环变量i来配置相应的寄存器。同时,我们也在循环中更新了回读的寄存器地址,并在每次回读后进行比较和错误处理。如果任何一个回读值与设置值不相等,将设置ret为EXIT_FAILURE并跳出循环。


原文地址: https://www.cveoy.top/t/topic/qoKY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录