Arduino左移运算

2023-09-24 86 0

Arduino左移运算


✨实例代码说明

📝这里实验代码可在esp32或者esp8266的开发板烧录,如果是Arduino nano或者UNO,板子不支持Ticker库和Serial.printf()格式化打印输出。

#include <Ticker.h>
Ticker ticker;
#ifndef LED_BUILTIN
#define LED_BUILTIN 2 // ESP32 DOES NOT DEFINE LED_BUILTIN
#endif
void tick()
{//toggle statedigitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));//static int i=0;int j=~(1<<i);Serial.printf("j= %d BIN= %\t",j);Serial.println(j, BIN);i++;i%=8;}
void setup() {Serial.begin(112500);Serial.flush();//列队打印Serial.println("Start:");Serial.println();pinMode(LED_BUILTIN, OUTPUT);
ticker.attach(6, tick);//每隔6秒板子led灯亮一下}void loop() {
}
  • 🎞程序烧录到32位的ESP32中,串口打印
    在这里插入图片描述

🌼Arduino nano or UNO程序

//#include <Ticker.h>
//Ticker ticker;
#ifndef LED_BUILTIN
#define LED_BUILTIN 13 // ESP32 DOES NOT DEFINE LED_BUILTIN
#endiffloat num2 = 623.95273;
void tick()
{//toggle statedigitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));     // set pin to the opposite state
//   Serial.println(PI);//直接打印PI常量的值:3.14
//      char jinoas[100];   //打印字符缓冲数组
//   char str[6];   //浮点类型转化存储缓冲数组
//   dtostrf(num2, 4,2, str);  // 4,2 表示转化的精度:623.95
//    sprintf(jinoas,"num2的值为:%s \t float:%.5f \t",str,num2);//num2的值为:623.95   float:623.95276
//    Serial.println(jinoas);static int i=0;int j=~(1<<i);
// Serial.printf("j= %d BIN= %\t",j);Serial.println(j, BIN);i++;i%=8;}
void setup() {Serial.begin(112500);Serial.flush();//列队打印Serial.println("Start:");Serial.println();pinMode(LED_BUILTIN, OUTPUT);
//ticker.attach(6, tick);//每隔6秒板子led灯亮一下}void loop() {static int i=0;int j=~(1<<i);Serial.print("j=");Serial.println(j);Serial.print("BIN=");Serial.println(j, BIN);i++;i%=8;delay(5000);
}
  • 📑串口打印
    在这里插入图片描述

📚总结

  • ~(1 << 0) = -2
  • ~(1 << 1) = -3
  • ~(1 << 2) = -5
  • ~(1 << 3) = -9
  • ~(1 << 4) = -17
  • ~(1 << 5) = -33
  • ~(1 << 6) = -65
  • ~(1 << 7) = -129

📋这样一组8个可以组成一组IO端口的流水灯的效果

      static int i=0;int j=~(1<<i);Serial.printf("j= %d BIN= %\t",j);Serial.println(j, BIN);i++;i%=8;
代码编程
赞赏

相关文章

n的阶乘【清华大学】
全自动档案蓝光光盘检测刻录系统案例
求最大最小数【清华大学】
质因数的个数【清华大学】
信刻国产电子档案蓝光光盘刻录存储备份归档管理应用
最大公约数【哈尔滨工业大学】