美文网首页
2021-04-03 C语言、EDA,单片机代码自动转换更清楚。

2021-04-03 C语言、EDA,单片机代码自动转换更清楚。

作者: linuxScripter | 来源:发表于2021-04-03 07:54 被阅读0次

    GPIOB->BSRR //bit3变1其他不变

            GPIOB->BSRR //bit20变0其他不变

            GPIOB->BSRR //bit5变0其他不变

            GPIOB->BSRR //bit12变1其他不变

            GPIOB->BSRR //bit4变1其他不变

            GPIOB->ODR = //将0101_1010_0011_1011化为16进制

            GPIOB->ODR = //将0010_1000化为16进制

    变成:

    GPIOB->BSRR |= (1<<3); //bit3变1其他不变

            GPIOB->BSRR  &= (~(1<<20)); //bit20变0其他不变

            GPIOB->BSRR  &= (~(1<<5)); //bit5变0其他不变

            GPIOB->BSRR  |= (1<<12); //bit12变1其他不变

            GPIOB->BSRR  |= (1<<4); //bit4变1其他不变

            GPIOB->ODR = 0x5A3B;  // 之前的数据是 0101_1010_0011_1011

            GPIOB->ODR = 0x28;  // 之前的数据是 0010_1000

    cat USER/main.mother.c \

      | sed 's/\/\/bit\(.*\)变1其他不变/ |= (1<<\1); \/\/bit\1变1其他不变/g' \

      | sed 's/\/\/bit\(.*\)变0其他不变/ \&= (~(1<<\1)); \/\/bit\1变0其他不变/g' \

      > USER/main.c

    echo hi | sed '1d' > ztmp

    cat USER/main.mother.c | grep 化为 | sed 's/.*将\(.*\)化.*/\1/g' \

      | xargs -i bash -c "echo {} | tr '_' '\n' | sed 's/\(.\)/\1 /g' | awk '{print 8*\$1+4*\$2+2*\$3+1*\$4}' | sed 's/^/ obase=16; ibase=10;/g'  | bc | tr '\n' ' ' | sed 's/ //g' | sed 's/^/0x/g' ; echo {} | sed 's/^/;  \/\/ 之前的数据是 /g' ;  "  >> ztmp

    cat ztmp |sed 's/\//@/g' | xargs -i sed '0,/..将.*化为16.*/{s/..将.*化为16.*/{}/1}' -i USER/main.c

    sed -i 's/@@/\/\//g' USER/main.c

    相关文章

      网友评论

          本文标题:2021-04-03 C语言、EDA,单片机代码自动转换更清楚。

          本文链接:https://www.haomeiwen.com/subject/zabckltx.html