久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8986|回復(fù): 11

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

[復(fù)制鏈接]
1#
發(fā)表于 2008-12-17 09:41:04 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
問(wèn)題:51單片機(jī)在與電腦軟件通訊的過(guò)程中,通訊了100多次 多200多次的時(shí)候會(huì)出現(xiàn)丟數(shù)的情況
  D2 O4 Z" Y4 @" _; {5 m. ^/ ?; b( r原帖地址:http://bbs.eeworld.com.cn/thread-70030-1-5.html- j# D- j* M/ Q) ?1 P

1 o# p% R7 a! G& O/ G- U解決辦法:實(shí)際上數(shù)并沒(méi)有丟 只是可能電路有時(shí)候不穩(wěn) 造成了波特率的波動(dòng) 導(dǎo)致了同步有點(diǎn)問(wèn)題
, t- ?1 }5 ?& w原來(lái)的單片機(jī)程序:# t6 G) O& A8 H: y$ h
void main()
, N& t! c% Z; h' O, l$ D{8 C+ R) Y( a6 M, P+ T
5 T# `- W- z7 V% T6 h' m
    P1=0xff;
/ M, h9 D8 w! Y& ?4 {  f: @: t/ h    main_init();+ N6 t( [; C4 ]
    init_8253();
# \; e8 M; |. K% `. O) c7 d4 L    serial_init();" g: f! J1 F$ o7 I) ]
: m5 s9 r4 u6 Z% {2 c/ D1 m
    while(1)1 w) j, U6 K# ?) E% \
    {2 a* f% n+ }8 F, ~; `8 T8 a" q
        if(state >=3 )                     //state代表接收的字節(jié)數(shù)                 問(wèn)題就出在這個(gè)判上,   ! D) v* _8 a/ u2 e2 U2 q
                                                                                                       有時(shí)候就會(huì)發(fā)生            
" Q+ M  t* y2 ], b          {                                                                                           state<3的情況,就是我所說(shuō)
( c* X( p( i9 h6 h. h                                                                                                       的丟數(shù),其實(shí)數(shù)并有丟
1 T! P! H# ~- a. e) d             ……                                                                                   我覺(jué)得從理論上講能通訊0 ?) u2 I7 g, t& G; u
                                                                                                      一次成功就通訊N次,
' G8 h4 c1 ^6 W1 `                                                                                                      因?yàn)橥粋€(gè)循環(huán)……事
. `/ O! L* h# m3 }  p                                                                                                      實(shí) 證明錯(cuò)了……      
- R$ }2 S' S6 s4 u0 j. q9 f* S0 ~            }8 c! w  C: c6 G, a
     }- i6 t" ?/ u+ ^7 A3 G- T' H" B
}
/ z3 K5 T0 `) ~5 r1 z
& ~; \& {. m6 V1 d$ E1 x; U7 q+ |/ X, w  n4 L
后來(lái)一直想為啥,在網(wǎng)上找了N久,終于發(fā)現(xiàn)有個(gè)類似的,于是在if之前多加了1 ?* ]; y* ~: ?2 j' g
for(timeout=0;timeout<800;timeout++); 就好了
8 {8 h" @3 q( {% D- o7 h3 E# N& p8 e. i9 _( Q5 o4 w
把經(jīng)歷寫(xiě)出來(lái),可能問(wèn)題很簡(jiǎn)單,我很菜鳥(niǎo),不過(guò)還是希望和大家分享……: j) q$ Q1 ~  S2 |
2 ?9 H: I& R+ F$ m. c3 g9 x
[ 本帖最后由 卓信 于 2008-12-17 09:44 編輯 ]
回復(fù)

使用道具 舉報(bào)

2#
發(fā)表于 2008-12-17 09:55:11 | 只看該作者
現(xiàn)有的各種標(biāo)準(zhǔn)接口都不會(huì)丟數(shù)據(jù),有時(shí)是信號(hào)電平不穩(wěn)定,有時(shí)是傳輸問(wèn)題,有時(shí)是傳輸干擾的問(wèn)題,有時(shí)是同步問(wèn)題,也可能是交叉問(wèn)題,但數(shù)據(jù)應(yīng)該不會(huì)是在接口中丟的,假如是你新設(shè)計(jì)的你自己的變換接口,都不太可能有這個(gè)問(wèn)題,因?yàn)閿?shù)學(xué)是非常死板的東西,以前用格雷碼變二進(jìn)制或變其他的碼都是硬件,現(xiàn)在的接口有軟件問(wèn)題,但數(shù)學(xué)公式是非常可靠的,
3#
 樓主| 發(fā)表于 2008-12-17 12:15:31 | 只看該作者
