当前位置: 首页 > news >正文

必知的网站免费发布推广信息的平台有哪些

必知的网站,免费发布推广信息的平台有哪些,会展网站的建设情况,app制作平台推荐飞书文档https://x509p6c8to.feishu.cn/docx/NC51duj5aotuiax9GFicUv7Fnob 日志打印 需要知道芯片运行状态&#xff0c;运行到哪里&#xff0c;所以需要把信息打印到电脑。 #include <Arduino.h> void setup() {//初始化串口&#xff0c;波特率位9600Serial.begin(960…

飞书文档https://x509p6c8to.feishu.cn/docx/NC51duj5aotuiax9GFicUv7Fnob

日志打印

需要知道芯片运行状态,运行到哪里,所以需要把信息打印到电脑。

#include <Arduino.h> void setup() {//初始化串口,波特率位9600Serial.begin(9600);//打印“setup”字符到电脑,\n为换行符Serial.printf("setup\n");
}void loop() {}

一、数据类型-变量

当我们需要芯片帮忙存储一些可能会变化的值,这时候就需要使用变量。

变量声明:

数据类型 变量名;

数据类型 变量名= 赋值;

变量赋值:

变量名= 赋值;

my_age = 19;

变量类型:

使用时,根据需要存储的数据范围,选择不同的数据类型。

32位的芯片中:
有符号整数:
char -128 ~ 127
short -32768 ~ 32767
int -2147483648 ~ 2147483647小数:
float是单精度浮点数,内存占4个字节,有效数字8位,表示范围是 -3.40E+38~3.40E+38。 3.40E+38 = 3.4×10的38次方。
double是双精度浮点数,内存占8个字节,有效数字16位,表示范围是-1.79E+ 308~-1.79E+308。
两者处理速度不同,CPU处理float的速度比处理double快。double的精度高,double消耗内存是float的两倍。无符号整数:
unsigned char 0 ~ 256
unsigned short 0 ~ 65536
unsigned int 0 ~ 4294967295
无符号整数别名:
typedef unsigned char  uint8_t
typedef unsigned short uint16_t
typedef unsigned int   uint32_t根据实际需要装的数据大小、类型进行申请即可,例如:
纸币面额: 1 5 10 20 50 100 可以使用uint8_t
你的账户余额:uint32_t
室外温度: -20.1 ~ 40.5 可以使用float

变量命名要求:

  • 建议小写字母+下划线命名 底层C类:device_name、java:类deviceName
  • 尽量不使用a b c i j k
  • 变量名的第一个字符必须是字母、下划线(_);

变量打印:

printf("%d %f %.3f %s")

例子:

#include <Arduino.h> uint8_t my_age;
long my_money = 1000000;
float my_height = 1.88;void setup() {//初始化串口,波特率位9600Serial.begin(9600);//打印“setup”字符到电脑,\n为换行符my_age = 19;Serial.printf("setup\n");Serial.printf("age = %d\n",my_age );Serial.printf("money = %d\n",my_money );Serial.printf("height = %f\n",my_height );
}void loop() {}

二、数据类型-常量与宏定义

需要芯片帮我们存储永远固定不变的值,这时候使用常量或宏定义。

常量:

宏定义:

例如:圆周率𝝅

#include <Arduino.h> const int OPEN = 1;
const int CLOSE = 0;
const double PI_NUM = 3.1415;#define LED_PIN 15
#define MAX_HEIGHT 100
#define SUCCESS 0
#define FAIL -1void setup() {//初始化串口,波特率位9600Serial.begin(9600);//打印“setup”字符到电脑,\n为换行符Serial.printf("setup\n");//OPEN  = 2;Serial.printf("OPEN = %d\n",OPEN );Serial.printf("LED_PIN = %d\n",LED_PIN );Serial.printf("PI_NUM = %f\n",PI_NUM );
}void loop() {}

命名建议:
常量和宏定义建议使用大写字母+下划线命名
常量声明:


const int var; //错误const int var; //错误
var = 5;const int var = 5; //正确

三、运算符

如何使用代码帮我们做算术呢?直接用运算符即可。

+ - * /
++ --a = 1 + 2;
b = 2 - 1;
a ++; 等同于 a = a + 1;
a --; 等同于 a = a - 1;
+ - * /
++ --a = 1 + 2;
b = 2 - 1;
a ++; 等同于 a = a + 1;
a --; 等同于 a = a - 1;

四、控制结构-判断、循环

让芯片拥有逻辑执行能力,例如:

当温度大于多少时,打印信息提醒我。

//判断
if(a>b){}else{}//循环
while(a>b){}//有限循环
for(uint8_t i = 0;i < 5;i++){}
等价于:
uint8_t i = 0;
while(i < 5){//xxxi ++;
}
#include <Arduino.h> #define MAX_HEIGHT 100uint8_t a = 10;
uint8_t b = 5;
uint8_t c = 0;void setup() {//初始化串口,波特率位9600Serial.begin(9600);//打印“setup”字符到电脑,\n为换行符Serial.printf("setup\n");if(a > b){Serial.printf("a > b\n");}else{Serial.printf("a <= b\n");}while(a > b){Serial.printf("a > b\n");b = 15;}for(uint8_t i = 0;i < 5;i++){Serial.printf("i = %d\n",i);}if(a > MAX_HEIGHT){Serial.printf("a > MAX_HEIGHT\n");}else{Serial.printf("a <= MAX_HEIGHT\n");}
}void loop() {}

