公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

+1 投票
509 浏览
代码是这个样子的
obj1 = DeviceOpen["Serial", "COM4"];
data1 = {};
Dynamic[If[ToExpression[DeviceRead[obj1]] != 10, 
  AppendTo[data1, FromCharacterCode@ToExpression@DeviceRead[obj1]], 
  data2 = ToExpression@
    StringSplit[StringJoin[DeleteCases[data1, FromCharacterCode[13]]],
      ","]; list1 = data1; data1 = {}]]  (*这个分割感谢苹果大大*)
Dynamic[Graphics3D[
  GeometricTransformation[Cuboid[{0, 0, 0}, {3, 6, 1}], 
   RollPitchYawMatrix[list1]]]]

 

这一块儿代码是从串口读取链接在Arduino uno上的陀螺仪信息并画图,陀螺仪输出的信息是"滚动角,俯仰角,水平角,回车换行",所有语句自己编数据测试都正常,但是放到Dynamic中的IF里会有判断失误的情况出现:比如放在data1中的数据应该是没有换行符(ToExpression[DeviceRead[obj1]] != 10),但是换行符有时候却会出现在data1中....

请问这大概是哪儿出了问题


 

分类:动态交互 | 用户: gadfhykft (111 分)
一直想玩Arduino。。。。。。可是我不会

登录 或者 注册 后回答这个问题。

...