你從理論上講當(dāng)然不會(huì) 但是以前 就有碰到過(guò)串口通訊會(huì)出現(xiàn)問(wèn)題的電腦  這是我們時(shí)間過(guò)程中遇到的 后來(lái)都換了聯(lián)想的另一型號(hào)的電腦, S7 h6 `* u4 `; ~3 b) p: R

" ~# y! i) s! w4 \; }還有 理論上認(rèn)為不可能的事情發(fā)生了 你就不知道問(wèn)題出在哪了
4#
發(fā)表于 2008-12-17 14:28:45 | 只看該作者
有些問(wèn)題是不知道為什么,比如到高速DSP的時(shí)候,因?yàn)樗母咚伲瑺可娴叫酒锏囊恍﹩?wèn)題,但對(duì)于串口的數(shù)據(jù)問(wèn)題,肯定有非常明確的答案,絕不可能是一個(gè)誰(shuí)都說(shuō)不清的含混說(shuō)法,再高的一些問(wèn)題,比如到工業(yè)控制的DP網(wǎng)絡(luò),有時(shí)也有各種問(wèn)題,但一定有一個(gè)明確的說(shuō)法,我的工程,我從來(lái)不接受含混的說(shuō)法,到底是接地問(wèn)題?是干擾問(wèn)題?是隔離問(wèn)題?是軟件問(wèn)題?每次我都要明確說(shuō)法。只有到芯片級(jí)的問(wèn)題,才有不確定的說(shuō)法。
5#
 樓主| 發(fā)表于 2008-12-17 14:49:12 | 只看該作者
