Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 2751|回復: 0
打印 上一主題 下一主題

我是新手我想寫PC端對ARM傳輸的部分

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-1-17 15:07:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 popotyer 於 2012-1-17 03:34 PM 編輯 & x1 s) ]9 C! J3 d# b0 O9 E
4 w1 p: r. ~0 Z/ ?
我是用VB把資料傳送到ARM7
( R) e% j" q' p: C在從ARM7傳回來
- b% q& y' {! _( s如果只是自PIN的話2 M- i) G/ t+ }$ X
我傳什麼就接收到什麼!!6 \- H; Q0 y  \4 D1 ?! W
(如:傳ASDFG   接收:ASDFG)
! K6 i6 ?: V1 m但接到ARM7時
$ D7 z- d( ^8 J! ]6 N* J接收部分就會變亂碼/ L( H% n. R) Y" ?3 v5 L, v
(圖在最下面)+ y$ E# O* O1 U! S& e0 ?. m% Z
所使用的是UART的部分(RS232)* ~3 w0 v; p$ ]+ J  I( l! H
資料是可以傳送接收
/ U9 }- E, `, v) m+ V. ^問題是傳回來的資料是亂碼~!!
, k& W; U  O0 O( J3 U請問我該如何寫他?7 a- F4 p* |  \& z8 H+ o
已下是傳送接收部分
  1. void main(void)
    2 C; f& g. e* f3 m
  2. {- R: f% N; j) D8 ^3 f8 a
  3.     char k;
    & g* E( @) j/ O2 n1 z/ y- \  K7 u
  4.     char buf[4];" a+ }; t" l7 `5 D
  5.     char parity=5;. z+ C. [( s# `) G4 j' R+ s
  6.     //uint32 status;
    $ n! ]1 b1 l6 u3 l" v
  7.     UARTMODE_t um;1 [; D" t; W! ^3 w# s. K/ x" ?
  8.    
    1 F( J& Q. ]; S+ O; E: C! ]
  9.    6 A, e! U* e# r9 q5 L
  10.     (*AT91C_PIOA_OER) = LED_MASK|BUZZER|DP_PUP; // could be neglected(???)
    ; `9 D# Z9 D" w: L
  11.     BUZZER_OFF();$ L# }! n9 t/ H5 A% ^/ }
  12.     USB_CONN_OFF();
    2 O1 `8 r1 e- [
  13.    
    ( |+ R  \4 G1 Q
  14.     um.datab = 8;   // 資料長度8位元
    % H" Y- n5 P) }5 t# q
  15.     um.parity = 4;  // 無奇偶校驗
      d* C1 V" I' c: e% ~8 F: N
  16.     um.stopb = 1;   // 1位停止位3 h9 ^1 d% X8 T- G8 p' T
  17.     UART0_Init(BR_4800,um);    // 初始化UART0
    - U& C. u8 x: D3 c3 N! Q  T
  18.       U  E: c3 b' i+ h
  19.     while(1)        7 q+ B  W5 F* c& k8 h9 l9 o# Q
  20.     {    : ?* H' M% x8 D" W7 `
  21.       parity=0;
    ! H8 [) s- D9 q2 c$ K# q7 q5 Q3 ^
  22.       for(k=0;k<4;k++){ : m. E/ H# q) N8 V9 h. {8 C! S
  23.          while(((*AT91C_US0_CSR) & 1)==0); // wait until RxRdy( l6 k+ T; i7 B0 K% f4 T) P
  24.          buf[k]=(*AT91C_US0_RHR);          // 接收資料
    ' ~4 y' J0 D3 X0 {  x
  25.          parity=parity+buf[k];
    ; A; g8 P7 u% b: k
  26.        }
    0 P5 b# V6 U, E" d  B
  27.         /* if(parity>255){6 S$ ?1 ^! y* H
  28.           parity=parity-256;
    : u4 p/ V. M' y  D! M3 C: ^# w
  29.          }*/
    3 H7 x- g! M' G6 @! Z! F
  30.       while(((*AT91C_US0_CSR) & 1<<1)==0);
    5 T- y" `$ h# K0 n8 e7 l
  31.       (*AT91C_US0_THR)= parity;                // 傳送資料" r  w7 m0 [3 n% T9 o& `
  32.       //Delay(1000);   // could be neglected.
    ; v0 P# }1 Q7 m* y0 q: s0 U
  33.     }
    * n* F) e" x$ k8 m; L
  34. }
    2 q9 T3 r" L# {3 P" z1 Z4 f2 j
複製代碼

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-9-28 01:37 AM , Processed in 0.165009 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表