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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问/ a5 l. k( O% V. H+ d- N
1.。DSP解算出来的数据是存在哪里?- K8 b6 w: }* m: M- L( z
2.。在例程中有这段代码:2 L/ {4 W/ k# t* E0 N& X
unsigned int int_id = 0;! J4 t; ^% Z6 G7 L# H

2 ^. h- S# ^4 X: ^$ W2 H    // 确定中断源
4 \) g$ {+ X+ ~- Y% `  z* K    int_id = UARTIntStatus(SOC_UART_2_REGS);( s! [) X+ D0 u& I# x

3 h" P# R, B% e& W    // 清除 UART2 系统中断! {5 i0 c9 f2 {7 s& ]& X
    IntSystemStatusClear(SYS_INT_UARTINT2);- ~% K% x$ L7 ^( G; O: T+ @. X. f

3 z4 n" x7 y( _, x7 m$ I- B% b$ R    // 发送中断! O1 `! C% D' L8 g! r/ C, H3 ]
    if(UART_INTID_TX_EMPTY == int_id). a9 M1 O& T, [
    {! c. T7 S- n; F" ?
        if(0 < length)
, m9 h) ~+ V! f        {
* A4 A. M& J2 C: `1 @            // 写一个字节到 THR( e: e1 G+ `# K( R* q+ z- T
            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);$ x) p) y; V! G& I
            length--;
) h, n( B/ J  n' o            count++;+ u6 L! s5 {- o5 y
        }
7 s* G" v  D& I8 K2 f        if(0 == length)9 s" x) g& h1 s0 o) d2 v( b
        {: g1 M: Q" x, ~, h: Q; |, j
            // 禁用发送中断( f' I1 k) S; X( w
            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);0 `. i2 D4 X1 i5 p
        }0 w( l0 k# D' w- Y$ m
     }
1 w2 C6 p0 N4 X- l- c1 p我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
沙发
 楼主| 发表于 2016-11-11 20:12:47 | 显示全部楼层
@希望缄默
2 u, ]  d" u2 I6 }3 U那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:23:23 | 显示全部楼层
希望缄默 发表于 2016-11-11 15:29
/ ^5 b& c) @/ _0 Q) W. Y- j( K1、存在所有可以访问的 RAM 空间都可以. J) Z  T$ a( K
2、因为每接收一个字节就产生一次中断 ...
4 I1 [  w+ }0 Y7 l; z: c
那下次中断是怎么触发的呢?1 ^# \. v7 V2 u, C; l- B/ {- V5 y
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
地板
 楼主| 发表于 2016-11-12 09:43:49 | 显示全部楼层
希望缄默 发表于 2016-11-12 05:43
/ n9 B) f) Q$ t) U接收到下一个字节
+ e' l0 K  a) w1 f$ s
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?2 t  P6 i+ D7 d

点评

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

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
5#
 楼主| 发表于 2017-3-6 16:54:55 | 显示全部楼层
Etihad_21 发表于 2017-3-5 22:27/ C0 Z2 ~( Y; l0 f. g! i
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...
4 P+ J# B* ^* V. r) C' ^
你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 07:29 , Processed in 0.045373 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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