去年使用过一款以色列的伺服驱动器,用户可以根据自己的控制要求编写程序,在驱动器正常运行时,可以通过驱动器的串口改变用户程序里用户自己所定义的变量值。 比如:在用户程序中定义了变量m_speed, (unsigned char m_speed) 使用串口发送m_speed = 80;的ASCⅡ编码即可给变量m_speed赋新值80。 我的理解:CPU接收到的m_speed = 80;的ASCⅡ编码实际是十一个字节的一组数6d 95 73 70 65 65 64 3d 38 30 3b。能想到的是先进行比较,前七个字节如果等于6d 95 73 70 65 65 64,把九、十字节38 30解码还原成80再赋值给变量m_speed。感觉是不是太麻烦了。 怎么才能使接收到的ASCⅡ编码能方便的对应到用户程序所定义的变量呢? 正在作的项目,有接近四百个变量需要能够通过串口改变数值,用比较的方式显然不行。恳请各位同行介绍几本相关著作。
|