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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
6 w2 _" `8 |% @( Q; r6 T1.。DSP解算出来的数据是存在哪里?1 N* B: ~, ]! ]# i* I# j
2.。在例程中有这段代码:
0 r' Y( L/ b7 C; W- { unsigned int int_id = 0;+ g" k2 y1 E% a) P7 s( S) d+ O
: A: v( h" p3 c* J. C9 L3 G: `  ?" F# S8 ?
    // 确定中断源
; {5 D9 L: b# W# @9 b# L+ r. n! J! m    int_id = UARTIntStatus(SOC_UART_2_REGS);* u) c! Q7 _: Y& S& c% I

. y( j+ j1 p' v/ d" S( e4 c' _' }    // 清除 UART2 系统中断
. ^3 Z- L: s' w, l) O    IntSystemStatusClear(SYS_INT_UARTINT2);
# O2 X* X$ @$ e5 Q# `5 ~! L4 [
" |8 v2 e" ]5 n; j0 [9 u    // 发送中断/ i- {: V* r5 r( A
    if(UART_INTID_TX_EMPTY == int_id)
  X0 |* J4 Z0 r! a& {8 L0 L    {
0 v; z* \4 H* }( x  U        if(0 < length)1 k7 k1 |/ t( e1 p( U
        {
* N/ I5 ^3 q1 G/ X' o1 c: B            // 写一个字节到 THR+ B# }" c) I/ o) F0 b' K
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);
+ f$ x/ T9 W: g) k6 ^            length--;
& s) x' N/ Z- ?1 W! {" [$ L& u            count++;; y: c. e! }2 X- `: t( `) k! `( L
        }; G: f0 w" Y1 Q
        if(0 == length)" h2 W2 S- M' J* e* Y- D! A
        {
% Z* H% g8 ^$ x* J5 K            // 禁用发送中断' ?5 g6 C2 }/ ?: H
            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);
' v6 h; U1 @1 F3 D+ w" Z; a, R! b9 D        }3 b- E- G4 |# }* |
     }
" b% ?5 t7 S! S, k! [. `; n* g  j我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
推荐
发表于 2016-11-11 15:29:40 | 只看该作者
1、存在所有可以访问的 RAM 空间都可以! f3 ]8 {( b3 U/ b% s$ Q& o: S& A; [
2、因为每接收一个字节就产生一次中断
回复 支持 1 反对 0

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:12:47 | 只看该作者
@希望缄默
6 v" z' I& m+ @+ N- c% i那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
地板
 楼主| 发表于 2016-11-11 20:23:23 | 只看该作者
希望缄默 发表于 2016-11-11 15:290 @3 L0 E* A7 r7 h7 H9 H' E3 i
1、存在所有可以访问的 RAM 空间都可以7 e5 G* `+ H# A) a. o3 |* Y
2、因为每接收一个字节就产生一次中断 ...

" Q5 f. U/ Q# |  P/ [. m3 G6 t' q那下次中断是怎么触发的呢?
( l; u: H1 f  h, c0 ]- S5 U- D
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
5#
发表于 2016-11-12 05:43:15 | 只看该作者
接收到下一个字节
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
6#
 楼主| 发表于 2016-11-12 09:43:49 | 只看该作者
希望缄默 发表于 2016-11-12 05:43, {- A3 ]( x0 Q* k6 z  p& Q& }
接收到下一个字节
7 s# g4 a) ?+ V) x* o1 L
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?
" ^( k$ [2 [: w; h2 a9 c

点评

手动使能发送中断就会触发下一次发送  详情 回复 发表于 2016-11-13 21:33
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-11-13 21:33:36 | 只看该作者
jj909305 发表于 2016-11-12 09:43! U! f/ f& k8 ?6 P
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?  g* A% i+ Z, X! v- U2 A. f- Z
...
- }, [3 f3 [. N/ N! Z8 h% U
手动使能发送中断就会触发下一次发送
回复 支持 反对

使用道具 举报

1

主题

2

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
9#
 楼主| 发表于 2017-3-6 16:54:55 | 只看该作者
Etihad_21 发表于 2017-3-5 22:27, \3 z9 f* Z3 U9 P( W' ]# N; M
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...
( w0 c; W4 b6 k- v6 c8 {
你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

1

主题

3

帖子

1021

积分

金牌会员

Rank: 6Rank: 6

积分
1021
10#
发表于 2018-3-22 11:43:17 | 只看该作者
希望缄默 发表于 2016-11-13 21:33
7 P6 W; G8 c$ L% o) |* k5 u& K手动使能发送中断就会触发下一次发送
0 D; U0 N, E: h+ i0 K: k
您好,我想问一下如何手动使能发送中断?

点评

您好 不好意思回复晚了 应该这样就可以了 UARTIntEnable(SOC_UART_2_REGS, UART_INT_TX_EMPTY)  详情 回复 发表于 2018-8-7 15:02
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 23:16 , Processed in 0.044704 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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