#include <stdio.h> #include <stdlib.h> #include <string.h>

enum cam_debug_module_id { CAM_CDM, /* bit 0 / CAM_CORE, / bit 1 / CAM_CPAS, / bit 2 / CAM_ISP, / bit 3 / CAM_CRM, / bit 4 / CAM_SENSOR, / bit 5 / CAM_SMMU, / bit 6 / CAM_SYNC, / bit 7 / CAM_ICP, / bit 8 / CAM_JPEG, / bit 9 / CAM_FD, / bit 10 / CAM_LRME, / bit 11 / CAM_FLASH, / bit 12 / CAM_ACTUATOR, / bit 13 / CAM_CCI, / bit 14 / CAM_CSIPHY, / bit 15 / CAM_EEPROM, / bit 16 / CAM_UTIL, / bit 17 / CAM_HFI, / bit 18 / CAM_CTXT, / bit 19 / CAM_OIS, / bit 20 / CAM_RES, / bit 21 / CAM_MEM, / bit 22 / CAM_IRQ_CTRL, / bit 23 / CAM_REQ, / bit 24 / CAM_PERF, / bit 25 / CAM_CUSTOM, / bit 26 / CAM_PRESIL, / bit 27 / CAM_OPE, / bit 28 / CAM_IO_ACCESS, / bit 29 / CAM_SFE, / bit 30 / CAM_CRE, / bit 31 / CAM_PRESIL_CORE, / bit 32 / CAM_TPG, / bit 33 */ CAM_DBG_MOD_MAX };

int main() { char hex_string[100]; printf("Enter a hex string: "); scanf("%s", hex_string);

int hex_value = (int)strtol(hex_string, NULL, 16);

printf("The corresponding debug modules are:

"); for (int i = 0; i < CAM_DBG_MOD_MAX; i++) { if (hex_value & (1 << i)) { switch (i) { case 0: printf("CAM_CDM\n"); break; case 1: printf("CAM_CORE\n"); break; case 2: printf("CAM_CPAS\n"); break; case 3: printf("CAM_ISP\n"); break; case 4: printf("CAM_CRM\n"); break; case 5: printf("CAM_SENSOR\n"); break; case 6: printf("CAM_SMMU\n"); break; case 7: printf("CAM_SYNC\n"); break; case 8: printf("CAM_ICP\n"); break; case 9: printf("CAM_JPEG\n"); break; case 10: printf("CAM_FD\n"); break; case 11: printf("CAM_LRME\n"); break; case 12: printf("CAM_FLASH\n"); break; case 13: printf("CAM_ACTUATOR\n"); break; case 14: printf("CAM_CCI\n"); break; case 15: printf("CAM_CSIPHY\n"); break; case 16: printf("CAM_EEPROM\n"); break; case 17: printf("CAM_UTIL\n"); break; case 18: printf("CAM_HFI\n"); break; case 19: printf("CAM_CTXT\n"); break; case 20: printf("CAM_OIS\n"); break; case 21: printf("CAM_RES\n"); break; case 22: printf("CAM_MEM\n"); break; case 23: printf("CAM_IRQ_CTRL\n"); break; case 24: printf("CAM_REQ\n"); break; case 25: printf("CAM_PERF\n"); break; case 26: printf("CAM_CUSTOM\n"); break; case 27: printf("CAM_PRESIL\n"); break; case 28: printf("CAM_OPE\n"); break; case 29: printf("CAM_IO_ACCESS\n"); break; case 30: printf("CAM_SFE\n"); break; case 31: printf("CAM_CRE\n"); break; case 32: printf("CAM_PRESIL_CORE\n"); break; case 33: printf("CAM_TPG\n"); break; } } }

return 0;

}

C 语言程序:解析 16 进制输入为摄像头调试模块

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

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