Обработка входящих данных по различным шинам.

Разработка, повторение радиоэлектронных устройств различного назначения. В том числе устройств на основе микроконтроллеторв.

Обработка входящих данных по различным шинам.

Сообщение UB4NAG » 09 авг 2021, 08:51

Решил разбавить форум разнообразием данных. Это кусок кода способный пережовывать входящие данные по фильтрам где с символа $ по символ * передается условный адрес устройства, а с символа * по # передаются параметры переданного адреса.
Код имеет демонстрациоенное представление.

Код: Выделить всё
#include<stdio.h>
#include<stdlib.h>
int main()
{
/*для демонстрации работы*/
char fb[]="bufer$12*-21.12#$21*22.15#$13*-21#$23*1#\0"; 
/*для демонстрации работы*/

    char zice=sizeof(fb);
    char addres[zice],sis[zice];
   
    int sl=0,a=0;
   
    for(int sens=0;sens<zice;sens++)
    {if('$'==fb[sens]){sl++;}}//считаем количество входящих параметров
   
    while(0!=sl--){
    for(int sa=0;sa<zice;sa++)
    {addres[sa]=0;sis[sa]=0;} //очистка буферов
   
    int sw=0,neo=0;
    if('*'==fb[a]||'#'==fb[a])a++;
    for(a;(a<zice);a++){
    if('#'==fb[a])break;
    if(neo==1){addres[sw]=fb[a];sw++;}
    if(neo==2){sis[sw]=fb[a];sw++;}
    if('$'==fb[a]){sw=0;neo=1;}
    if('*'==fb[a]){sw=0;neo=2;}
    }
 
    printf("\nтермометр адрес %d температура %+.2f°C",atoi(addres),atof(sis));   
    }
    return 0;
   
}


[+] вывод программы
Screenshot_20210809-084757_Coding C.jpg


PS. Написал что бы не потерялся. И вдруг поможет кому то еще.
UB4NAG
 
Сообщения: 55
Зарегистрирован: 24 июл 2019, 16:15
Откуда: г. Киров
Has thanked: 2 times
Been thanked: 18 times
Позывной: UB4NAG
Оборудование: Baofeng uv82
Баллы репутации: 1

Вернуться в Прочие устройства

Сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron
Яндекс.Метрика