关于arduino中的一个问题
我在看别人的一个程序时发现一个这样的问题:原程序:intreadPin=2;//用来连接输入inti1Pin=36;//连接电机驱动板的I1接口inti2Pin=37;/...
我在看别人的一个程序时发现一个这样的问题:
原程序:
int readPin = 2; //用来连接输入
int i1Pin = 36; //连接电机驱动板的I1接口
int i2Pin = 37; //连接电机驱动板的I2接口
int powerPin = 8; //连接电机驱动板的EA接口
int adjustPin = 6;
boolean flag = true;
int power = 0;
int readValue = 0;
int adjustValue = 0;
void GetPowerValue()
{
power = readValue - adjustValue;
if(power < 0) power = 0;
if(power > 50) power = 50;
power = power * 16 / 10;
}
void setup()
{
pinMode(i1Pin, OUTPUT); //I1和I2都是数字信号
pinMode(i2Pin, OUTPUT); //通过设置I1和I2来控制电流方向
pinMode(powerPin, OUTPUT); //按占空比方式输出的模拟信号
digitalWrite(i1Pin, !flag);
digitalWrite(i2Pin, flag);
//Serial.begin(9600); //设置波特率
}
void loop()
{
//读取电位器和传感器的读数
readValue = analogRead(readPin);
//传感器的电压范围是220~580,所以调节电位器的范围可以稍作调整
adjustValue = analogRead(adjustPin) / 3 + 220;
GetPowerValue();
//Serial.println(readValue);
//Serial.println(adjustValue);
//Serial.println(power);
analogWrite(powerPin, power);
//delay(2000);
//delay(1);
}
注意到程序第十四五行,有个“power = power * 16 / 10; ”这样的语句。既然开头定义power是整数,那它运算后可能会产生小数,这时系统怎么处理? 展开
原程序:
int readPin = 2; //用来连接输入
int i1Pin = 36; //连接电机驱动板的I1接口
int i2Pin = 37; //连接电机驱动板的I2接口
int powerPin = 8; //连接电机驱动板的EA接口
int adjustPin = 6;
boolean flag = true;
int power = 0;
int readValue = 0;
int adjustValue = 0;
void GetPowerValue()
{
power = readValue - adjustValue;
if(power < 0) power = 0;
if(power > 50) power = 50;
power = power * 16 / 10;
}
void setup()
{
pinMode(i1Pin, OUTPUT); //I1和I2都是数字信号
pinMode(i2Pin, OUTPUT); //通过设置I1和I2来控制电流方向
pinMode(powerPin, OUTPUT); //按占空比方式输出的模拟信号
digitalWrite(i1Pin, !flag);
digitalWrite(i2Pin, flag);
//Serial.begin(9600); //设置波特率
}
void loop()
{
//读取电位器和传感器的读数
readValue = analogRead(readPin);
//传感器的电压范围是220~580,所以调节电位器的范围可以稍作调整
adjustValue = analogRead(adjustPin) / 3 + 220;
GetPowerValue();
//Serial.println(readValue);
//Serial.println(adjustValue);
//Serial.println(power);
analogWrite(powerPin, power);
//delay(2000);
//delay(1);
}
注意到程序第十四五行,有个“power = power * 16 / 10; ”这样的语句。既然开头定义power是整数,那它运算后可能会产生小数,这时系统怎么处理? 展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询