как драйвер и протокол в структуру разнести? Драйвер отдельной структурой,  а протокол отдельно 
                  
                  
                  тип железо и протокол отдельно
                  
                  
                  абстракция чтоб было
                  
                  
                
Байтстрим из драйвера в пихается в протокол из протокла фреймы, не?
Не совсем понял о чём ты. Ты хочешь чтобы один интерфейс по нескольким протоколам мог работать?
Это скорее всего про реализацию для МК. Возможны нюансы.
 Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  хочу разнести правильно логику и драйвер, чтоб логика только с абстракцией работала для портирования
 Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  да я просто хочу разнести правильно логику и драйвер, чтоб через абстраквию работать и была портируемость
>портируемость Не делайте этого =)
 Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  почему же?
В любом случае у тебя будут какие-то промежуточные слои, которые будут твои высокоуровневые функции женить с твоим конкретным железом. А ля как здесь (публичные методы send byte, read byte, send array, read array): https://www.programmersought.com/article/1578502831/
 Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Евгений
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  так, а если на си хочу? с плюсами и классами работать умею, но вот коллега на работе не освоила ещё
Тогда через структуры и коллбэки.
Обсуждают сегодня