关于“UART2_INT——UART2串口中断收发”例程 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10571|回复: 9
打印 上一主题 下一主题

关于“UART2_INT——UART2串口中断收发”例程

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问2 V4 h  [" C! x7 ?1 R! ^2 x- ^
1.。DSP解算出来的数据是存在哪里?
' w& s& v' o, i  ^" n# s' `2.。在例程中有这段代码:! }- E, x& X2 I4 n# |/ L. Y
unsigned int int_id = 0;
! N3 j- m1 l6 {" A) ?1 a
! y$ s3 e* G7 D1 T* P5 |    // 确定中断源
0 N) C& {5 K2 E' o( t9 A' @* Y    int_id = UARTIntStatus(SOC_UART_2_REGS);
' c6 s" c, o: v: g. U* U1 g4 R! {  ?! B6 T5 w
    // 清除 UART2 系统中断4 M- V/ J- O6 p$ z
    IntSystemStatusClear(SYS_INT_UARTINT2);7 b/ b! Q( r5 ?6 m. D

5 j$ v) U) z6 [4 W    // 发送中断3 |. S! R' }7 W$ K
    if(UART_INTID_TX_EMPTY == int_id)
& T8 r  Q7 @; O. ]    {( ?; q* n9 N4 W4 e$ |  R- x6 E
        if(0 < length)5 Y' \. a* t# F0 r8 z# |3 T
        {1 p/ ~/ }5 V' V
            // 写一个字节到 THR( k! j" U$ ^% Q& e# A1 g/ U6 c; ?
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
0 [2 z' w8 g2 A% m            length--;
- Z% r% y% b( n3 ]% B2 _! ^( m6 o, u            count++;% U3 k0 @4 @$ |/ ]' u; r) l" c/ d
        }
$ i  e& k( u  ~9 j" N1 h        if(0 == length)( q* Z- M5 h& l6 O: o
        {
, r7 k! Y' z) A+ W" m5 R8 R            // 禁用发送中断
! [/ }; ~- g  g9 D) ~            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
1 k( {0 f' H6 Y# h7 i# h4 o' T  r        }2 L' Z( Y+ w% \+ ]) h+ B! I
     }& {( ^7 |7 A" A/ L* S2 g  U6 y' D% y8 H
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
推荐
发表于 2016-11-11 15:29:40 | 只看该作者
1、存在所有可以访问的 RAM 空间都可以
% M* H! r9 k0 L, n( m3 h2、因为每接收一个字节就产生一次中断
回复 支持 1 反对 0

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
11#
发表于 2018-8-7 15:02:43 | 只看该作者
jiahaonan1022 发表于 2018-3-22 11:43
: F) ]$ Q/ P. C7 r您好,我想问一下如何手动使能发送中断?

7 }7 _$ K, d7 v7 i! q您好 不好意思回复晚了
2 _) k% x$ g9 C3 U应该这样就可以了. ?. }5 l) d3 M2 a% ?' _
    UARTIntEnable(SOC_UART_2_REGS, UART_INT_TX_EMPTY)
回复 支持 反对

使用道具 举报

1

主题

3

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

积分
1021
10#
发表于 2018-3-22 11:43:17 | 只看该作者
希望缄默 发表于 2016-11-13 21:33
; N! z5 e8 q% s- t6 @手动使能发送中断就会触发下一次发送

8 L, p3 E  j1 Z) c- b; ]您好,我想问一下如何手动使能发送中断?

点评

您好 不好意思回复晚了 应该这样就可以了 UARTIntEnable(SOC_UART_2_REGS, UART_INT_TX_EMPTY)  详情 回复 发表于 2018-8-7 15:02
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
9#
 楼主| 发表于 2017-3-6 16:54:55 | 只看该作者
Etihad_21 发表于 2017-3-5 22:279 T1 w  f& [/ Y
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...

/ F2 O4 t7 X2 K# I* m你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

积分
1021
8#
发表于 2017-3-5 22:27:54 | 只看该作者
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时,接收的数据不知道什么原因出现了连续的FF或者00?希望能够解答,谢啦) r; {$ c' d5 L6 J9 y. L
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-11-13 21:33:36 | 只看该作者
jj909305 发表于 2016-11-12 09:43
. |( z$ c7 W& J+ u没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?' i( N* Y- R, m* L
...

0 S8 P: @- M. N2 R. X7 _4 V手动使能发送中断就会触发下一次发送
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
6#
 楼主| 发表于 2016-11-12 09:43:49 | 只看该作者
希望缄默 发表于 2016-11-12 05:43( \( S  T: v' B* q. {8 ~) J
接收到下一个字节

4 p9 k- M8 A% B" r没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?( N8 M7 P) O+ f$ |, s1 o

点评

手动使能发送中断就会触发下一次发送  详情 回复 发表于 2016-11-13 21:33
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
5#
发表于 2016-11-12 05:43:15 | 只看该作者
接收到下一个字节
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
地板
 楼主| 发表于 2016-11-11 20:23:23 | 只看该作者
希望缄默 发表于 2016-11-11 15:29
5 y9 L, ?0 j+ T- n1、存在所有可以访问的 RAM 空间都可以
$ [+ A! v" @9 U2、因为每接收一个字节就产生一次中断 ...
, V# U! X. \" r! O4 v9 Q* V
那下次中断是怎么触发的呢?# h  `, E) K$ f- f9 m7 }! l
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:12:47 | 只看该作者
@希望缄默
" `+ J/ n( r, g/ r2 B那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-4 12:30 , Processed in 0.044958 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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