七七影院色七七_免费观看欧美a一级黄片_亚洲综合久久久久久中文字幕_国产999999在线视频免费观看,国产小视频无码,国产精品亚洲日日摸夜夜添,女人高潮潮叫免费网站,久久影院国产精品,日韩成人在线影院,欧美囗交XX×BBB视频,色在线综合高清

機(jī)械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 8768|回復(fù): 11
打印 上一主題 下一主題

關(guān)于串口通訊丟數(shù)問題的解決

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2008-12-17 09:41:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
問題:51單片機(jī)在與電腦軟件通訊的過程中,,通訊了100多次 多200多次的時候會出現(xiàn)丟數(shù)的情況3 |* ?$ ]) W. Y* d" b. R
原帖地址:http://bbs.eeworld.com.cn/thread-70030-1-5.html
  V/ @* e+ L. q- K! R/ w! O* g4 I
0 @* D, `& h8 y$ Z0 }解決辦法:實際上數(shù)并沒有丟 只是可能電路有時候不穩(wěn) 造成了波特率的波動 導(dǎo)致了同步有點問題 : ]8 \* }; v" A6 q# h; S2 t8 j
原來的單片機(jī)程序:
, C( V, C! G2 I0 G; I* p) W/ i% mvoid main()
& U: {6 o4 L/ ~{
! R7 G: w0 h- W9 G. Y- ]* C5 c# s# N  p3 G3 k% u
    P1=0xff;& I7 M  ~$ Q* O
    main_init();: ~- U& @& U% l# r( n
    init_8253();
* Z. }! z6 f* }4 I9 C7 _    serial_init();
" u4 I4 T+ E8 A: a- M" n' A9 y& w3 g2 S
    while(1)
" V; b& C$ ]. w1 L1 k2 d( T    {
$ W0 W( A  ~: F" O# S        if(state >=3 )                     //state代表接收的字節(jié)數(shù)                 問題就出在這個判上,,   
9 z4 t- b# U( r# Y) f/ r  r$ L                                                                                                       有時候就會發(fā)生            0 l; m' R. T+ ^! G
          {                                                                                           state<3的情況,就是我所說) L1 u) z2 Y# K) c1 W
                                                                                                       的丟數(shù),,其實數(shù)并有丟
, @/ A% O# r  Q9 K             ……                                                                                   我覺得從理論上講能通訊0 m# y. G& l& V* T7 }
                                                                                                      一次成功就通訊N次,,6 \0 }' P! q2 p9 K
                                                                                                      因為同一個循環(huán)……事5 q" P' C: m9 ^" p2 Y) ?1 t& `" g
                                                                                                      實 證明錯了……       # m, J/ L1 \9 N
            }- L/ W" }8 V5 C7 R  t# W* Y# ]9 W
     }
  F5 v4 e- k- E1 Z; A  ?+ P4 d7 n}1 ^0 F7 |5 e* ?# ~* H
, G* x: S- V% q5 x7 F4 ?

: W- k5 S5 _/ c6 M* S后來一直想為啥,,在網(wǎng)上找了N久,,終于發(fā)現(xiàn)有個類似的,,于是在if之前多加了4 G5 e8 P6 f5 @( P
for(timeout=0;timeout<800;timeout++); 就好了7 |0 D$ f. ]' l. p

