找回密码
 注册
关于网站域名变更的通知
查看: 2962|回复: 5
打印 上一主题 下一主题

verilog 怎么写一个串口能够一次性发送多个字节

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-11-23 20:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题 我最近写了一个比较简单的verilog串口 但一次性只能发送8位数据  (通过串口调试助手发送),如果我发送16位数据,后8位就会产生乱码  求高人指点  代码如下:系统50M时钟 波特率 115200
) a9 X+ ^7 }1 Z- D' l; T接受模块:4 ?8 D- L& ?7 d2 r( F/ ]6 O
module uartrx(clk,rx,dataout0,rdsig,dataerror,frameerror);  |: w. ?! y! r+ n) e: O
; @/ _9 m& w: b1 [
input clk;
0 X2 U- f4 g0 c7 l: F3 D! ^% Hinput rx;
6 \0 C' r7 N# J4 ioutput dataout0;
6 o& i6 t4 {4 n3 eoutput rdsig;& X9 T0 |% W2 {* M8 J
output dataerror;
$ y2 Y7 O9 ?  ?output frameerror;
* e- p4 u/ k, M; U1 [8 G; l' E
! y* [7 ?% Q( T" R6 Q2 _reg[7:0] dataout0;( R  l* s$ q6 X. @$ N% ?+ Y5 }
reg rdsig,dataerror;- X9 j/ A+ b& T% r: Y" N' K7 ]' k: P
reg frameerror;
* C6 A) Z7 ^* u- }5 t+ n# t9 P5 M8 B/ P3 N/ t" G
reg [7:0] cnt;
5 \3 ]2 o8 v. W5 z  b! ^reg rxbuf,rxfall,receive;0 l5 m+ \) z9 S
2 O- W* T. v& O/ C( [" _
parameter paritymode = 1'b0;6 W$ v, Z5 {9 v. e; |6 F
reg presult,idle;
; L* t) H* P9 R$ I5 d/ z+ i/ I6 b5 k& a. D4 C- ]0 }
always @(posedge clk)7 `+ m. B% I  T0 r& V
begin
7 d- J4 B; H$ V, Xrxbuf<=rx;2 v& G5 e% w' R
rxfall<=rxbuf & (~rx);# Y9 R, s: k8 N4 r  J! }
end3 J- J, }- I" G* Z8 d
. v# q: v. K" b& ]
always @(posedge clk)
! f$ Z7 b8 b' d4 Xbegin
2 j& R$ ?( {4 l& _* Mif(rxfall && (~idle))1 l. _' r; P' l; o3 H
begin% y( P) Q( i2 i7 J( r( t
receive <= 1'b1;
# h4 p6 z! `! [' e. W* pend
2 w7 ~4 A/ C# d2 z# D" oelse if(cnt == 8'd159)
7 Z* I, Y. `7 E4 L2 jbegin ) K. C6 Y3 w5 B, k3 a' Y
receive <= 1'b0;: N* S" C" U! i: ]( T; `( K
end
: J/ k5 z8 x8 z* Q# Z9 V- B) {end/ f5 J. U5 a, Q& y: P4 g+ l4 g
7 m# j2 Q' k& Y
always @(posedge clk)
- L4 N2 y2 q  P# q3 d9 obegin
# a2 D0 r0 m8 Q+ p: w6 {if(receive == 1'b1)
/ N/ |# l7 D4 f5 C; gbegin
5 v+ R! w- b# q! |$ h% O  qcase(cnt)7 u7 l' N, R6 W2 t- {+ y
8'd0:
4 f/ X' ]6 y+ f. V7 H  zbegin
7 ?* Z, N/ l2 f/ @& nidle <= 1'b1;* T0 l0 X* }& g" g, j3 |$ y
cnt <= cnt+8'd1;
) R/ G/ L7 J& n/ Zrdsig <= 1'b0;
" a; _  N! _9 q/ K* O! ~/ Jend% M# m0 s/ q  \" o
8'd24:
3 G% k9 ]. V7 a4 x+ y  fbegin
6 C3 B/ x, B" }" Gidle <= 1'b1;) `* E& x' I/ ?) x* [
dataout0[0] <= rx;
- Z4 i( C% @9 z' h2 {//presult <= paritymode^rx;
6 c3 L( w# U8 d- k; w- W9 P* V2 Xcnt <= cnt + 8'd1;
# _/ b' h. b% G) ~' V* {$ W) Wrdsig <= 1'b0;
( H+ ]9 ^) T  I" aend, D" ]$ k1 S" G! w
8'd40:
) G3 z) U4 h$ U  t( K( dbegin! V. l2 a5 t9 X* t7 }3 f# m
idle <= 1'b1;
5 M7 u7 O/ c! Q3 I7 ]6 N) ndataout0[1] <= rx;# D: O# `- z, I* d, k
//presult <= presult^rx;. @2 I8 ^( N- C1 l7 L- U/ M% O! p, P
cnt <= cnt + 8'd1;
6 r- S1 b5 Z3 x% p3 P* z1 A) t0 Trdsig <= 1'b0;( `0 J6 M% S/ a0 t7 Z! ?
end
: J6 Z5 g/ Q* s- ^9 T- F8'd56:
+ u" @* q  k& o+ kbegin
$ I2 j3 F+ K) ^  b/ j# kidle <= 1'b1;
0 ]- d- V6 V; l, i' o1 N, }dataout0[2] <= rx;* C# s: D% b. _; C5 A4 @2 L
//presult <= presult^rx;# J3 Q! m( c/ l- f5 Y
cnt <= cnt + 8'd1;& g& ^9 u2 v9 W4 \9 q7 k6 \
rdsig <= 1'b0;
, L5 W* Z& ]8 P( r8 yend
3 ?! T. I) f% F0 X) n, l8'd72:
; X" k9 c1 l& F5 p$ @. J6 ibegin6 s! @. q3 d# D( V" s2 I0 f" @
idle <= 1'b1;- l) P; s# U6 I
dataout0[3] <= rx;
3 \2 z* Y( \7 _/ E3 A; }//presult <= presult^rx;, Y8 [0 _: @- d9 e8 \8 G
cnt <= cnt + 8'd1;# {  s( X0 @4 o( o
rdsig <= 1'b0;9 v6 T) g: M9 j# X
end1 c5 W; ?' l" P7 H) x5 I
8'd88:
& l  R% i9 c, P6 {/ j# abegin3 o/ I& e1 Q/ R/ Z/ Y( h
idle <= 1'b1;
8 J: c) {, U! }4 J% b9 l# p9 ldataout0[4] <= rx;
, C0 c! W, S4 Z6 H//presult <= presult^rx;7 f9 {  V  U( @$ g4 U
cnt <= cnt + 8'd1;
7 u0 e. g8 ^( N% x- _0 ^rdsig <= 1'b0;
- x0 o9 ~* B3 _! h5 L: X6 T( l0 jend
& Y5 Y! O' S+ _& Y3 O  p. R: X8'd104:. @/ E& U( k9 {8 M- K& d! |. l
begin
7 f2 ?5 X: k: ~- O% v2 ridle <= 1'b1;
4 p, b" }* [+ ]; |* u6 fdataout0[5] <= rx;. e! Q3 [0 L) n9 _- i) O) w
//presult <= presult^rx;6 a7 L+ a# P0 \, u# A1 [
cnt <= cnt + 8'd1;
6 W6 r. h6 X' f+ y9 jrdsig <= 1'b0;# `* H$ ^5 k1 X% |* g
end& G* s5 b/ B# i' x: @5 _) a6 u  I
8'd120:
8 |4 Q$ m$ I' W* tbegin
$ F! ~0 V+ ^' {: i* S1 uidle <= 1'b1;! w& Z4 H: r5 }
dataout0[6] <= rx;! |, e9 W- k$ _& {6 `
//presult <= presult^rx;
7 [7 B  z1 K0 q6 [cnt <= cnt + 8'd1;
) \% L4 j* |$ f# `, X, b  Wrdsig <= 1'b0;) n& r! z, w+ ^* N! f2 G5 F
end3 k% W& H7 F7 _( N9 u
8'd136:
9 f/ N( R# ]1 }. abegin" X0 D- B; r* Z5 |7 a; J
idle <= 1'b1;. [8 T6 I* J0 w; u: D! T
dataout0[7] <= rx;
) y1 n! ]( A$ P; o% A9 g3 h//presult <= presult^dataout0[7];
, S- v+ w  o: G( D4 e+ c( Xcnt <= cnt + 8'd1;
( {1 g' ]: {- L% c- }! hrdsig <= 1'b0;/ p; E4 t7 z, a( l* w2 p; z! }% L$ ]
end- Y2 A: g" W' j9 j# s: M, q+ B
/*8'd152:1 F/ C0 V4 h! G( W9 b6 u) j: Q" V# {
begin7 x4 v9 h* E' {0 D" K
idle <= 1'b1;: a1 {: t7 m9 k" b. }5 E1 H/ t" X
if(presult == rx)
2 L" `* }# X2 _- Tdataerror <= 1'b0;
( g, u2 c- j8 ^! ?, h# y8 H3 o* h
# u+ p1 K& {7 T( Y0 aelse
5 _3 ]9 N+ O0 }5 i6 ~4 g% c9 i2 J: ~! M+ ?
dataerror <= 1'b1;* [4 p8 K  h4 r8 Y% ~$ S
( y9 e4 T- v; l+ K& |
cnt <= cnt +8'd1;  W9 g; P. x0 U8 c  o& z0 j- L
rdsig <= 1'b1;
8 |5 ?) L9 U, Xend
% Q1 \% u2 ~& V) [. `) |. O# l*/
! @" ?1 [0 s# _+ j& e8'd152:
9 p0 |3 z* i. b5 `4 qbegin
+ O6 w( q/ w: Iidle <= 1'b1;9 |& _' F; j" X- [! Q% q
if(1'b1==rx)' E& q3 S) \/ G8 R  M1 F
frameerror <= 1'b0;
! _- f  r: H; e  N) z; a9 @else8 S8 W" k' s' [) R. n
frameerror <= 1'b1;
) g9 u0 o5 H: r6 ?6 Q
9 e% j7 q. n  t/ U% e; _& Ucnt <= cnt + 8'd1;
0 U. p  d, O6 Y4 e# f1 Lrdsig <= 1'b1;
/ L& u3 q& b" n% K& L8 ^# V9 Mend6 O3 N+ Q4 t* K
default:' a) M7 [" Q5 N' p
begin- G; z/ \+ Z7 {0 q! ?' B, e
  cnt <= cnt + 8'd1;
( [0 k2 O) B( }8 X+ i" \4 @  end
6 L% v8 y6 G0 E. Jendcase
0 f; m, N; ]. ?( r, h/ b2 f end
0 h" F- Y0 M  b0 m % ?- c: A+ w0 D
else
2 d7 I+ D6 l5 g/ ~  begin+ r% @! i) [. O) @' W. E/ D
  cnt <= 8'd0;
8 X; t" T7 U/ p* Z" r( r  idle <= 1'b0;
9 B  w/ K+ y9 H  rdsig <= 1'b0;
* F! C; t- [' V3 R  end$ h( _; o8 Y1 t) m7 W) t; K
end" R6 a& ?( i  P

" W% S3 Z6 k' @- A  f- r8 U1 k3 M endmodule0 c& g+ S2 b- Y$ b
! V. G8 x. I! v* \5 b8 P6 c
发送模块:
! l" u7 P% ^7 ^4 g' C, e3 d9 K2 u
! t% W& |( A% A8 m$ T4 xmodule uarttx(clk,datain,idle,tx,wrsig);5 |2 L" W, u) C# X( j7 q6 B
input clk;6 t$ v+ y- F) V- E( ^
input[7:0] datain;: l+ v9 t6 ]! _% J: j
output idle;
# r5 K) z" ^; M3 k7 P8 p) boutput tx;/ f3 f$ f* D3 M0 s
input wrsig;8 X4 k6 @# B/ l" k% W3 o- q

6 M, }9 V; O0 n" m) i; zreg idle;
" D7 Z! N! j5 C, R9 _6 b# _reg tx;
6 k6 \; N' ~1 s" b. creg [7:0] cnt;
7 H& m% A. V6 F" `reg send;* o7 P9 O0 n2 q9 }
reg wrsigbuf;
$ K+ V* Q/ M9 ureg wrsigrise;
8 V9 W" S! n( p7 N4 xreg presult;$ M$ b+ m; ]! s/ p5 X
parameter paritymode = 1'b0;: _- V; `, w7 m) P) B
+ l7 A' i$ I5 F! s& h' z
( ]3 u/ P7 R$ O$ s" O
always @(posedge clk)" |7 r& s& C4 N" y
begin
+ u- X6 ~2 j4 a. ^5 {wrsigbuf<=wrsig;1 x& X3 j7 w: q. }4 K$ E- Q, I& M
wrsigrise<=(~wrsigbuf) & wrsig ;
" T; m* }) O" Y. S( r4 `6 Yend0 o) r% P5 G& Q4 w, e

) ?: l; k" ~  k' J1 {$ l% H# e3 E$ S7 b! p9 N
always@(posedge clk)3 O+ j4 g0 Z' {! }
  begin, P6 J/ [5 T# C3 P
  if(wrsigrise && (~idle))( p3 T4 _' R7 j: @( s* q( C4 G8 d
  begin
3 i# l/ P9 q8 s* K5 N  send<=1'b1;
/ m5 u& O, Z6 |+ n& ?6 D; A  end& F0 F. |, e7 X" _; ^4 P
  else if (cnt==160)
$ g- b: {4 I: ^  begin. k2 ]5 t# j( x3 P
  send<=1'b0;
8 B  R  ?3 b+ d" b  end6 Y# k: U) v' p, }- n
  end
9 d. {6 {/ o7 L" C6 E" L  
) S( s, ^3 y4 s5 y always @(posedge clk)" k: F1 j1 _6 e, v- Z" E- t% n
begin
" h7 {2 }' B4 g2 \# E+ T  if(send==1'b1)* \: ^4 h) y8 V/ K4 f: X5 _+ y" f
  begin! ~* _5 a( m7 K* O* k" a
  case(cnt)
2 L8 J9 r( O1 x3 _8 J- p  8'd0:4 r( D6 y# _1 I- J  W& l* E
  begin+ k) L' X# E/ C5 `! e+ q6 D
  tx<=0;
% ~2 j5 N% I6 ?" S' h: D  idle<=1'b1;( k3 l- f1 U  `5 K6 k/ j9 h7 q
  cnt<=cnt+8'd1;
' V3 u  J" l7 m  end
! F  D' X( v! Q% `) e( h, [  8'd16:4 ?: k' p( k9 q9 W  L
  begin
  k, f1 e  W9 J5 T' G3 ]; k  tx<=datain[0];0 J7 U0 b* G* h) u
  idle<=1'b1;
6 L/ G% Z" }! v7 R  J  //presult<=datain[0]^paritymode;3 |/ ^+ [1 I- `9 y* k# F/ a1 `
  cnt<=cnt+8'd1;
* N" l3 T2 w. O& P6 Y  end  R# _$ w3 b" G7 d- S1 i
  8'd32:- l# w, J( M. p& m8 a
  begin
" r; ?2 P: h4 s5 R. {  tx<=datain[1];* l# |2 w) o" @7 u+ {7 Q, i
  idle<=1'b1;8 ?5 A) y8 Z5 p/ I
  //presult<=datain[1]^presult;
* h# o0 J" b% K  cnt<=cnt+8'd1;5 a4 _& U1 L0 [( A5 P0 T* V
  end
* {' Z5 h% m2 P  8'd48:1 @4 ?2 k% [+ P
  begin
  t7 e) `/ C" X" h  tx<=datain[2];$ X; n6 p2 S* v3 `( `9 Z
  idle<=1'b1;; T& b. c9 ~, W1 b! |1 B
   // presult<=datain[2]^presult;
5 {+ L( X- C2 d. N2 u  cnt<=cnt+8'd1;% C+ {: x/ r  n3 \
  end" Z7 k: b- K1 m$ ]) i
  8'd64:
0 b1 H$ ]* y$ ~# I5 A  begin
3 h. K. U9 Y6 G# ?; J  tx<=datain[3];% s! L& v& t+ d6 L( H
  idle<=1'b1;
9 C& [8 E3 |) b9 E6 G    //presult<=datain[3]^presult;+ ?9 {4 M5 V! _' R
  cnt<=cnt+8'd1;/ b) B* N! X0 [4 A8 ]- ~, W
  end: w9 F, [3 S3 f+ X
  8'd80:
: J$ d: A! a5 o5 V0 ^4 A4 J  begin
  H5 B5 p" @& j: {, S& q, w- A/ b. `  tx<=datain[4];
$ I) H2 B5 N: Z2 {  idle<=1'b1;
# a) \' `  n& _   // presult<=datain[4]^presult;
8 c7 t7 f# J9 H1 ]* D% q  cnt<=cnt+8'd1;
* H. f5 S5 W; ?3 U6 G7 p7 ~0 {  end" Y6 Q8 z" P9 U, |8 i3 C# E$ U
  8'd96:) T4 F" f1 E$ H! r6 ]6 H& t
  begin
6 a' d3 ?1 c1 c0 I% X7 b, V  tx<=datain[5];
; c0 o! E% p7 X& T  d: t9 c  idle<=1'b1;/ w' a( l6 i( d$ E
    //presult<=datain[5]^presult;
1 A3 O3 Q! Q+ Z  cnt<=cnt+8'd1;
8 h2 J' }' |* r0 L) S/ A' f: K  end- R2 w$ Z) @5 p* a: D1 t6 v: u
  8'd112:0 \9 h: ]9 X) h4 g  F3 `3 ~5 Y
  begin- K$ W3 P: _$ i# `( M" ~( y7 m
  tx<=datain[6];
7 C& L0 ^; s& w5 A7 R  idle<=1'b1;
! G8 ?' p% v( g; g( D2 }" [  [9 o     //presult<=datain[6]^presult;! c/ i* X" a+ s" S: D4 J8 ]9 h
  cnt<=cnt+8'd1;# F) I, h# y" E* s8 y) M
  end
$ \/ F; Z. c  I6 N/ e2 j  8'd128:
! h5 v- K& c2 ^0 d0 M  begin
8 }# a, {7 v( F  tx<=datain[7];
0 |' e2 U$ _' r$ _9 T  idle<=1'b1;9 m6 ?* x/ {4 J) p  ^# X
     //presult<=datain[7]^presult;3 k: ^: Z5 Y: \; j1 L0 c
  cnt<=cnt+8'd1;3 ?* z! G; T8 x! `$ P" L1 k& H
  end
& |* X. ~2 B% U& c; j) ^) Z# T; f  /*8'd144:: ~' S& ~; Q2 r" P/ s* S7 N1 ^
  begin
6 E- G; z5 B6 P) R  tx<=presult;4 O' y3 C; k  ?! E: u1 q
  idle<=1'b1;
+ S9 g' z! L& V) R' w  cnt<=cnt+8'd1;$ @$ q# ~/ Z# h; u+ s+ e
  end*/" G, j6 j8 h# X
  8'd144:
( A! F5 V7 |7 A( R' S  begin0 F8 q% J0 L* U
  tx<=1;
* D/ r1 ]1 G# F1 Y+ d( E$ u  idle<=1;+ n% P1 F* l6 s; [" ^0 ~0 {" @# X
  cnt<=cnt+8'd1;
! ^2 i% K5 j3 ?1 [7 Q& A  W  end
/ ~7 V( R5 N- G6 L) E4 H5 W  8'd160:
2 ^; t5 N5 d" z9 i3 J  begin9 L6 h2 {' E+ B  w
  tx<=1;
; @0 f( o' [6 r  U  H$ E! s  idle<=1'b0;
- k0 m- k/ u  u* w. ^' s+ N9 y  cnt<=cnt+8'd1;- L) F2 }7 C4 T6 `- k) n& v8 B1 s
  end" k; j& z0 _( m, i
  default:9 g! I5 x+ [5 ~; O- d7 j) t3 D
  begin
$ t0 b/ _* f2 c) m9 ]  s. K  cnt<=cnt+1;1 v. R8 a8 G  U" D. A( J# z
  end* K9 K% w2 |$ |8 o
  endcase1 Y% u7 \7 K$ O3 f, e* D
  end- d) g, Q3 v' d9 ^6 q) w
  else
! i/ B) B! N- _8 b0 r  begin
4 o0 E! z( ?+ o" e$ L" [$ t  cnt<=8'd0;
* ~3 I- s! N* W% Q  idle<=1'b0;# X" G7 C& D: Q' f
  tx<=1;9 P; V3 a- G1 f, ^8 p8 w
  end
2 r) g0 p- E2 C- d  end, u( o# ]( l, V+ w5 J
  endmodule
) W6 Z4 y9 f9 E; U$ J4 E6 |9 j* ~
/ w- C- X+ u% L2 b分频模块:% [/ s( I0 Y8 ]" z0 U% z! T4 A
module clkdiv(sysclk,clkout);
) V6 T( ~1 E+ i, x; R2 V8 ginput sysclk;
- x  F: z! L$ @8 [% K5 ^output clkout;1 ?1 o# R0 _: |2 v
reg [7:0] cnt;$ E  j; F/ |: z! \, @9 D
reg clkout;
8 \4 {5 a4 @# r* f9 R9 o' I( _always @(posedge sysclk)
& n+ v) Y- p* o: M; V( ~4 @begin+ f$ z, s7 f% z# j% o$ N; Z  K
if(cnt==8'd12)9 ~( H) b+ k0 l8 j" @4 Q3 v
    begin
- q1 b& ]9 q+ b$ W, r, Mclkout=1'b1;+ L4 k6 U9 R% [  O7 P
cnt=cnt+8'd1;
: _, v% u3 q+ w- Q5 M6 send2 m; F, j) u0 M. y7 V1 }3 t
else if(cnt==8'd26)7 z% Z! d7 C- t) U6 \2 n/ {6 F
    begin
* K; W5 Z9 L7 ]$ `- Vclkout=1'b0;
5 ?* Y0 B2 T% X& }cnt=8'd0;
; E: o8 g% i9 p8 |7 _+ {! t0 Mend; \4 {9 B+ H; @
else 6 J1 \2 t9 [# F+ z" _# s! Q
    begin
3 R; e8 U7 p! r! ^+ @  D# f# jcnt=cnt+8'b1;
; Y1 ^% O! h+ i9 ^3 l7 Eend& [& D5 j, e, P2 M/ o& K$ }+ |7 Z
end* z$ U! a5 v: h! }# O
endmodule

该用户从未签到

2#
发表于 2013-11-24 12:35 | 只看该作者
串口好像就8位数据位最多了,没有听过16位数据的。/ F* R3 B& ^" ~
0 O0 t# E9 J+ m+ H2 D$ l% ^
以常用8位为例 1位起始位,8为数据位,1位奇偶校验可选,1位停止位。3 u2 k- _- Y6 |4 B" D% L
# S( w0 V' F2 [4 a6 B" ]
# A4 g& U  e4 U
你发16位怎么发现,单片机/电脑串口能行吗?

该用户从未签到

3#
 楼主| 发表于 2013-11-25 09:20 | 只看该作者
zgq800712 发表于 2013-11-24 12:35! l4 [: u/ i1 g. X8 }
串口好像就8位数据位最多了,没有听过16位数据的。, j" q' @) r2 Y
9 u+ _3 w8 ?/ v+ a, g' ~" d5 K0 G
以常用8位为例 1位起始位,8为数据位,1位奇偶校验可 ...

" H' s. c3 ^# M; }' a% y2 u那假如我要通过串口发送一堆数据 , 那该怎么处理呢 谢谢

该用户从未签到

4#
发表于 2013-11-26 12:04 | 只看该作者
when90 发表于 2013-11-25 09:20
1 c7 x: k* p2 U" k4 z那假如我要通过串口发送一堆数据 , 那该怎么处理呢 谢谢
, f+ ?, _! A& ^7 z9 R; o/ N1 T7 e
8位是一个字节,单片机等多是这样发的。
2 [: S, {  x2 g' |3 n9 C4 Q, i一次发送一个完整的串口帧,起始,数据,结束...: @  H5 K* ^1 z) c: A
很多个数据就重复上面的过程。( }1 k9 \0 {" g# A% E6 I9 N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 05:50 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表