arduino 串口如何数据提取变量,请各位高手指点 200
遇到的问题是这样的:条件:串口不定时传入变化的数值如:a=451b=874c=656要求:收到数值后将对应的数值赋予对应变量q、w、e中如收到c=238则变量q等于238...
遇到的问题是这样的:
条件:串口不定时传入变化的数值 如: a=451 b=874 c=656
要求:
收到数值后 将对应的数值赋予对应变量q、w、e中 如收到c=238 则变量q等于238
我是这样写的:没办法把传入的 a=451 b=874 c=656 赋予对应变量 q、w 、e 请各位前辈指教,需要什么样的指令才能完成以上功能
int comtemp; //串口传来的数据保存到了这个变量中
int q; //用于存储a=后面的数值变量
int w; //用于存储b=后面的数值变量
int e; //用于存储c=后面的数值变量
void setup() {Serial.begin(9600);} //设置波特率
void loop() { if (Serial.available() > 0) //当串口有数据传来时执行
{ comtemp = Serial.read(); //把串口的数据存到变量comtemp中 } comtemp=0; //清理变量 使数据最新} 展开
条件:串口不定时传入变化的数值 如: a=451 b=874 c=656
要求:
收到数值后 将对应的数值赋予对应变量q、w、e中 如收到c=238 则变量q等于238
我是这样写的:没办法把传入的 a=451 b=874 c=656 赋予对应变量 q、w 、e 请各位前辈指教,需要什么样的指令才能完成以上功能
int comtemp; //串口传来的数据保存到了这个变量中
int q; //用于存储a=后面的数值变量
int w; //用于存储b=后面的数值变量
int e; //用于存储c=后面的数值变量
void setup() {Serial.begin(9600);} //设置波特率
void loop() { if (Serial.available() > 0) //当串口有数据传来时执行
{ comtemp = Serial.read(); //把串口的数据存到变量comtemp中 } comtemp=0; //清理变量 使数据最新} 展开
3个回答
展开全部
int comtemp[3]; 定一个数组不行吗?
int q;
int w;
int e;
void setup()
{Serial.begin(9600);}
void loop()
{ int i;
while ((Serial.available() > 0)&&(i<3))
{ comtemp[i] = Serial.read();
i++; }
i=0;}
int q;
int w;
int e;
void setup()
{Serial.begin(9600);}
void loop()
{ int i;
while ((Serial.available() > 0)&&(i<3))
{ comtemp[i] = Serial.read();
i++; }
i=0;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要用中断
用外部中断 在程序里加外部中断时的处理函数 在函数里把值改变了
用外部中断 在程序里加外部中断时的处理函数 在函数里把值改变了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要用中断
用外部中断 在程序里加外部中断时的处理函数 在函数里把值改变了
用外部中断 在程序里加外部中断时的处理函数 在函数里把值改变了
追问
能不能再详细些?举例说明 如果有帮助 送分表示感激
追答
atmega单片机有外部中断端端口 把串口的线都连上去 当检测到外部中断触发时在程序里用中断处理函数把值改了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询