久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 26075|回復: 17
打印 上一主題 下一主題
收起左側

SerialChart串口數據實時生成圖形 串口波形描繪_使用說明翻譯

  [復制鏈接]
跳轉到指定樓層
樓主
在做PID調試,還有卡爾曼濾波融合的時候,如果有一個能把數據實時傳回電腦進行分析,并且生成圖形的軟件,會對調試過程起到事半功倍的效果。

軟件的SVN地址是http://code.google.com/p/serialchart/

配置方法介紹地址是http://code.google.com/p/serialchart/wiki/ConfigurationFileSyntax




軟件下載: SerialChart.zip (5.4 MB, 下載次數: 329)

下面介紹下這個軟件的使用:

哦 附張前幾天的測試圖吧





介紹
SerialChart通過一個文本來進行配置。通常的格式如下:
[section1]
param1 = value
param2 = value
...

[section2]
param1 = value
param2 = value
Setup 部分
每個配置文件由[_setup_]部分開始,這里你能設置全局參數比如:
[_setup_]
port=COM3   
baudrate=57600

width=1000
height=201
background_color = white

grid_h_origin = 100
grid_h_step = 10
grid_h_color = #EEE
grid_h_origin_color = #CCC

grid_v_origin = 0
grid_v_step = 10
grid_v_color = #EEE
grid_v_origin_color = transparent
下面是在[_setup_]部分能夠使用的參數:
port
這就是軟件進行串口通訊的接口啦,比如COM1,COM2.。。
baudrate
波特率,目前只支持以下幾種波特率:
110,300,600,1200,2400,9600,19200,38400,57600,115200.
請注意目前的版本不支持流量控制的參數設置,默認設置為“無”,停

