国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

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

QQ登錄

只需一步,快速開始

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

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

[復(fù)制鏈接]
1#
發(fā)表于 2008-12-17 09:41:04 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
問題:51單片機(jī)在與電腦軟件通訊的過程中,通訊了100多次 多200多次的時(shí)候會(huì)出現(xiàn)丟數(shù)的情況
1 a7 }9 e6 N" e- D6 ?原帖地址:http://bbs.eeworld.com.cn/thread-70030-1-5.html: M% \- k1 b% @6 B1 j, l- q

% k: h& Q$ A$ i) f2 c/ F解決辦法:實(shí)際上數(shù)并沒有丟 只是可能電路有時(shí)候不穩(wěn) 造成了波特率的波動(dòng) 導(dǎo)致了同步有點(diǎn)問題 5 O) e( ^( f# h2 m- F
原來的單片機(jī)程序:4 N, G4 _7 i0 O9 I: q/ y
void main()
7 L% i" m# P& Y4 Z/ `0 T2 a8 M{2 p3 L' r) I$ y4 I+ j6 Z+ c
& K/ z  o6 o- B" {& l: x6 t% N
    P1=0xff;
# U, g) C8 t) I# O& K1 ~1 H    main_init();/ h+ X6 q. D# [3 v
    init_8253();
5 e3 H& q9 m+ Z    serial_init();
3 @, y, i" z+ r' L3 L- m
" ?8 Z& p* X! ~$ S0 y- W    while(1)
! w5 r5 ?) L5 o9 n/ l: ^% W$ C& P2 ]    {
- L4 B$ I3 M, d        if(state >=3 )                     //state代表接收的字節(jié)數(shù)                 問題就出在這個(gè)判上,   
# c% R8 n8 e! I# B1 f% e                                                                                                       有時(shí)候就會(huì)發(fā)生            9 Y! Y7 u3 K. J1 m
          {                                                                                           state<3的情況,就是我所說# Z, F" r. x0 e1 W4 F' b
                                                                                                       的丟數(shù),其實(shí)數(shù)并有丟: H+ ?. ?+ Q0 I: \' H4 a  d
             ……                                                                                   我覺得從理論上講能通訊
1 L2 q* E* H6 X+ n$ f4 G" G                                                                                                      一次成功就通訊N次,
2 j; M9 ]- s) d( F# g3 ]; {1 E                                                                                                      因?yàn)橥粋€(gè)循環(huán)……事5 J# [( l- B& Y, U5 x9 T3 M
                                                                                                      實(shí) 證明錯(cuò)了……       : q% K1 r: L8 _
            }
# B7 @3 p" W3 {     }4 ^" ]0 l$ t4 v/ J
}
/ m3 d2 t- L4 L3 d( }, c( S/ F; R' x
( L/ V6 Q0 a& C: P; ?; C" B2 r" }; ^8 f
后來一直想為啥,在網(wǎng)上找了N久,終于發(fā)現(xiàn)有個(gè)類似的,于是在if之前多加了7 ?# p) {4 P( R. Y' H
for(timeout=0;timeout<800;timeout++); 就好了1 m7 s& \5 S0 v1 _! A0 W

9 P* Z+ f  I* E0 X. w, L0 b- b3 @3 {把經(jīng)歷寫出來,可能問題很簡單,我很菜鳥,不過還是希望和大家分享……4 v5 {# J6 ^. y" K
- P% e, a3 j% F* Q
[ 本帖最后由 卓信 于 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í)是傳輸問題,有時(shí)是傳輸干擾的問題,有時(shí)是同步問題,也可能是交叉問題,但數(shù)據(jù)應(yīng)該不會(huì)是在接口中丟的,假如是你新設(shè)計(jì)的你自己的變換接口,都不太可能有這個(gè)問題,因?yàn)閿?shù)學(xué)是非常死板的東西,以前用格雷碼變二進(jìn)制或變其他的碼都是硬件,現(xiàn)在的接口有軟件問題,但數(shù)學(xué)公式是非常可靠的,
3#
 樓主| 發(fā)表于 2008-12-17 12:15:31 | 只看該作者
你從理論上講當(dāng)然不會(huì) 但是以前 就有碰到過串口通訊會(huì)出現(xiàn)問題的電腦  這是我們時(shí)間過程中遇到的 后來都換了聯(lián)想的另一型號(hào)的電腦7 X* n" v( Q2 x$ {1 }) A/ X7 ~* }& j

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

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

哈哈  我是沒干過什么事情 不過我不知道你搞不搞模電和信號(hào)處理 + F! ~& b/ u/ N$ V. v4 G8 ^$ x8 f

/ x- K4 N$ c0 ?) E7 y如果你搞過 那么我對(duì)你的什么都有確定的“說法”表示深深的佩服。
8#
發(fā)表于 2008-12-18 11:04:17 | 只看該作者
好像你有些要誤導(dǎo)我了,和我們先前說的接口傳輸也有些跑題了,
$ S& {, a) y5 X- Y/ _4 {: K7 k; Q; U9 w! X
我現(xiàn)在作的一個(gè)東西的壓力測量就是用一個(gè)高精度的壓力傳感器,經(jīng)過模/數(shù)轉(zhuǎn)換,數(shù)字信號(hào)入機(jī)控制某些對(duì)象,模擬測量設(shè)備的誤差是自身的,有溫度的影響等,在一定范圍內(nèi)可以補(bǔ)償,可以通過算法的某些系數(shù)進(jìn)行修正,但數(shù)字變換以后的信號(hào)就是一個(gè)確定的信號(hào),當(dāng)電路電平符合傳輸要求和傳輸距離合適的時(shí)候,數(shù)字是不會(huì)有誤差的,即不會(huì)丟數(shù)據(jù),要丟也是在模擬部分。& N9 Z* X) B9 R+ m2 y, u, T

: v9 \; z6 X% N說事情,應(yīng)按一個(gè)路說說下去,串口的數(shù)據(jù)丟失,和模轉(zhuǎn)及模擬信號(hào)的處理好像沒關(guān)系,轉(zhuǎn)數(shù)字電路以后,丟數(shù)據(jù)我絕對(duì)是要問明白,以前一些控制配套商也有你類似的說法,從熱電偶那里開始‘?dāng)嚭汀?,都以為自?dòng)控制在中國是‘說不清’的事情,我從來不信這東西,到底是哪里的問題?肯定會(huì)搞明白的,不能以為大家都是混事的,是熱電偶問題?是補(bǔ)償線問題?是變換問題?是傳輸問題?不可能讓誰混過去的,我加熱和壓力控制水平精度是非常高的,& j6 }0 \/ N4 u+ _$ x, L- c# t
+ n4 C4 d8 |* H2 Y
有些東西,要學(xué)習(xí)日本人,盡管某些方面我不喜歡他們,
9#
 樓主| 發(fā)表于 2008-12-18 15:24:04 | 只看該作者

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

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

9 _' z- X* Q0 E% q- I$ H5 E) c我其實(shí)是要說,在我國現(xiàn)階段的設(shè)備,還沒到說不明白的程度,在工程里面,你看日本人什么樣,每個(gè)數(shù)據(jù)要寫出來,誰負(fù)責(zé),數(shù)據(jù)沒處理好,你必須說為什么,

本版積分規(guī)則

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

GMT+8, 2025-9-21 00:49 , Processed in 0.092516 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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