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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
跳转到指定楼层
楼主
发表于 2016-11-10 21:45:35 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
现在用138芯片搭一个导航平台,DSP用于导航解算,ARM用于通过UART2与PC通信。想问
; ]1 ^) W3 C# G8 J1.。DSP解算出来的数据是存在哪里?
8 G& D, x( z! H$ K% Z5 p2.。在例程中有这段代码:! s2 A" {# z( D" s- U# }$ c2 G# B8 y# n
unsigned int int_id = 0;1 [  G9 E2 x$ x

* ^& f$ V2 s, y/ b& X5 R: l    // 确定中断源5 p  w& z; w' ?! F8 y
    int_id = UARTIntStatus(SOC_UART_2_REGS);6 V+ i: y3 _1 }& p2 o$ _! f
: P  t+ g4 `) P9 p
    // 清除 UART2 系统中断+ `. U" D* K* |; O) u
    IntSystemStatusClear(SYS_INT_UARTINT2);$ o# w7 S: d- x

" N9 e! V$ [+ r8 E5 ]; w    // 发送中断" _0 A) D& I5 I; e* }! Z
    if(UART_INTID_TX_EMPTY == int_id)) q* `; `- J& i7 L! |
    {
; }  x' Q  u* U+ }. i        if(0 < length)7 p8 H3 v& T7 ]1 E% q  p9 u
        {
7 U/ q% [' s% r" F            // 写一个字节到 THR
& o+ m( j6 ~' F! B- \& L            UARTCharPutNonBlocking(SOC_UART_2_REGS, txArray[count]);: Q, q* Z0 r( r; S0 T
            length--;
4 s+ @# |/ o9 x) [1 p( D8 Q8 o            count++;4 o- @: ^8 |2 c+ A
        }0 V8 c  m1 I% Y9 p; m  }! V* d: b
        if(0 == length)
. }* l! D$ }/ G2 c  ~5 k        {
* T7 g  f2 o% Q/ ^            // 禁用发送中断4 Q5 Z! D. V. {+ I/ Q" J5 T
            UARTIntDisable(SOC_UART_2_REGS, UART_INT_TX_EMPTY);+ d" l' c2 k1 J2 k- j
        }1 I# `9 F9 X6 M" l
     }/ g4 t, c' \9 @% }  W. r
我的问题是这里为什么用if不用for??另外这个UART中断是怎么触发的?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
沙发
 楼主| 发表于 2016-11-11 20:12:47 | 显示全部楼层
@希望缄默 ! Q$ a+ B1 U, ?) F: C. J
那下次中断是怎么触发的呢?
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
板凳
 楼主| 发表于 2016-11-11 20:23:23 | 显示全部楼层
希望缄默 发表于 2016-11-11 15:29
2 D* q5 J% u( F2 m% i$ w1、存在所有可以访问的 RAM 空间都可以4 k/ z$ z1 Y9 v
2、因为每接收一个字节就产生一次中断 ...
3 A- C% w" v" w, A; b4 d: O) `: ]
那下次中断是怎么触发的呢?
# ]6 V* T$ Q$ i) S: }- g) @
回复 支持 反对

使用道具 举报

20

主题

65

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
地板
 楼主| 发表于 2016-11-12 09:43:49 | 显示全部楼层
希望缄默 发表于 2016-11-12 05:433 |8 s6 o, L. u4 f" V* o: p
接收到下一个字节
$ m3 z) T' s: t
没懂啥意思。。我的意思是发送一个字节后下次中断是如何触发的?在软件里哪里有体现还是硬件来完成的?; e$ Z! n3 [% `! _

点评

手动使能发送中断就会触发下一次发送  详情 回复 发表于 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:277 d1 V( j# C& o2 [* z0 P. C
你好,想问你个问题,你有没有用串口实时接收过数据呢?我在实现NovAtel接收机实时通过串口传输数据到DSP时 ...

- T2 Z2 v# ~) Z% x1 @你好。。我后来不搞这块了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 22:01 , Processed in 0.040076 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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