那你對(duì)我的問(wèn)題總結(jié)一個(gè)明確的說(shuō)法?
6#
發(fā)表于 2008-12-17 15:03:48 | 只看該作者
我要是調(diào)試你的設(shè)備,就一定有明確的說(shuō)法,; m5 [  N/ A7 H( e: S% _
以前,有人對(duì)我說(shuō)怎么都不能穩(wěn)定,當(dāng)然,你用家用PC是穩(wěn)定不了,
7 [$ p/ _( A2 u( V9 o  i, i; l電源不穩(wěn)定也影響接口,! W. k5 ~. h: C; i! t- d% k: w  K7 x
用觸屏的顯示亂跳,愣說(shuō)沒(méi)辦法,什么沒(méi)辦法,單獨(dú)給我做接地,看還亂跳,
6 O% o7 O( y: V, z有些就本身不是接口的問(wèn)題,是電路電平的事,一接上就跳,得找到底什么地方電平不穩(wěn)定,
% ?! X) d, J1 u對(duì)于串口、并口、一般工業(yè)以太網(wǎng)、DP網(wǎng)絡(luò)等,我從來(lái)就不接受什么數(shù)據(jù)會(huì)丟的事情,煉著一爐鋼,你告訴我數(shù)據(jù)沒(méi)了,我相信不會(huì)有人接受這個(gè)說(shuō)法,
0 a* D( o* x& u
# S' @4 F. s) q8 F9 J/ u+ w看你沒(méi)真正干什么事情,假如你做工程的過(guò)程控制,用串口還丟數(shù)據(jù),問(wèn)人家要說(shuō)法,不知道你下面怎么樣,
7#
 樓主| 發(fā)表于 2008-12-18 09:55:01 | 只看該作者

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

哈哈  我是沒(méi)干過(guò)什么事情 不過(guò)我不知道你搞不搞模電和信號(hào)處理   V0 D6 A$ T  D8 ]5 X5 {. p
, G  ^3 ^! o8 ?: g4 C7 P8 ?- ^
如果你搞過(guò) 那么我對(duì)你的什么都有確定的“說(shuō)法”表示深深的佩服。
8#
發(fā)表于 2008-12-18 11:04:17 | 只看該作者
好像你有些要誤導(dǎo)我了,和我們先前說(shuō)的接口傳輸也有些跑題了,, ^- w) r/ d$ H4 Z5 C& D
: |% X( |1 J0 K9 z" [, L3 \) E( m
我現(xiàn)在作的一個(gè)東西的壓力測(cè)量就是用一個(gè)高精度的壓力傳感器,經(jīng)過(guò)模/數(shù)轉(zhuǎn)換,數(shù)字信號(hào)入機(jī)控制某些對(duì)象,模擬測(cè)量設(shè)備的誤差是自身的,有溫度的影響等,在一定范圍內(nèi)可以補(bǔ)償,可以通過(guò)算法的某些系數(shù)進(jìn)行修正,但數(shù)字變換以后的信號(hào)就是一個(gè)確定的信號(hào),當(dāng)電路電平符合傳輸要求和傳輸距離合適的時(shí)候,數(shù)字是不會(huì)有誤差的,即不會(huì)丟數(shù)據(jù),要丟也是在模擬部分。
3 r/ H6 C+ h7 O. U7 \0 Z+ B
1 s+ p% P2 N  u9 O/ a說(shuō)事情,應(yīng)按一個(gè)路說(shuō)說(shuō)下去,串口的數(shù)據(jù)丟失,和模轉(zhuǎn)及模擬信號(hào)的處理好像沒(méi)關(guān)系,轉(zhuǎn)數(shù)字電路以后,丟數(shù)據(jù)我絕對(duì)是要問(wèn)明白,以前一些控制配套商也有你類似的說(shuō)法,從熱電偶那里開(kāi)始‘?dāng)嚭汀家詾樽詣?dòng)控制在中國(guó)是‘說(shuō)不清’的事情,我從來(lái)不信這東西,到底是哪里的問(wèn)題?肯定會(huì)搞明白的,不能以為大家都是混事的,是熱電偶問(wèn)題?是補(bǔ)償線問(wèn)題?是變換問(wèn)題?是傳輸問(wèn)題?不可能讓誰(shuí)混過(guò)去的,我加熱和壓力控制水平精度是非常高的,
* b! ]( @( s; u4 c6 ?1 Q+ S  c. M, _: ]3 y6 y7 I. p* S. `
有些東西,要學(xué)習(xí)日本人,盡管某些方面我不喜歡他們,
9#
 樓主| 發(fā)表于 2008-12-18 15:24:04 | 只看該作者

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

嗯嗯  前輩誤會(huì)啦
* y2 Z( V# w* ?: y6 i( Y& f) ^9 G2 Y/ ^" ]* l
只是我年輕氣盛……其實(shí)我說(shuō)的說(shuō)不清和你所說(shuō)的要有一個(gè)明說(shuō)的對(duì)象有點(diǎn)不同
; I' U8 t# i% t8 p) |# N
( h" h' d: \# a; e5 f. k特別是在模電里邊 涉及到高頻信號(hào)和弱小信號(hào)放大的時(shí)候……有些飄忽不定的干擾真的不是你能說(shuō)明白的,我確信……
( v: E3 v# P1 N( c7 F$ A也許你說(shuō)的要有個(gè)說(shuō)法我理解為做事的態(tài)度好點(diǎn)……是一種認(rèn)真的態(tài)度,我認(rèn)為比較好。
10#
發(fā)表于 2008-12-18 16:04:55 | 只看該作者
呵呵,你誤會(huì)了,說(shuō)不上什么誤解,因?yàn)槲覀兠磕曜鞑簧俚氖虑椋鞣N東西都有,有時(shí)調(diào)試一個(gè)東西必須要做好,有時(shí)一個(gè)環(huán)節(jié)很大,常有自動(dòng)化的人和我說(shuō)怎么不行,有時(shí)我就是不信,該給我做接地的,該隔離的,用質(zhì)量次的信號(hào)線的,什么都見(jiàn)過(guò),我就是一個(gè)環(huán)節(jié)一個(gè)環(huán)節(jié)看,看到底問(wèn)題在哪里,最后都能處理掉,即使是高頻的射頻信號(hào),都要處理掉,有些是基板介電常數(shù)的問(wèn)題,是玻璃布的含堿量和樹(shù)脂的問(wèn)題,最終都能找到問(wèn)題,為什么你給我用介電常數(shù)不合格的基板,5 g8 ^5 b* `" p/ X' W+ w. d, o

5 l. G% W6 v$ d# u8 E+ B7 ?. T我其實(shí)是要說(shuō),在我國(guó)現(xiàn)階段的設(shè)備,還沒(méi)到說(shuō)不明白的程度,在工程里面,你看日本人什么樣,每個(gè)數(shù)據(jù)要寫(xiě)出來(lái),誰(shuí)負(fù)責(zé),數(shù)據(jù)沒(méi)處理好,你必須說(shuō)為什么,

本版積分規(guī)則

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

GMT+8, 2025-7-17 02:45 , Processed in 0.065682 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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