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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
" i6 Y! }" F; y' G; P$ I, B* {1.。DSP解算出来的数据是存在哪里?
8 j8 E. v3 G4 D+ s& b2.。在例程中有这段代码:
( z1 V! e9 p* G% P2 X8 N unsigned int int_id = 0;
: I4 C/ u4 J. B7 W6 V* A/ [6 J- q: o: }; N# q4 @- e
    // 确定中断源
% ~/ Q1 m7 q- R$ m( P6 a1 Q" R2 J    int_id = UARTIntStatus(SOC_UART_2_REGS);  v, Y  }# H$ x2 M& Z' |6 [; J7 [

! P( T" m" p) ?: e0 V( N+ ]' v    // 清除 UART2 系统中断' ]$ w8 T' C% Z9 a; e; [3 q
    IntSystemStatusClear(SYS_INT_UARTINT2);# K# d# f1 F1 A. h
9 `8 ?/ @9 j1 Z/ B8 V: g
    // 发送中断9 c( x" ^' F' {6 s& q2 I( j
    if(UART_INTID_TX_EMPTY == int_id)5 }& I- \3 j% E  W! p
    {3 w! ^# w# Q! S& g& M/ x
        if(0 < length)" A! u9 \" `: V6 U9 |
        {
7 k7 G* G" O$ K, O            // 写一个字节到 THR6 |1 d7 r- [+ h! E0 `
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
# {* J" r/ x' p" z* N2 |+ `            length--;) C2 d7 I6 D' a: F- U5 `
            count++;0 {% r* G( E- C$ F: D/ }: q
        }. J4 J  R9 v  Z
        if(0 == length)
& R/ r7 p9 B- n3 P( b        {
' b* s6 ]( ~+ ^  L" |            // 禁用发送中断
& x4 D$ H' h) Q( X/ U            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);$ S- d7 y" @& T! x: P! ^
        }( m8 @5 F& f- I$ h0 |7 ]
     }
2 p* A! R+ B/ E* V' k我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
推荐
发表于 2016-11-11 15:29:40 | 只看该作者
1、存在所有可以访问的 RAM 空间都可以
3 U7 Y& A" ?" {3 W* }2、因为每接收一个字节就产生一次中断
回复 支持 1 反对 0

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
11#
发表于 2018-8-7 15:02:43 | 只看该作者
jiahaonan1022 发表于 2018-3-22 11:436 Q2 }* n* L/ [! D
您好,我想问一下如何手动使能发送中断?

5 o8 z. h- y- I" V5 p/ d1 h您好 不好意思回复晚了
( c3 d$ s) k3 y# E" z. j应该这样就可以了
# G& s4 P6 L$ |5 P& U" w! ~    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
/ i1 T1 C2 l1 Z8 Z6 w0 K) x手动使能发送中断就会触发下一次发送

) z) O' l1 P8 c5 _您好,我想问一下如何手动使能发送中断?

点评

您好 不好意思回复晚了 应该这样就可以了 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
/ G0 }1 m$ ^  i# `3 f你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...

0 k7 j) Z4 c* B, Z你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-11-13 21:33:36 | 只看该作者
jj909305 发表于 2016-11-12 09:43* _9 j. U: X* @7 l- H7 F
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?9 f' H( U) [. I' y
...
0 F- V! C( r' T! H2 |- ]1 h0 _) _; Z% l
手动使能发送中断就会触发下一次发送
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
6#
 楼主| 发表于 2016-11-12 09:43:49 | 只看该作者
希望缄默 发表于 2016-11-12 05:43+ J% \1 ]: Z) s; a8 }
接收到下一个字节

) o  d0 Y, y+ R# h9 y+ {没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?! L! m) N3 z9 R# @& M8 [# 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# t* i* Z  o1 y/ N5 |/ ~
1、存在所有可以访问的 RAM 空间都可以
8 y7 m+ J, V( j- y5 w2、因为每接收一个字节就产生一次中断 ...

5 K3 U5 N2 K4 ?1 o7 w/ l那下次中断是怎么触发的呢?
/ T% o5 K: @# ^; T  e
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:12:47 | 只看该作者
@希望缄默 + h& r& |* X7 t. L9 n
那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-15 04:15 , Processed in 0.047585 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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