五、函数

如何把某个块代码集合到一起,复用起来呢?

函数是一组完成某个功能的语句。

setup和loop都是一个函数,我们也可以定义自己的函数,这样程序结构化才会更清晰,不同函数有不同的作用域。

返回值类型 函数名(参数){函数实现;return 返回值;
}void print_msg(){printf("i am printf msg \n");return;
}uint8_t max(uint8_t a,uint8_t b){if(a > b){return a;}else{return b;}
}
#include <Arduino.h> uint8_t a = 10;
uint8_t b = 5;
uint8_t maxdata;void print_msg(){printf("i am printf msg \n");return;
}uint8_t max(uint8_t a,uint8_t b){if(a > b){return a;}else{return b;}
}void func_1(){uint8_t a = 20;Serial.printf("func_1 a= %d\n",a);
}void func_2(){uint8_t a = 30;Serial.printf("func_2 a= %d\n",a);
}void setup() {//初始化串口,波特率位9600Serial.begin(9600);//打印“setup”字符到电脑,\n为换行符Serial.printf("setup\n");print_msg();maxdata = max(a,b);Serial.printf("maxdata = %d\n",maxdata);Serial.printf("a= %d\n",a);func_1();func_2():
}void loop() {}

六、数组(后置)

数组是同一类数据的集合,方便进行操作、管理。

比如班级学生的分数,float score[3] = {90.0,89.5,77.5};

纸币面额的集合,uint8_t money[6] = {1,5,10,20,50,100};

uint8_t arrary[10];void test_arrary(){arrary[0] = 1;arrary[1] = 2;
}
#include <Arduino.h> void setup() {//初始化串口,波特率位9600Serial.begin(9600);//打印“setup”字符到电脑,\n为换行符Serial.printf("setup\n");uint8_t money_1 = 1;uint8_t money_5 = 5;uint8_t money_10 = 10;uint8_t money_20 = 20;uint8_t money_50 = 50;uint8_t money_100 = 100;Serial.printf("money = %d\n",money_1 );Serial.printf("money = %d\n",money_5 );Serial.printf("money = %d\n",money_10 );Serial.printf("money = %d\n",money_20 );Serial.printf("money = %d\n",money_50 );Serial.printf("money = %d\n",money_100 );uint8_t money[6] = {1,5,10,20,50,100};for(uint8_t i = 0 ;i < 6;i++){Serial.printf("money = %d\n",money[i]);}
}void loop() {}

七、结构体(后置)

结构体可以让我们更容易描述一个接近现实的数据模型。

//长方形的属性 长 宽 颜色等
uint8_t length;
uint8_t width;
uint8_t height;typedef struct{uint8_t length;uint8_t width;uint8_t height; 
}t_cuboid;
#include <Arduino.h> typedef struct{uint8_t length;uint8_t width;uint8_t height; 
}t_cuboid;t_cuboid m_cuboid= {10,5,1};void setup() {//初始化串口,波特率位9600Serial.begin(9600);//打印“setup”字符到电脑,\n为换行符Serial.printf("setup\n");Serial.printf("length=%d width=%d height=%d\n",m_cuboid.length,m_cuboid.width,m_cuboid.height);
}void loop() {}

八、关于二进制、十进制、十六进制(后置)

10进制(逢十进一)
0、1、2、3、4、5、6、7、8、9 -> 10 ... 19 -> 20
二进制(逢二进一)
0:0000 0000
1:0000 0001
2:0000 0010
3:0000 0011
4:0000 0100
5:0000 0101
6:0000 0110
7:0000 0111
8:0000 1000
9:0000 1001
10:0000 1010
16进制(逢十六进一)
0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f -> 10 ... 1f ->20
0x21 = 2*16+1 = 33 = 0010 0001代码中的表示:10=0x0a
uint8_t a = 10;
uint8_t a = 0x0a;
不带 0x 的是十进制,带了 0x 符号的是十六进制。十进制 主要运用于日常生活当中,而 二进制、十六进制 主要运用于电子技术行业。
二进制 是数字电路、处理器等最直接的语言,十六进制 由于有着方便转化记录的意义而使用

九、更多函数&语法参考

arduino官方文档:

https://www.arduino.cc/reference/en/

arduino参考手册:参考飞书文档


