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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问" ]* X+ x% B* d6 T+ {7 ^# w
1.。DSP解算出来的数据是存在哪里?: T, p5 g! j  Q2 j
2.。在例程中有这段代码:
" {/ g5 D# ]. B unsigned int int_id = 0;
7 R3 [, O4 Y$ D1 |* l( U5 p/ M- p* {- m6 @; V6 t
    // 确定中断源
! X" j( a9 P3 ]* G! \( Z    int_id = UARTIntStatus(SOC_UART_2_REGS);. b  \1 Z1 N# \% _6 y$ c
! _5 u( {/ e2 G, K2 Y
    // 清除 UART2 系统中断
7 ?: Q, J5 d5 v0 A& X    IntSystemStatusClear(SYS_INT_UARTINT2);3 ^' y* r( Z4 W4 k+ k! R+ t
7 O- A" G. c1 L, R9 K
    // 发送中断8 {& t5 f1 T% A. A2 ~
    if(UART_INTID_TX_EMPTY == int_id)0 i( Z+ p* y- F, t& q! O7 l
    {
4 M$ ?7 x9 d8 {0 `' B, Z        if(0 < length)
! p* u  K3 R8 N! G( t+ Q        {
  V; a: M7 ?4 O" F% k            // 写一个字节到 THR. V. Z4 [0 _" _4 O  @8 B. r
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);9 C" T/ H+ v- _( Y+ K2 U
            length--;
( F% A2 T) _1 X4 {            count++;
7 w0 ]6 ~% b7 R" b5 z        }- i" W" n& w- v3 Z3 x8 C% L# ^' q
        if(0 == length)
2 V8 [( g; H1 b+ t2 H1 ?+ W3 ]% s) i        {5 t! O4 s' f. h; \) ]7 ?
            // 禁用发送中断2 B3 f" M4 }$ n  Y+ z
            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
; H; C5 M" E: G6 B        }) [8 i, `2 b4 o# n
     }
/ W7 x) p6 z5 K9 Z" Z" w2 s  j我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
推荐
发表于 2016-11-11 15:29:40 | 只看该作者
1、存在所有可以访问的 RAM 空间都可以
  N; J  w  o3 Y9 E$ A1 x2、因为每接收一个字节就产生一次中断
回复 支持 1 反对 0

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
11#
发表于 2018-8-7 15:02:43 | 只看该作者
jiahaonan1022 发表于 2018-3-22 11:43
6 w8 X, i# o2 W# @您好,我想问一下如何手动使能发送中断?
1 d; ?6 d8 \' z; ~2 Y% y
您好 不好意思回复晚了
: W' I1 L: ?7 \应该这样就可以了+ g! O  M" B/ t# ?7 ?- s$ t; o: d
    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! l! H5 C0 _& P1 e
手动使能发送中断就会触发下一次发送

# R0 U, W" p" R# l8 C5 y0 X) W. h您好,我想问一下如何手动使能发送中断?

点评

您好 不好意思回复晚了 应该这样就可以了 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:27, D4 H+ C3 q1 G# c1 O$ c
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...

0 X2 V- G: P: X. h4 k" }你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-11-13 21:33:36 | 只看该作者
jj909305 发表于 2016-11-12 09:43
  m0 C7 r% F- w2 a1 p3 |7 x没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?9 h0 f0 L/ p! Y0 R* D- \4 v
...
/ r, R. y4 |8 ]' V1 P; y
手动使能发送中断就会触发下一次发送
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
6#
 楼主| 发表于 2016-11-12 09:43:49 | 只看该作者
希望缄默 发表于 2016-11-12 05:433 ?% s* Y( W4 [% Z. g
接收到下一个字节
$ ?, ^' c5 W( _# i$ U' f2 Z. Y5 ]
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?8 N: w7 g* N2 h6 H  ~, m% c9 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) E* b! Z6 s- ^3 w/ V$ j4 v# {
1、存在所有可以访问的 RAM 空间都可以: V1 P+ B# }8 z# ?
2、因为每接收一个字节就产生一次中断 ...
+ t; y- t3 R: I! \0 y+ }
那下次中断是怎么触发的呢?
7 Y: H" ?7 X) T) f8 P% j
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:12:47 | 只看该作者
@希望缄默
/ f# [8 f, Z: U. a; k9 R) X  u! r那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 14:21 , Processed in 0.044663 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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