tag 标签: r21

相关博文
  • 热度 18
    2014-12-17 23:39
    1174 次阅读|
    2 个评论
    从昨天折腾到今天,终于将WSNDemo测试成功。   从ASF中创建例程的步骤就不重复了。创建好LWMesh-WSNDemo-Application例程后,我们可以在项目管理器中看到还带有pdf应用笔记和WSNmonitor监视软件。AS6将这么多东西都打包进去了,难怪速度比较慢。          在config.h中,我们可以看到下面的定义   #if APP_ADDR == 0x0000 #define APP_CAPTION     "Coordinator" #define APP_NODE_TYPE   0 #define APP_COORDINATOR 1 #define APP_ROUTER      0 #define APP_ENDDEVICE   0 #elif APP_ADDR 0x8000 #define APP_CAPTION     "Router" #define APP_NODE_TYPE   1 #define APP_COORDINATOR 0 #define APP_ROUTER      1 #define APP_ENDDEVICE   0 #else #define APP_CAPTION     "End Device" #define APP_NODE_TYPE   2 #define APP_COORDINATOR 0 #define APP_ROUTER      0 #define APP_ENDDEVICE   1 #endif     APP_ADDR是0,就是Coordinator,小于0x8000是Router,否则才是End Device。因为只有两个SAM R21,所以只能一个设置成End Device,另一个设置为Coordinator。分别设置APP_ADDR为0和大于0x8000(这里设置为0x9012了),编译并分别下载到两个SAM R21中。下载后立刻就可以看到,随着End Device每两秒发一次数据(LED闪一次),Coordinator上的LED也同步闪一次,说明它们的之间无线通信已经连上。     再安装WSNMonitor,这是一个Java程序。          使用这个软件前,需要进行参数设置。这里很关键,我就是在这里卡了一天才发现问题。点击File菜单下的Connect或者直接点工具栏上的第一个按钮,就进行参数设置。        首先要指定Protocol目录,我们需要将它指定到WsnMonitor软件下的protocol目录。如果我们通过编辑栏右边的按钮去指定,会遇到一个坑,它会自动在目录名的最后添加.null,需要手工将它删除才行。        然后在选择串口和设置串口参数。波特率要设置为38400,因为单片机是这样设置的。此外流控也必须设置,这是第二个坑,选择xon/xoff或者hardware都可以,就是不能选择none。      选择好后点击ok就开始联机了。如果没有错误,就可以看到下面的画面。如果没有看到,就说明你的设置错了,请在检查一下。          当然我们也可以用其它串口软件,用HEX方式截取数据。可以看到数据包中 12 90 就是刚才设置的End device地址。