刚入门单片机,问题具体如下:
主单片机通过串口发送数据帧,从单片机通过解析数据帧获得地址,根据地址进行lvgl对应控件的内容刷新显示,但是现在有几百个地址,如果只用switch case判断需要写很多case语句,想要创建结构体数组但是由于地址不是连续的,无法使用数组下标作为索引。
有以下几个疑问:
1:如果通过for循环判断结构体数组中保存的地址与串口解析到的地址是否匹配进行索引,这样会不会效率会不会降低?(因为串口数据发送很频繁,每一次都需要遍历一遍结构体数组中的地址)
2:现在暂时想到的解决方法是先用if判断当前处在那个页面下,再通过switch case语句判断具体的地址,进行对应操作,请问还有什么更加好的方法吗?
主单片机通过串口发送数据帧,从单片机通过解析数据帧获得地址,根据地址进行lvgl对应控件的内容刷新显示,但是现在有几百个地址,如果只用switch case判断需要写很多case语句,想要创建结构体数组但是由于地址不是连续的,无法使用数组下标作为索引。
有以下几个疑问:
1:如果通过for循环判断结构体数组中保存的地址与串口解析到的地址是否匹配进行索引,这样会不会效率会不会降低?(因为串口数据发送很频繁,每一次都需要遍历一遍结构体数组中的地址)
2:现在暂时想到的解决方法是先用if判断当前处在那个页面下,再通过switch case语句判断具体的地址,进行对应操作,请问还有什么更加好的方法吗?