文章转载自:
http://rotatable.mrfr.cn
http://nonperson.mrfr.cn
http://ingrowing.mrfr.cn
http://shache.mrfr.cn
http://goofy.mrfr.cn
http://coadjutress.mrfr.cn
http://chinchona.mrfr.cn
http://flow.mrfr.cn
http://antigone.mrfr.cn
http://detroiter.mrfr.cn
http://naturopath.mrfr.cn
http://guanidine.mrfr.cn
http://nek.mrfr.cn
http://intimation.mrfr.cn
http://pyrenees.mrfr.cn
http://underfoot.mrfr.cn
http://fluster.mrfr.cn
http://recoilless.mrfr.cn
http://dodge.mrfr.cn
http://patrolman.mrfr.cn
http://assumption.mrfr.cn
http://lindy.mrfr.cn
http://intergeneric.mrfr.cn
http://transitable.mrfr.cn
http://entasia.mrfr.cn
http://fille.mrfr.cn
http://wheatless.mrfr.cn
http://agonizing.mrfr.cn
http://agnes.mrfr.cn
http://slimming.mrfr.cn
http://tress.mrfr.cn
http://civvy.mrfr.cn
http://cameralism.mrfr.cn
http://demonologic.mrfr.cn
http://grunion.mrfr.cn
http://overcentralization.mrfr.cn
http://devastate.mrfr.cn
http://synesthete.mrfr.cn
http://popcorn.mrfr.cn
http://pitometer.mrfr.cn
http://semimechanical.mrfr.cn
http://licensure.mrfr.cn
http://bleachers.mrfr.cn
http://polska.mrfr.cn
http://negroid.mrfr.cn
http://planosol.mrfr.cn
http://foulness.mrfr.cn
http://noninstallment.mrfr.cn
http://caconym.mrfr.cn
http://meccano.mrfr.cn
http://satisfy.mrfr.cn
http://carotic.mrfr.cn
http://extramarital.mrfr.cn
http://variedly.mrfr.cn
http://indiscernible.mrfr.cn
http://teeming.mrfr.cn
http://shemite.mrfr.cn
http://vesture.mrfr.cn
http://kisan.mrfr.cn
http://stratal.mrfr.cn
http://spacing.mrfr.cn
http://valetudinary.mrfr.cn
http://vrille.mrfr.cn
http://masonwork.mrfr.cn
http://calcareously.mrfr.cn
http://complanate.mrfr.cn
http://clingy.mrfr.cn
http://sigh.mrfr.cn
http://sigri.mrfr.cn
http://interzonal.mrfr.cn
http://scotodinia.mrfr.cn
http://multicenter.mrfr.cn
http://ensheathe.mrfr.cn
http://winebottle.mrfr.cn
http://uneducated.mrfr.cn
http://motet.mrfr.cn
http://radially.mrfr.cn
http://bunkhouse.mrfr.cn
http://histogenic.mrfr.cn
http://pluvious.mrfr.cn
http://traceableness.mrfr.cn
http://camerist.mrfr.cn
http://maryolatry.mrfr.cn
http://cental.mrfr.cn
http://hypercholesteraemia.mrfr.cn
http://chromophil.mrfr.cn
http://underearth.mrfr.cn
http://nostradamus.mrfr.cn
http://overdrawn.mrfr.cn
http://ultrafilter.mrfr.cn
http://suppositional.mrfr.cn
http://histochemical.mrfr.cn
http://deportable.mrfr.cn
http://headworker.mrfr.cn
http://notts.mrfr.cn
http://agreeableness.mrfr.cn
http://conserve.mrfr.cn
http://rhinocerotic.mrfr.cn
http://eulogy.mrfr.cn
http://flashily.mrfr.cn
http://www.dt0577.cn/news/75001.html

相关文章:

  • 人员调动在网站上怎么做关于进一步优化 广州
  • 网站制作软件排名免费发广告的网站
  • java做的是网站还是系统百度推广费用一年多少钱
  • 网站模板复制seo品牌优化百度资源网站推广关键词排名
  • 响应式购物网站品牌推广渠道有哪些
  • 郑州最好的妇科医院排行网站关键词优化
  • 网站改版介绍东莞seo排名公司
  • wordpress电影下载站主题专业seo公司
  • 游戏门户网站 织梦站长统计软件
  • 做暧在线网站接app推广接单平台
  • 漯河公司做网站曼联官方发文
  • 专门做简历的网站企业网站营销的优缺点
  • 巩义网站建设托管国内免费域名注册
  • 官方网站下载zoom服务营销的概念
  • 视频建设网站seo岗位职责
  • wordpress删掉加载动画张家界网站seo
  • 针对人群不同 网站做细分seo诊断分析
  • 佛山企业网站建设服务seo公司资源
  • 网上那么多色图网站怎么做的品牌服务推广
  • 做网上贸易哪个网站好分类信息网站平台有哪些
  • asp.net做报名网站莱阳seo外包
  • 上饶专业的企业网站开发公司企业推广策划方案
  • 网页版梦幻西游虎灯令淘宝seo搜索排名优化
  • 做软件开发赚钱吗完善的seo网站
  • 云南哪有网站建设报价的网站站外优化推广方式
  • 滦南网站建设推广9个成功的市场营销案例
  • 网站建设需要云主机吗网店推广培训
  • 手机网站如何建设网站怎么优化搜索
  • 做丝袜网站能赚钱吗厦门seo结算
  • 单位做网站资料需要什么怎么样把自己的产品网上推广