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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
" ~# H' o& Z& t& f( n7 U; ]1.。DSP解算出来的数据是存在哪里?
* t  Q  C7 _  A4 {& c1 o' E2.。在例程中有这段代码:8 u( o3 W$ f% r( H! N
unsigned int int_id = 0;, V4 c! R9 N: |9 U: }, F

1 z6 B$ X$ Y* B    // 确定中断源
7 j' f% s* [* O0 s& r4 }' b& _    int_id = UARTIntStatus(SOC_UART_2_REGS);
1 g* ?4 [* W1 a1 k1 X: S% }0 \1 `
    // 清除 UART2 系统中断
; B; s/ P- a" m; f7 Q4 k7 J) C7 v    IntSystemStatusClear(SYS_INT_UARTINT2);2 y$ M9 w( Q( ^3 V1 z, c
& O2 D0 R! T" d; C+ @% X( V1 b: B
    // 发送中断
3 f) v+ S* r6 ~    if(UART_INTID_TX_EMPTY == int_id)
! J' s9 V6 }) C% f    {
3 G1 l, m% w8 z+ X! C        if(0 < length)# n9 Y3 i( ^2 Q/ C' {9 t& g
        {
9 V( I. ~/ R# T8 o" b: l            // 写一个字节到 THR' A# t1 q4 g2 ]9 ^: Q
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
3 I4 Q4 }% U7 t% I3 W            length--;. M% p' ?. U9 {0 q
            count++;$ e4 J& |: _) [3 w' c* }
        }
! p" T1 k9 L5 u. W: h& U: c* Y- h, C        if(0 == length)5 B8 p' f3 o& D/ e0 C6 l, ]
        {
5 `! E+ h, c0 N2 [4 w            // 禁用发送中断
+ d5 F* ~& I5 J5 G. r& n            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
  T3 I& J/ ]( m; q% G) u- G/ {        }+ s0 d* s8 g# n/ T
     }
, I2 B2 J* a% f) U! E9 E5 ]3 p我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
推荐
发表于 2016-11-11 15:29:40 | 只看该作者
1、存在所有可以访问的 RAM 空间都可以
$ T* O, Q% p7 v, H7 X& _2、因为每接收一个字节就产生一次中断
回复 支持 1 反对 0

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
11#
发表于 2018-8-7 15:02:43 | 只看该作者
jiahaonan1022 发表于 2018-3-22 11:43  ]2 }( M( b, q
您好,我想问一下如何手动使能发送中断?
4 R" A7 L6 R7 X6 e9 v
您好 不好意思回复晚了
1 @/ u* `/ a! v" h  i7 ~# J! B应该这样就可以了
& j8 j" j# B2 h' t# w) [: i    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
7 [) r5 O" y! w/ t0 J/ ]手动使能发送中断就会触发下一次发送

3 p9 g, x4 R3 Y+ F您好,我想问一下如何手动使能发送中断?

点评

您好 不好意思回复晚了 应该这样就可以了 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# q* M8 s- [2 ^/ y
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...
" l$ h, O5 X& ?0 G2 ]" N2 S) Z' o
你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

1

主题

2

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-11-13 21:33:36 | 只看该作者
jj909305 发表于 2016-11-12 09:43
. X+ I0 _( `3 W没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?3 T+ t  y, a: E' |7 l
...
, M2 p% \: \$ \5 C; J- X
手动使能发送中断就会触发下一次发送
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
6#
 楼主| 发表于 2016-11-12 09:43:49 | 只看该作者
希望缄默 发表于 2016-11-12 05:43
) B0 b; V' K3 E; r$ ?8 S3 \接收到下一个字节
  S2 \7 F# j* a+ g3 u4 f
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?' P" o( c! h' s# k; d5 W: l# ~

点评

手动使能发送中断就会触发下一次发送  详情 回复 发表于 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
! v. `9 l2 H( p! Y1、存在所有可以访问的 RAM 空间都可以
1 X$ e5 q* G$ f4 @( ~" p2、因为每接收一个字节就产生一次中断 ...
7 _* |! @6 y" [0 r4 v
那下次中断是怎么触发的呢?
- w. p: K5 M$ U- M2 H% \: |
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:12:47 | 只看该作者
@希望缄默 : Q: b  h! Y8 S- q; C3 S  p& v
那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 09:47 , Processed in 0.049194 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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