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

機械社區(qū)

標題: 關于串口通訊丟數(shù)問題的解決 [打印本頁]

作者: 卓信    時間: 2008-12-17 09:41
標題: 關于串口通訊丟數(shù)問題的解決
問題:51單片機在與電腦軟件通訊的過程中,,通訊了100多次 多200多次的時候會出現(xiàn)丟數(shù)的情況
% A* {# ~4 B6 v' {  P* q' r原帖地址:http://bbs.eeworld.com.cn/thread-70030-1-5.html
& y* D; g# A) c% h" y9 U% W) b' u" Q
6 X3 p" k9 C0 B3 y) Y解決辦法:實際上數(shù)并沒有丟 只是可能電路有時候不穩(wěn) 造成了波特率的波動 導致了同步有點問題 " x! Q& r# h0 k1 ^+ e* `7 ^) H4 x
原來的單片機程序:
/ ~6 h, z: }' P2 q' p& h& rvoid main()' j: Q- M6 o2 e' U' ^$ k
{
5 }' t9 t( S6 v$ t% B
' m3 Y  B1 Q" Q3 Y- ?  i    P1=0xff;+ ]1 R3 w/ A5 A
    main_init();" l* g2 n: [: u9 ^+ `  L( ?3 F2 R$ E
    init_8253();$ V1 C+ m$ W) n2 X3 Q
    serial_init();( @2 m, b7 w  @- O5 c8 F
, t( b6 ^% q" K' h+ @- M
    while(1)& q% M, R2 v# |' V9 B  {
    {1 g) E8 v. E, i! s" v3 x
        if(state >=3 )                     //state代表接收的字節(jié)數(shù)                 問題就出在這個判上,,   
/ ~1 ^, n* V9 ^! U# ^7 W/ q6 N                                                                                                       有時候就會發(fā)生            
; G8 L4 Q; O& T3 _  M3 C          {                                                                                           state<3的情況,就是我所說
/ u1 c; P* i$ W7 N7 L( S5 c# u                                                                                                       的丟數(shù),,其實數(shù)并有丟
3 s1 ?. V# }% p& g3 Q. Z             ……                                                                                   我覺得從理論上講能通訊
2 Z( t/ B1 z# j3 h1 a                                                                                                      一次成功就通訊N次,. b2 T; @: Q8 n& P7 b3 t0 j
                                                                                                      因為同一個循環(huán)……事7 p; u" C& d) `2 r$ x, d
                                                                                                      實 證明錯了……      
* o# }% _: K  N* b! U  o2 b            }) ?% P! R# o/ T8 Y* ~
     }5 I0 U/ [* _1 K
}% v, S' a7 [( {, N6 n) c2 _

/ y0 r* \+ v4 b$ V8 q& B
" \+ V5 ^' I( z% g+ e4 _/ x后來一直想為啥,,在網(wǎng)上找了N久,,終于發(fā)現(xiàn)有個類似的,,于是在if之前多加了
1 H/ _. F! p3 E, s, c/ z1 Xfor(timeout=0;timeout<800;timeout++); 就好了3 S; `. @+ j0 p" g( r/ }: W

4 l, h- Q- o  b1 G3 z把經(jīng)歷寫出來,,可能問題很簡單,我很菜鳥,,不過還是希望和大家分享……
' u: f, y: X+ r0 I$ j1 |# V" R4 {* w6 R1 o1 ]. j
[ 本帖最后由 卓信 于 2008-12-17 09:44 編輯 ]
作者: 過街蛤蟆    時間: 2008-12-17 09:55
現(xiàn)有的各種標準接口都不會丟數(shù)據(jù),,有時是信號電平不穩(wěn)定,有時是傳輸問題,,有時是傳輸干擾的問題,,有時是同步問題,也可能是交叉問題,,但數(shù)據(jù)應該不會是在接口中丟的,,假如是你新設計的你自己的變換接口,都不太可能有這個問題,,因為數(shù)學是非常死板的東西,,以前用格雷碼變二進制或變其他的碼都是硬件,現(xiàn)在的接口有軟件問題,,但數(shù)學公式是非�,?煽康模�
作者: 卓信    時間: 2008-12-17 12:15
你從理論上講當然不會 但是以前 就有碰到過串口通訊會出現(xiàn)問題的電腦  這是我們時間過程中遇到的 后來都換了聯(lián)想的另一型號的電腦& i$ K/ U. s( R8 \$ Y

1 B7 T) a6 ~5 z$ o" R還有 理論上認為不可能的事情發(fā)生了 你就不知道問題出在哪了
作者: 過街蛤蟆    時間: 2008-12-17 14:28
有些問題是不知道為什么,,比如到高速DSP的時候,,因為它的高速,牽涉到芯片里的一些問題,,但對于串口的數(shù)據(jù)問題,肯定有非常明確的答案,,絕不可能是一個誰都說不清的含混說法,,再高的一些問題,比如到工業(yè)控制的DP網(wǎng)絡,,有時也有各種問題,,但一定有一個明確的說法,我的工程,,我從來不接受含混的說法,,到底是接地問題?是干擾問題,?是隔離問題,?是軟件問題?每次我都要明確說法,。只有到芯片級的問題,,才有不確定的說法,。
作者: 卓信    時間: 2008-12-17 14:49
那你對我的問題總結一個明確的說法?
作者: 過街蛤蟆    時間: 2008-12-17 15:03
我要是調試你的設備,,就一定有明確的說法,,  m" j' _5 B$ o' @4 @4 M( P
以前,有人對我說怎么都不能穩(wěn)定,,當然,,你用家用PC是穩(wěn)定不了,1 ]2 c$ C. H) u
電源不穩(wěn)定也影響接口,,
$ h' \) v8 J3 K, z) b; t用觸屏的顯示亂跳,,愣說沒辦法,什么沒辦法,,單獨給我做接地,,看還亂跳,
( O; o7 i- h( a4 ~; E1 a0 J有些就本身不是接口的問題,,是電路電平的事,,一接上就跳,得找到底什么地方電平不穩(wěn)定,,
& a0 a8 T6 I4 ]# R對于串口,、并口、一般工業(yè)以太網(wǎng),、DP網(wǎng)絡等,,我從來就不接受什么數(shù)據(jù)會丟的事情,煉著一爐鋼,,你告訴我數(shù)據(jù)沒了,,我相信不會有人接受這個說法,( |! W  F8 D1 B# |; s0 `

6 _; Y0 Z2 X/ @2 X3 G$ B/ W看你沒真正干什么事情,,假如你做工程的過程控制,,用串口還丟數(shù)據(jù),問人家要說法,,不知道你下面怎么樣,,
作者: 卓信    時間: 2008-12-18 09:55
標題: 回復 6# 過街蛤蟆 的帖子
哈哈  我是沒干過什么事情 不過我不知道你搞不搞模電和信號處理
% A1 M) _4 C6 T2 ?/ n7 r8 h: s, Y6 I
0 v$ [1 w+ k( t( @如果你搞過 那么我對你的什么都有確定的“說法”表示深深的佩服。
作者: 過街蛤蟆    時間: 2008-12-18 11:04
好像你有些要誤導我了,,和我們先前說的接口傳輸也有些跑題了,,
5 v$ X) j- M# B& D9 l% ^& f$ r/ J
我現(xiàn)在作的一個東西的壓力測量就是用一個高精度的壓力傳感器,經(jīng)過模/數(shù)轉換,,數(shù)字信號入機控制某些對象,,模擬測量設備的誤差是自身的,有溫度的影響等,,在一定范圍內可以補償,,可以通過算法的某些系數(shù)進行修正,,但數(shù)字變換以后的信號就是一個確定的信號,當電路電平符合傳輸要求和傳輸距離合適的時候,,數(shù)字是不會有誤差的,,即不會丟數(shù)據(jù),要丟也是在模擬部分,。
8 V# p# M1 a- G, v7 m* M1 E- P$ R" r5 A6 k2 U# |
說事情,,應按一個路說說下去,串口的數(shù)據(jù)丟失,,和模轉及模擬信號的處理好像沒關系,,轉數(shù)字電路以后,丟數(shù)據(jù)我絕對是要問明白,,以前一些控制配套商也有你類似的說法,,從熱電偶那里開始‘攪和’,都以為自動控制在中國是‘說不清’的事情,,我從來不信這東西,,到底是哪里的問題?肯定會搞明白的,,不能以為大家都是混事的,,是熱電偶問題?是補償線問題,?是變換問題,?是傳輸問題?不可能讓誰混過去的,,我加熱和壓力控制水平精度是非常高的,,
' v) v/ S$ e* z. i, C# ?6 M
% o' x, `0 r) C5 T1 `( S2 _* Z有些東西,要學習日本人,,盡管某些方面我不喜歡他們,,
作者: 卓信    時間: 2008-12-18 15:24
標題: 回復 8# 過街蛤蟆 的帖子
嗯嗯  前輩誤會啦' b! K% \4 `; o! P" o1 c
, \' M  S8 t% \+ @% H/ J
只是我年輕氣盛……其實我說的說不清和你所說的要有一個明說的對象有點不同  v$ j0 J( T; p' C+ f

! }9 Y; {: y9 c' T+ q特別是在模電里邊 涉及到高頻信號和弱小信號放大的時候……有些飄忽不定的干擾真的不是你能說明白的,我確信……
4 ?) l' r. d5 b# L3 L也許你說的要有個說法我理解為做事的態(tài)度好點……是一種認真的態(tài)度,,我認為比較好。
作者: 過街蛤蟆    時間: 2008-12-18 16:04
呵呵,,你誤會了,,說不上什么誤解,因為我們每年作不少的事情,,各種東西都有,,有時調試一個東西必須要做好,有時一個環(huán)節(jié)很大,,常有自動化的人和我說怎么不行,,有時我就是不信,,該給我做接地的,該隔離的,,用質量次的信號線的,,什么都見過,我就是一個環(huán)節(jié)一個環(huán)節(jié)看,,看到底問題在哪里,,最后都能處理掉,即使是高頻的射頻信號,,都要處理掉,,有些是基板介電常數(shù)的問題,是玻璃布的含堿量和樹脂的問題,,最終都能找到問題,,為什么你給我用介電常數(shù)不合格的基板,
/ ~* N# |- J$ h" ]0 }" h- V4 b; z/ i7 h) q  Y/ G/ p7 A) J6 b
我其實是要說,,在我國現(xiàn)階段的設備,,還沒到說不明白的程度,在工程里面,,你看日本人什么樣,,每個數(shù)據(jù)要寫出來,誰負責,,數(shù)據(jù)沒處理好,,你必須說為什么,
作者: 卓信    時間: 2008-12-21 18:33
原帖由 過街蛤蟆 于 2008-12-18 16:04 發(fā)表
7 C  v, W8 y& F( p5 O/ D7 n& Z! E呵呵,,你誤會了,,說不上什么誤解,因為我們每年作不少的事情,,各種東西都有,,有時調試一個東西必須要做好,有時一個環(huán)節(jié)很大,,常有自動化的人和我說怎么不行,,有時我就是不信,該給我做接地的,,該隔離的,,用質量次的 ...
) S6 j1 F# O' j1 \& [: M

2 L- s4 K1 g+ A. [: S嗯嗯 學習啦 前輩真棒
作者: minmin0000    時間: 2009-2-4 01:05
標題: 我覺得你們好象說的不是同一個問題啊........
我看了樓主發(fā)在電子工程世界上的同一個帖子,要不你把你的下位機接收程序發(fā)上來看下...還有,你是不是用的筆記本電腦,還用了串行口數(shù)據(jù)轉換器???那東西容易丟數(shù)據(jù)...最后想問你的其他和"timeout"變量有關的代碼發(fā)上來看看啊,看看為什么加這個變量就ok了......




歡迎光臨 機械社區(qū) (http://97307.cn/) Powered by Discuz! X3.4