硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3842|回复: 21
收起左侧

[J-Scope] 邪门,这么给力的J-Scope就是多通道无法调试通

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
发表于 2020-4-23 08:43:17 | 显示全部楼层 |阅读模式
J-Scope的单通道查看已经非常方便,效果也比较给力(AD7606,200Ksps采集效果展示):



昨天整了一天,还是没能解决多通道显示问题,官网的介绍资料来看,多通道是完全没有问题的。




回复

使用道具 举报

4

主题

140

回帖

152

积分

初级会员

积分
152
发表于 2020-4-23 10:36:38 | 显示全部楼层
会不会是D版关系
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-23 10:41:48 | 显示全部楼层
zl1215 发表于 2020-4-23 10:36
会不会是D版关系

有可能。
回复

使用道具 举报

2

主题

103

回帖

109

积分

初级会员

积分
109
发表于 2020-4-23 13:52:01 | 显示全部楼层
换Jultra试试
回复

使用道具 举报

3

主题

66

回帖

75

积分

初级会员

积分
75
发表于 2020-4-23 20:21:51 | 显示全部楼层
我试过每1ms输出16个变量,没问题,只要移值好RTT就能用。是不是你通道1的名称没设置好?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-23 21:35:53 | 显示全部楼层
kingdjh 发表于 2020-4-23 20:21
我试过每1ms输出16个变量,没问题,只要移值好RTT就能用。是不是你通道1的名称没设置好?

方便贴下你的代码不。仅RTT的就行。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-23 21:40:50 | 显示全部楼层

Jultra是什么。
回复

使用道具 举报

2

主题

103

回帖

109

积分

初级会员

积分
109
发表于 2020-4-23 22:45:02 | 显示全部楼层

JLink Ultra 啊,这个速度快。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-24 02:22:35 | 显示全部楼层
sblpp 发表于 2020-4-23 22:45
JLink Ultra 啊,这个速度快。

谢谢,我以为你说的是J-Scope的一种工作模式。

现在的速度倒是还行,就是多通道不干活,只有一个通道输出数据。
回复

使用道具 举报

3

主题

66

回帖

75

积分

初级会员

积分
75
发表于 2020-4-24 10:24:34 | 显示全部楼层
eric2013 发表于 2020-4-23 21:35
方便贴下你的代码不。仅RTT的就行。
  1. void log_jscope_init(void)
  2. {
  3.       static uint8_t jscope_buffer[1024];
  4.       SEGGER_RTT_ConfigUpBuffer(1, "JScope_t4i2i2i2", jscope_buffer, 1024, SEGGER_RTT_MODE_NO_BLOCK_SKIP);
  5. }

  6. void jscope_log_data(short x, short y, short z)
  7. {
  8. #pragma pack(push, 1)
  9.       static union
  10.       {
  11.             struct
  12.             {
  13.                   uint32_t us;
  14.                   short x;
  15.                   short y;
  16.                   short z;
  17.             } data;
  18.             uint8_t bytes[10];
  19.       } record;
  20. #pragma pack(pop)

  21.       record.data.us = HAL_GetTick() * 1000U;
  22.       record.data.x = x;
  23.       record.data.y = y;
  24.       record.data.z = z;

  25.       SEGGER_RTT_Write(1, record.bytes, sizeof(record));
  26. }
复制代码



回复

使用道具 举报

4

主题

90

回帖

102

积分

初级会员

积分
102
发表于 2020-4-24 11:09:30 | 显示全部楼层
硬汉多通道遇到什么问题了呢?是像图片这种吗?我显示的是加速度的值。
1587697721.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-24 13:42:24 | 显示全部楼层

这里也是这么配置的,一个通道没问题,多通道就不行。

比如再配置个通道2:
SEGGER_RTT_ConfigUpBuffer(2, "JScope_t4i2i2i2", xxx, xxx, SEGGER_RTT_MODE_NO_BLOCK_SKIP);
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-24 13:42:55 | 显示全部楼层
wangyao 发表于 2020-4-24 11:09
硬汉多通道遇到什么问题了呢?是像图片这种吗?我显示的是加速度的值。

就是这个,你这里怎么实现的,我这里就是不行。
回复

