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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问: h) M2 Z5 K- }/ Y, ^
1.。DSP解算出来的数据是存在哪里?
, @- z$ |+ Z6 j6 S/ r# t* {8 e2.。在例程中有这段代码:
4 R" `: p4 F, }% R! y' X1 m unsigned int int_id = 0;
0 B2 Q6 m" D3 H; n/ _: Z
: a3 j8 [- [6 k! I  u# ^    // 确定中断源6 Q  H$ b; [" y2 O
    int_id = UARTIntStatus(SOC_UART_2_REGS);: x# h6 c, H' m1 G
6 h0 n9 F4 x8 W
    // 清除 UART2 系统中断, u0 i  ]4 M, I' ~% L3 p
    IntSystemStatusClear(SYS_INT_UARTINT2);
' H. N( J- `4 ]2 s, c, w* k" w" V8 f9 |
    // 发送中断
6 P' z- m5 ?0 G: K5 b    if(UART_INTID_TX_EMPTY == int_id)
8 O1 h3 b1 v8 q, d2 _    {0 F1 j% N' x$ D7 b2 Z
        if(0 < length)4 P* D+ G  W5 G2 o
        {
) ?2 Y! `" m0 ~0 V            // 写一个字节到 THR* ?' f+ \( h& G0 Y2 S. |% f
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);1 ^. d( p, @, g7 L4 v/ {" {
            length--;
# D- Y2 [5 V0 H6 e& ^4 m4 w            count++;8 Q8 L1 L( r0 g- P- E' F
        }+ ]8 M  |) m8 [- Q: r7 C5 B4 K: k
        if(0 == length)  s8 `( P- E) }5 A4 _3 q, E
        {; I5 Q0 y* T# W/ Q: [8 Q1 K# {1 `+ D
            // 禁用发送中断4 ]. E7 s" R& J# k' x7 P, i
            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
' m4 m4 ?# u8 t        }: I+ Z( ]$ ]( G- w2 e
     }
" ^7 ~6 d, n2 H+ c4 e. F2 s/ }我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
推荐
发表于 2016-11-11 15:29:40 | 只看该作者
1、存在所有可以访问的 RAM 空间都可以) g% T" R3 u* M* W' {1 \/ ]
2、因为每接收一个字节就产生一次中断
回复 支持 1 反对 0

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
11#
发表于 2018-8-7 15:02:43 | 只看该作者
jiahaonan1022 发表于 2018-3-22 11:43+ M( d6 k0 w, L
您好,我想问一下如何手动使能发送中断?
! f( {3 e7 P- ?: {$ Q: Q
您好 不好意思回复晚了
; ]6 M( i- s4 H6 _" K2 p应该这样就可以了
* k7 q3 i) {# Y$ S; O0 b    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
% r" i7 U1 E4 X7 P7 v手动使能发送中断就会触发下一次发送

: ?# [+ U1 |* N$ ]+ }8 E  G8 o' p您好,我想问一下如何手动使能发送中断?

点评

您好 不好意思回复晚了 应该这样就可以了 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( I$ }7 w5 F, q% c" j: l
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...
% X+ K! Y" k8 B; g/ N' ?9 @
你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-11-13 21:33:36 | 只看该作者
jj909305 发表于 2016-11-12 09:43
) y! N% V0 }1 }1 s. a1 Z没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?
* `& ~& [3 S: d ...

& S& e4 H! [8 U' o: H& m. j手动使能发送中断就会触发下一次发送
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
6#
 楼主| 发表于 2016-11-12 09:43:49 | 只看该作者
希望缄默 发表于 2016-11-12 05:438 P4 [, i) l0 \/ w* R
接收到下一个字节
: j/ ^  C0 d- r" ]3 A; F
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?' W0 m1 N/ O. ?9 u& |

点评

手动使能发送中断就会触发下一次发送  详情 回复 发表于 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) Z) r6 Y, K2 F. y: r% Q( M6 c; l1 U
1、存在所有可以访问的 RAM 空间都可以+ F- S& k: H1 r- A" r( }0 e
2、因为每接收一个字节就产生一次中断 ...

8 u7 i0 d3 B2 E; ]9 H那下次中断是怎么触发的呢?0 v. [2 ~+ q2 O" U: e
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:12:47 | 只看该作者
@希望缄默
- s2 e+ U( i+ M0 T那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-1 09:02 , Processed in 0.041513 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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