' }% k+ A+ d5 @把經(jīng)歷寫出來,,可能問題很簡單,我很菜鳥,,不過還是希望和大家分享……
- Q0 T1 @3 L  ]( b) T( ?( w" j% ^6 M
[ 本帖最后由 卓信 于 2008-12-17 09:44 編輯 ]
2#
發(fā)表于 2008-12-17 09:55:11 | 只看該作者
現(xiàn)有的各種標(biāo)準(zhǔn)接口都不會丟數(shù)據(jù),,有時是信號電平不穩(wěn)定,有時是傳輸問題,,有時是傳輸干擾的問題,,有時是同步問題,也可能是交叉問題,,但數(shù)據(jù)應(yīng)該不會是在接口中丟的,,假如是你新設(shè)計的你自己的變換接口,都不太可能有這個問題,,因為數(shù)學(xué)是非常死板的東西,,以前用格雷碼變二進(jìn)制或變其他的碼都是硬件,現(xiàn)在的接口有軟件問題,,但數(shù)學(xué)公式是非�,?煽康模�
3#
 樓主| 發(fā)表于 2008-12-17 12:15:31 | 只看該作者
你從理論上講當(dāng)然不會 但是以前 就有碰到過串口通訊會出現(xiàn)問題的電腦  這是我們時間過程中遇到的 后來都換了聯(lián)想的另一型號的電腦
) x& ]! P: D- m! [& o- J! `) S$ l9 f6 S4 c5 D  o
還有 理論上認(rèn)為不可能的事情發(fā)生了 你就不知道問題出在哪了
4#
發(fā)表于 2008-12-17 14:28:45 | 只看該作者
有些問題是不知道為什么,,比如到高速DSP的時候,,因為它的高速,牽涉到芯片里的一些問題,,但對于串口的數(shù)據(jù)問題,,肯定有非常明確的答案,絕不可能是一個誰都說不清的含混說法,,再高的一些問題,,比如到工業(yè)控制的DP網(wǎng)絡(luò),有時也有各種問題,,但一定有一個明確的說法,,我的工程,我從來不接受含混的說法,,到底是接地問題,?是干擾問題?是隔離問題,?是軟件問題,?每次我都要明確說法。只有到芯片級的問題,才有不確定的說法,。
5#
 樓主| 發(fā)表于 2008-12-17 14:49:12 | 只看該作者
那你對我的問題總結(jié)一個明確的說法,?
6#
發(fā)表于 2008-12-17 15:03:48 | 只看該作者
我要是調(diào)試你的設(shè)備,就一定有明確的說法,,' J/ ?5 j$ L: I! u4 a! \: i
以前,,有人對我說怎么都不能穩(wěn)定,當(dāng)然,,你用家用PC是穩(wěn)定不了,,
& B( K# D0 d; O, [' r% A# m電源不穩(wěn)定也影響接口,
, ~" i( R! J) Y用觸屏的顯示亂跳,,愣說沒辦法,,什么沒辦法,單獨給我做接地,,看還亂跳,( W1 Y4 ~% j+ m9 ^) C5 ^! n; I, w
有些就本身不是接口的問題,,是電路電平的事,,一接上就跳,得找到底什么地方電平不穩(wěn)定,,
1 C7 f. R3 q& i4 [對于串口,、并口、一般工業(yè)以太網(wǎng),、DP網(wǎng)絡(luò)等,,我從來就不接受什么數(shù)據(jù)會丟的事情,煉著一爐鋼,,你告訴我數(shù)據(jù)沒了,,我相信不會有人接受這個說法,& V0 Q# M, ^) d2 D

; _- n" r! X% q: b$ n看你沒真正干什么事情,,假如你做工程的過程控制,,用串口還丟數(shù)據(jù),問人家要說法,,不知道你下面怎么樣,,
7#
 樓主| 發(fā)表于 2008-12-18 09:55:01 | 只看該作者

回復(fù) 6# 過街蛤蟆 的帖子

哈哈  我是沒干過什么事情 不過我不知道你搞不搞模電和信號處理
6 m8 g- M8 h) ^3 b$ V- ]6 F
/ {: A9 u+ g  u如果你搞過 那么我對你的什么都有確定的“說法”表示深深的佩服。
8#
發(fā)表于 2008-12-18 11:04:17 | 只看該作者
好像你有些要誤導(dǎo)我了,,和我們先前說的接口傳輸也有些跑題了,,
7 ]# }2 J1 Q5 U1 {# q  H3 B3 I& F( D! i" D$ b+ D
我現(xiàn)在作的一個東西的壓力測量就是用一個高精度的壓力傳感器,經(jīng)過模/數(shù)轉(zhuǎn)換,,數(shù)字信號入機(jī)控制某些對象,,模擬測量設(shè)備的誤差是自身的,有溫度的影響等,在一定范圍內(nèi)可以補(bǔ)償,,可以通過算法的某些系數(shù)進(jìn)行修正,,但數(shù)字變換以后的信號就是一個確定的信號,當(dāng)電路電平符合傳輸要求和傳輸距離合適的時候,,數(shù)字是不會有誤差的,,即不會丟數(shù)據(jù),要丟也是在模擬部分,。; k# o# @* v" |7 R4 o

4 X5 Z0 a& Q5 q說事情,,應(yīng)按一個路說說下去,串口的數(shù)據(jù)丟失,,和模轉(zhuǎn)及模擬信號的處理好像沒關(guān)系,,轉(zhuǎn)數(shù)字電路以后,丟數(shù)據(jù)我絕對是要問明白,,以前一些控制配套商也有你類似的說法,,從熱電偶那里開始‘?dāng)嚭汀家詾樽詣涌刂圃谥袊恰f不清’的事情,,我從來不信這東西,,到底是哪里的問題?肯定會搞明白的,,不能以為大家都是混事的,,是熱電偶問題?是補(bǔ)償線問題,?是變換問題,?是傳輸問題?不可能讓誰混過去的,,我加熱和壓力控制水平精度是非常高的,,
0 K- a! Q. j+ c& _/ G4 R8 L$ o! [$ ]9 ~4 v  `1 O/ y
有些東西,要學(xué)習(xí)日本人,,盡管某些方面我不喜歡他們,,
9#
 樓主| 發(fā)表于 2008-12-18 15:24:04 | 只看該作者

回復(fù) 8# 過街蛤蟆 的帖子

嗯嗯  前輩誤會啦7 s1 G+ U: Z' ~' y4 r
, S- H/ B$ R; `- d8 W) O
只是我年輕氣盛……其實我說的說不清和你所說的要有一個明說的對象有點不同
7 k+ N; k) g/ o+ f# W' u. O) ]
# o3 x( G: M1 ?( n  }* i特別是在模電里邊 涉及到高頻信號和弱小信號放大的時候……有些飄忽不定的干擾真的不是你能說明白的,我確信……
' p$ T& v4 X) X  }也許你說的要有個說法我理解為做事的態(tài)度好點……是一種認(rèn)真的態(tài)度,,我認(rèn)為比較好,。
10#
發(fā)表于 2008-12-18 16:04:55 | 只看該作者
呵呵,你誤會了,,說不上什么誤解,,因為我們每年作不少的事情,各種東西都有,,有時調(diào)試一個東西必須要做好,,有時一個環(huán)節(jié)很大,,常有自動化的人和我說怎么不行,有時我就是不信,,該給我做接地的,,該隔離的,用質(zhì)量次的信號線的,,什么都見過,,我就是一個環(huán)節(jié)一個環(huán)節(jié)看,看到底問題在哪里,,最后都能處理掉,,即使是高頻的射頻信號,都要處理掉,,有些是基板介電常數(shù)的問題,,是玻璃布的含堿量和樹脂的問題,最終都能找到問題,,為什么你給我用介電常數(shù)不合格的基板,,
3 P# o  D3 O" P/ i) A7 o" ^4 y8 c0 C6 ]- o" R
我其實是要說,在我國現(xiàn)階段的設(shè)備,,還沒到說不明白的程度,,在工程里面,你看日本人什么樣,,每個數(shù)據(jù)要寫出來,誰負(fù)責(zé),,數(shù)據(jù)沒處理好,,你必須說為什么,
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機(jī)版|Archiver|機(jī)械社區(qū) ( 京ICP備10217105號-1,,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-4-22 10:21 , Processed in 0.058071 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表