使用道具 举报

4

主题

90

回帖

102

积分

初级会员

积分
102
发表于 2020-4-24 14:11:03 | 显示全部楼层
eric2013 发表于 2020-4-24 13:42
就是这个,你这里怎么实现的,我这里就是不行。

我也是和10楼的坛友一样的方法,用的是RTT的同一通道,然后打印了多个数据,jscope展示的时候就是多通道了。
  1. <div><div>/* 配置通道1,上行配置 y用于Jscope波形数据输出 */</div><div>SEGGER_RTT_ConfigUpBuffer(1, "JScope_i2i2i2i2", g_jscope_buf, 1024, SEGGER_RTT_MODE_NO_BLOCK_SKIP);</div></div><div>
  2. </div><div>/* 一直打印加速度值和温度,TEST */</div><div><div>Bsp_ReadFxos8700cqAcc(&AccData);</div><div>Bsp_ReadFxos8700cqTemp(&gTemperature);</div><div>DisplayBuf[0] = AccData.x;</div><div>DisplayBuf[1] = AccData.y;</div><div>DisplayBuf[2] = AccData.z;</div><div>DisplayBuf[3] = gTemperature;</div><div>SEGGER_RTT_Write(1,DisplayBuf, 8);</div></div>
复制代码


回复

使用道具 举报

3

主题

66

回帖

75

积分

初级会员

积分
75
发表于 2020-4-24 14:44:36 | 显示全部楼层
只能用terminal 1
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-24 15:01:37 | 显示全部楼层
wangyao 发表于 2020-4-24 14:11
我也是和10楼的坛友一样的方法,用的是RTT的同一通道,然后打印了多个数据,jscope展示的时候就是多通道 ...

太感谢了,原来如此。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-4-24 15:02:00 | 显示全部楼层

太感谢了,原来如此。

我一直在多个通道上测试。
回复

使用道具 举报

3

主题

1222

回帖

1231

积分

至尊会员

积分
1231
发表于 2020-4-24 15:26:38 | 显示全部楼层
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2020-5-31 21:12:18 | 显示全部楼层
看了帖子之后学到了许多 , 补充下面一点 , 供朋友们参考:
SEGGER_RTT_ConfigUpBuffer(1, "JScope_i2i2i2", RTTbuf1, RTT_BUF_SIZE, SEGGER_RTT_MODE_NO_BLOCK_SKIP);
当我们这样配置3个通道输出的时候 ,
SEGGER_RTT_Write(1, ch0, 2*66);
SEGGER_RTT_Write(1, ch1, 2*66);
SEGGER_RTT_Write(1, ch2, 2*66);       
上面这种输出是不行的 , 因为不符合i2i2i2这种形式 , 不能一次吧2*66个字节全部输出 , rtt会认为是吧2*66个字节拆开为i2i2i2这种形式的.
正确的输出形式应该是这样:
                        for(i=0;i<66;i++){
                                SEGGER_RTT_Write(1, &ch0[i], 2);
                                SEGGER_RTT_Write(1, &ch1[i], 2);
                                SEGGER_RTT_Write(1, &ch2[i], 2);
                                }
借助一个循环 , 每次按照i2i2i2的形式来输出才可以!
再次感谢硬汉老师!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-6-1 00:27:11 | 显示全部楼层
咸喜喜 发表于 2020-5-31 21:12
看了帖子之后学到了许多 , 补充下面一点 , 供朋友们参考:
SEGGER_RTT_ConfigUpBuffer(1, "JScope_i2i2i2", ...

必须一组一组输出
回复

使用道具 举报

98

主题

340

回帖

634

积分

金牌会员

积分
634
发表于 2020-8-20 11:18:20 | 显示全部楼层
请问硬汉哥这个通道名称“Symbol No 1”有方法改吗?这么看着太不友好了,好像没找到哪里可以改名字。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106731
QQ
 楼主| 发表于 2020-8-20 12:11:29 | 显示全部楼层
云琴箫龙 发表于 2020-8-20 11:18
请问硬汉哥这个通道名称“Symbol No 1”有方法改吗?这么看着太不友好了,好像没找到哪里可以改名字。

貌似不可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 19:25 , Processed in 0.369478 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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