止位默認為1,采用最常用的設置
width,height
chart區域的象素寬度和高度
background_color
chart的背景顏色
關于顏色的一些提醒 請注意在.SCC文件中(也就是此軟件的配置文件)顏色可以用16進制來表示(如 #FFF,#FFFFFF)
或者用一些已命名的顏色(白色,藍色,品紅,粉紅,灰色)
更多顏色請參考 http://www.w3.org/TR/SVG/types.html#ColorKeywords 請注意特殊的
顏色“透明”代表“沒有顏色”。如果你不想讓一些元素被繪制出來你可以使用它
grid_h_origin, grid_v_origin
水平方向和豎直方向都有一條原始的軸線,一般和普通的格點線(每條曲線都是由一個個像素組成的,所以叫格點線)顏色不同這兩個參數確定了軸線在圖表中距離頂點、左側邊界的位移,單位為像素
grid_h_origin_color, grid_v_origin_color
原始軸線的顏色
grid_h_step, grid_v_step
這兩個參數確定了每次畫線的長度(我也搞不懂這句話。。)
grid_h_color, grid_v_color
普通格點線的顏色
Default and Field Sections
(默認設置和區域設置)SerialChart能識別CSV(逗號分隔數據)的數據包(將來可能會支持更多的格式)。每一行傳送一份數據包,每一份數據包中的不同數據用逗號來分隔。下面的例子是SerialChart能識別的格式:
100,0.50,0.70
101,0.30,0.50
102,0.25,0.35
在配置文件中,下面的部分為每份數據包中的不同數據設定了參數比如:
[_default_]
min=-1
max=1

[Field1]
color=gray
min=0
max=255

[Field2]
color=blue

[Field3]
color=red
通過[_default_]你可以對所有區域進行一個默認設置。這些參數對所有的數據區都有效除非在[Field]區域中他們被相同的名字覆蓋在上面的例子中,[Field2]和[Field3]將繼承[_default_]區的默認設置
min=-1,max=1,但[Field1]中的參數把值改為了min=0 and max=255
在你設置了默認設置后你應該為數據包中每個區域進行新的設置。設置順序應根據他們在數據包中的先后而設置[field]部分的名字可以隨意命名但不能和[_setup_],[_default_]相同,也不能以'_'開頭和結尾,比如可以命名為[distance],[time],但不能命名為[_setup],[_time_]下面的參數是[default]和[field]區能識別的參數min,max這兩個值是對應曲線在圖中的上下界。換句話說,如果你設定min=-1,max=1,那數據“1”將會被描繪在圖中的頂端,數據“-1”將被描繪在圖中的底端,而“0”將會描繪在圖的正中間。數據會從[min,max]映射到圖中的[0,height],height就是曲線圖的高度,在開始的[_setup_]中可以設置(這有點像arduino中的map()函數)
color
設置數據所對應曲線的顏色。如果你不想讓某個數據被繪制出來可以設置為transparent(透明)
dash
可將曲線變成一條虛線,如,當dash=3,軟件會將3個數據繪制出來,再停止繪制3個數據,再繪制3個數據,如此反復。。

翻譯完畢,加入一些個人使用心得
1、串口只能同時被一個程序使用,當你要更新程序時,要點
SerialChart中的stop
2、剛下完程序打開SerialChart可能沒反應,按一下復位再等個幾秒應
該就好了,bootloader的啟動速度,你懂得。。。
3、[field]的名字千萬不能相同,否則有些曲線是繪制不出來的

發個我測試超聲波的例子吧
Serial Chart代碼:
  1. [_setup_]
  2. port=COM3   
  3. baudrate=9600

  4. width=10000
  5. height=500
  6. background_color = white

  7. grid_h_origin = 0
  8. grid_h_step = 1
  9. grid_h_color = #EEE
  10. grid_h_origin_color = #CCC

  11. grid_v_origin = -100
  12. grid_v_step = 0
  13. grid_v_color = #EEE
  14. grid_v_origin_color=#CCC
  15. [_default_]
  16. min=0
  17. max=500

  18. [pulsetime]
  19. min=0
  20. max=40000
  21. color=bisque

  22. [pulsetime1]
  23. min=0
  24. max=40000
  25. color=gray


  26. [distance1]
  27. color=pink
  28. min=0
  29. max=400



  30. [distance2]
  31. color=gold
  32. min=0
  33. max=400

  34. [distance]
  35. color=red
  36. min=0
  37. max=400
復制代碼

arduino代碼:
  1.     void setup()
  2.     {
  3.       pinMode(BeePin,OUTPUT);
  4.       pinMode(UMT,OUTPUT);
  5.       pinMode(UMR,INPUT);
  6.       Serial.begin(9600);
  7.       Serial.println("begin");
  8.     }

  9.     unsigned long Detect1()
  10.     {
  11.       //一坨
  12.       return 10000;
  13.     }

  14.     unsigned long Detect2()
  15.     {
  16.       //兩坨
  17.       return 20000;
  18.     }
  19.     void loop()
  20.     {
  21.       distance1=Detect1();
  22.       distance2=Detect2();
  23.       Serial.print(distance1,DEC);
  24.       Serial.print(",");
  25.       Serial.print(distance2,DEC);
  26.       Serial.print(",");*/
  27.        delay(100);
  28.     }
復制代碼

arduino代碼省略了很多。。。寫的太爛了。。 大體是這樣的
好了,希望這個軟件能幫上大家的忙


問:請教個問題,我用串口發送數據的時候發現,Serial.print好像強制以ascii形式發送的,比如說101,其實發送的是字符串“101”的ascii碼49、48、49,這樣處理數據的話好像效率特別低,有沒有什么比較好的辦法直接傳輸數值的?

答:
你可以給他加上格式
具體可以參考一下他的reference
關于Serial_Print
他的原文是這樣的:
Serial.print(78, BIN) gives "1001110"//輸出二進制
Serial.print(78, OCT) gives "116"//輸出8進制
Serial.print(78, DEC) gives "78"//輸出10進制
Serial.print(78, HEX) gives "4E"//輸出16進制
Serial.println(1.23456, 0) gives "1"//輸出浮點,后面的數字代表小數位數
Serial.println(1.23456, 2) gives "1.23"//同上
Serial.println(1.23456, 4) gives "1.2346"//同上

問:
不知道你有沒有試過,這樣發送的其實還是ascii值
答:
恩,我仔細看了一下他的reference,好像arduino會自動把所有類型轉為ASCII碼
Numbers are printed using an ASCII character for each digit. Floats are similarly printed as ASCII digits, defaulting to two decimal places. Bytes are sent as a single character. Characters and strings are sent as is.
我現在也想不到什么好辦法
可以提高波特率吧,在一定范圍內
還有,避免使用float,或者壓縮一下數據,呵呵
這個可以討論一下,但是目前的通信速率已經夠我用了


評分

參與人數 1黑幣 +3 收起 理由
zsyzdx + 3 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏12 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:150193 發表于 2016-12-28 21:09 | 只看該作者
下載下來看看。
回復

使用道具 舉報

板凳
ID:96078 發表于 2017-4-6 15:47 | 只看該作者
這翻譯沃幾夫雷啊
回復

使用道具 舉報

地板
ID:185829 發表于 2017-4-19 17:00 | 只看該作者
使用起來設置數據流格式很啰嗦但也有必要
回復

使用道具 舉報

5#
ID:226004 發表于 2017-8-9 10:50 | 只看該作者
不知道arduino程序中發送數據是否需要在中斷中進行?否則采樣間隔不固定,這個波形還有意義么?
回復

使用道具 舉報

6#
ID:137736 發表于 2017-9-11 22:26 來自手機 | 只看該作者
很好很好
回復

使用道具 舉報

7#
ID:249717 發表于 2017-11-15 16:24 | 只看該作者
多謝分享
回復

使用道具 舉報

8#
ID:230593 發表于 2017-11-28 17:22 | 只看該作者
謝謝,正需要!
回復

使用道具 舉報

9#
ID:260422 發表于 2018-1-17 16:57 | 只看該作者
謝謝,我做pid整定需要。
回復

使用道具 舉報

10#
ID:291376 發表于 2018-3-13 16:59 | 只看該作者
軟件事自己做的嗎
回復

使用道具 舉報

11#
ID:291376 發表于 2018-3-13 17:00 | 只看該作者
幫頂,厲害了樓主
回復

使用道具 舉報

12#
ID:285069 發表于 2018-3-20 14:44 | 只看該作者
下載下來看看;很好!!找好久;總算有類似的軟件
回復

使用道具 舉報

13#
ID:303573 發表于 2018-4-8 11:38 | 只看該作者
下載下來看看;很好!!找好久;總算有類似的軟件
回復

使用道具 舉報

14#
ID:337006 發表于 2018-5-24 07:43 | 只看該作者
好厲害啊,學習學習
回復

使用道具 舉報

15#
ID:358468 發表于 2018-8-10 19:18 | 只看該作者
正需要這樣的軟件
回復

使用道具 舉報

16#
ID:386362 發表于 2018-8-15 00:14 | 只看該作者
贊!!!!!
回復

使用道具 舉報

17#
ID:302252 發表于 2018-11-27 13:20 | 只看該作者
很不錯!
回復

使用道具 舉報

18#
ID:106325 發表于 2019-1-18 18:20 | 只看該作者
這個不錯哦~
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费的黄色片子 | 九九热视频这里只有精品 | 美女黄网站视频免费 | 精品乱码一区二区三四区视频 | 91精品国产91久久久久久密臀 | 国产精品视频免费播放 | 精品99久久 | 日韩一级二级片 | 午夜精品91 | 成人一区二区电影 | 中文无吗| 中文字幕一区二区三区四区 | 免费激情av | 视频三区 | 日韩福利| 欧美精品在线免费观看 | 亚洲久草 | 国产91视频免费 | 亚洲精品中文字幕在线观看 | 91精品国产综合久久久密闭 | 大伊人久久 | 一区二区在线免费播放 | 大陆一级毛片免费视频观看 | 97国产精品| 欧美日韩一区二区视频在线观看 | 精精国产xxxx视频在线野外 | 精品一区二区免费视频 | 亚州综合一区 | av一区二区三区四区 | 在线视频一区二区三区 | 成人在线欧美 | 亚洲午夜精品一区二区三区他趣 | 精品日韩一区二区 | 69福利影院| 免费一区 | 国产精品国产三级国产播12软件 | 一区二区在线 | 国产视频二区 | 成人不卡 | 久久精品国产免费看久久精品 | 毛片黄片 |