关于“UART2_INT——UART2串口中断收发”例程 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
' x2 j& L, t; D- D. b9 s+ d1.。DSP解算出来的数据是存在哪里?
9 j! M& O" Z. [6 T$ ^2.。在例程中有这段代码:
" F3 p$ J) ~" h5 K" u unsigned int int_id = 0;* q- i- t4 Y+ M
" o; V8 m* P! E2 @! f' D$ z  ?  s
    // 确定中断源6 d' e; C/ y  A( A' u( A- }% |0 H8 ^
    int_id = UARTIntStatus(SOC_UART_2_REGS);
/ v4 d& W! t3 I, b/ |) t+ J
. x: l) F2 e8 P5 }    // 清除 UART2 系统中断' w  \& ^! \3 o4 B
    IntSystemStatusClear(SYS_INT_UARTINT2);8 y& X: Z( G8 _
) x; O4 N: m/ Y# _) V# g1 R
    // 发送中断0 I; p5 ]% H7 k, \1 ?" ?
    if(UART_INTID_TX_EMPTY == int_id)
1 _* R, h, J; `9 u: x    {4 r, B8 l, d, C: j5 W
        if(0 < length)4 @. c. _! ]* L
        {- f, {+ L. c# o( u0 u6 p2 e
            // 写一个字节到 THR" t& r" U5 W$ E3 P9 J
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);/ E- p  w0 Q! V! `  H' g3 v) u
            length--;; e: a0 a+ s2 S( h$ [3 ~+ {
            count++;5 P% s5 l0 q' t8 `, I) D1 i% [
        }0 q6 ?  r* D# V% E& S4 B
        if(0 == length)0 M* G  b. j+ X/ Q9 i7 u
        {
, @8 i0 R3 z3 m+ z4 ]7 F            // 禁用发送中断
) M2 q. X( ^/ m+ @            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
1 ]; O) C1 V5 t" o3 \        }
3 {& P5 c2 D  K3 B/ H7 u2 V" l     }
8 E0 f$ K+ X: p) S/ P6 E我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
11#
发表于 2018-8-7 15:02:43 | 只看该作者
jiahaonan1022 发表于 2018-3-22 11:43: i. o$ J: A( ?; G& ^, {) c- f+ Y
您好,我想问一下如何手动使能发送中断?
" J" h! t+ D6 _
您好 不好意思回复晚了
7 N+ M$ G. y/ ]7 t1 U+ D' o应该这样就可以了7 Q# f* H* d8 h
    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- d# @5 ^& q. n. i
手动使能发送中断就会触发下一次发送
' ?/ v. V: _# f5 z
您好,我想问一下如何手动使能发送中断?

点评

您好 不好意思回复晚了 应该这样就可以了 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# E. q* @8 i  C  a% j; }5 l
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...
4 a9 c- ^3 C5 x& |
你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-11-13 21:33:36 | 只看该作者
jj909305 发表于 2016-11-12 09:43
0 Z7 r& N5 ~; B% ?没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?
6 p2 W! K  f# B* c) } ...
, Z' b4 g" a" s
手动使能发送中断就会触发下一次发送
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
6#
 楼主| 发表于 2016-11-12 09:43:49 | 只看该作者
希望缄默 发表于 2016-11-12 05:43
! z8 V2 @  @8 \0 ?, t4 q3 b- t接收到下一个字节

9 {6 b- Q- p+ U9 C# y没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?6 c% h9 T; V7 {! n- @& V# i! 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:292 j  W4 ^& ?; E( K$ j$ i6 |4 \
1、存在所有可以访问的 RAM 空间都可以
# g8 Q5 r( ?3 T" {* l  L* j1 A2、因为每接收一个字节就产生一次中断 ...

' N3 R. }) a2 S' N那下次中断是怎么触发的呢?
5 @. R. x, b' m# I. Z) F1 ^
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:12:47 | 只看该作者
@希望缄默 # H5 _& ]7 L6 M) k
那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 09:51 , Processed in 0.057725 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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