关于Arduino控制步进电机的问题。-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10093|回复: 6

关于Arduino控制步进电机的问题。

[复制链接]
发表于 2015-10-25 09:29 | 显示全部楼层 |阅读模式
现在我想通过串口发送数字n,Arduino板子接收后,即发送n个脉冲来控制步进电机的步数,主要问题是串口发送数据时它是以字符形式发送,比如n=123,串口发送的数据依次为1的ASCII码49、2的ASCII码50、1的ASCII码51,那么当串口发送任意数据时,我该怎样将接收的ASCII码值转换为对应的数字?
发表于 2015-10-25 20:55 | 显示全部楼层
搜索就有啦:http://www.arduino.cn/thread-5351-2-1.html
简略总结该帖:
atoi()函数
String的toInt()方法。
 楼主| 发表于 2015-10-25 21:14 | 显示全部楼层
seesea 发表于 2015-10-25 20:55
搜索就有啦:http://www.arduino.cn/thread-5351-2-1.html
简略总结该帖:
atoi()函数

关键是我通过串口发送的数字位数不确定,怎么编程序得到串口所发字符个数(数字位数),你所发帖子链接是针对一个三位数而言。
发表于 2015-10-25 21:34 | 显示全部楼层
yzzsjc 发表于 2015-10-25 21:14
关键是我通过串口发送的数字位数不确定,怎么编程序得到串口所发字符个数(数字位数),你所发帖子链接是 ...

是一个一个发送的么?那就每次接收到的数字缓冲起来,最后发送一个结束符(一般是用\n来做为结束符),收到这个结束符后将缓冲的数据取出换算为数字使用。
 楼主| 发表于 2015-10-26 09:28 | 显示全部楼层
seesea 发表于 2015-10-25 21:34
是一个一个发送的么?那就每次接收到的数字缓冲起来,最后发送一个结束符(一般是用\n来做为结束符),收 ...

比如我想要发的是整型数123(一百二十三),但串口是一位位以字符形式发送,依次发49,50,51。按你说的思路能不能写一个大概程序给我看看。
发表于 2015-10-26 21:46 | 显示全部楼层
yzzsjc 发表于 2015-10-26 09:28
比如我想要发的是整型数123(一百二十三),但串口是一位位以字符形式发送,依次发49,50,51。按你说的 ...

你先写写看,动动手比较有印象啦。
发表于 2015-11-24 02:26 | 显示全部楼层
可以试试 char( (‘1’-‘0’)*100+('2'-'0')*10+('3'-'0')  )     在串口显示的应该是ASCII码为123的字符,应该是 ‘{’  没试过,你可以试试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:28 , Processed in 0.121027 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表