找回密码
 注册
关于网站域名变更的通知
查看: 357|回复: 3
打印 上一主题 下一主题

UART串口进入不了中断是怎么回事?求解答

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-11-1 11:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
void USART0_IRQHandler(void)1 D" E% E/ z% Y# B4 l; `7 d
{
) l/ H  B8 z# s/ e2 Y    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_RBNE) != RESET)   
; o' Q9 B5 v2 J+ @    {
7 p. y+ s/ c8 Z! M4 j        USART0_ReceiveFifo[USART0_ReceiveFifoEp_ZC] =  usart_data_receive(USART0);$ b" k9 y3 t4 J- l
        USART0_ReceiveFifoEp_ZC++;
; O1 g# V% l) q6 c; g3 l. v        USART0_ReceiveFifoEp_SL++;- K( A% Y, [; R' O
        if(USART0_ReceiveFifoEp_ZC == USART0_ReceiveFifoSp_ZC)
' f/ ~/ a7 Q1 @# m7 G        {8 Z7 {$ m1 U' ?
            USART0_ReceiveFifoSp_ZC++;
# o( ]% ~* ^% v9 y; z        }
9 Z) c2 U3 _, |  A& T7 @0 \    if(USART0_ReceiveFifoEp_SL == USART0_ReceiveFifoSp_SL)
" C- B0 B/ Z; u        {1 _3 N' [8 x  u- c
            USART0_ReceiveFifoSp_SL++;! P3 k) t, p* j
        }1 |- Z  u- C0 ]( s& R
        USART0_ReceiveFifotime_ZC = 0;    8 s) p. T' t' p4 _2 Q/ k/ V7 S8 o
        USART0_ReceiveFifoTime_SL = 0;   
7 u' ~, a* S" V; \8 ^( I    }
' G+ @" P2 q" u    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_TBE) != RESET)   
# r$ I3 C* E1 P& r0 G: @" M9 a    {" d+ D  H: G6 F* q
        if(USART0_SendFifoSp != USART0_SendFifoEp)5 L$ ]& ]' O( a9 y8 h
        {
& C$ H% W3 v  q1 ]! r! `9 e            usart_data_transmit(USART0, USART0_SendFifo[USART0_SendFifoSp++]);
3 F- {$ m8 |) {2 @9 H/ c* q. J        }- {0 `* _5 E, |1 `
        if(USART0_SendFifoSp == USART0_SendFifoEp)( M, \$ z. O; w0 u! p+ o2 W
        {
: j+ Q$ G9 [1 x2 |: @            usart_interrupt_disable(USART0,USART_INT_TBE);
9 n9 Z8 K; @6 O        }3 D! T; i( o0 w; ]9 F/ o% E1 E# |
    }* U& v7 C" {0 e, X4 P# R6 d! s
}   Q& D6 ^4 ?% W8 r! [

$ }( g' I/ r0 a7 W6 zuint8_t USART0_ReadFifo_ZC(uint8_t *Buff)
) o5 q% o8 G+ }- j3 u{' _) a- I/ s9 k- B( w7 }% v/ M  w; t
    uint8_t Sp;( o* ~3 c: ~, c
    uint8_t Ep;- ^( [) L  `3 S! o! B/ a
    uint8_t Len = 0;
9 ~3 ~" k; `8 ~! ^- U( ?) n% w   
; ^% L! i6 l/ c    Sp = USART0_ReceiveFifoSp_ZC;# @6 X# f) p+ @. x! j* Y: t2 @* p# F( {
    Ep = USART0_ReceiveFifoEp_ZC;/ t& i$ N8 A' P, _/ R
    while(Sp != Ep)0 ^, c5 [* J( O; P
    {
8 z6 R" v1 Z- J* W1 `  e        *Buff = USART0_ReceiveFifo[Sp++];
' W" ~6 A/ N5 I3 Y, Y- H+ T        Buff++;
8 s; d9 b, {( v        Len++;3 R: K& \# H3 r4 Z  O
    }+ N6 M. w: `6 F# K# E0 q4 u" \
    return(Len);
5 n3 g+ u6 @+ M# t, d, l1 H}* l) N- f6 Z  S: J1 y  Q% q
/******************************************************************************
7 w( s- B. ~" b/ z& ]*******************************************************************************/3 R8 b7 N( \4 d$ R. P3 Y
void USART0_DeleteFifo_ZC(uint8_t Len)7 ]* i9 ~( h( e/ \' x; H
{% U" y8 M- E" N5 b
    if(Len)
+ P7 {0 _9 r+ o' Z+ X) C    {: f8 i- F! `; I5 K! c8 b  ^
        USART0_ReceiveFifoSp_ZC += Len;  {/ L* O  p) p* {/ W$ h
    }+ @# `+ r: w+ y  D  d
    else
+ \0 y9 q: x/ J* Y; Y7 ]3 m    {& U" Y+ l, o. o  H, b
        USART0_ReceiveFifoSp_ZC = USART0_ReceiveFifoEp_ZC;( ]8 a2 u& u/ @, d/ ?7 q. {
    }
. R+ R5 c/ a$ s: ?}! V( N8 r! A" k5 r6 i0 N# I

该用户从未签到

2#
发表于 2022-11-1 13:32 | 只看该作者
先找个例程能用就好,然后在这个基础上在自己修改程序。

该用户从未签到

3#
发表于 2022-11-1 13:47 | 只看该作者
串口外设时钟是否正常打开5 M# k! ]% u3 X( b& u, I3 t
接收使能以及接收中断是否打开

该用户从未签到

4#
发表于 2022-11-1 14:10 | 只看该作者
系统NVIC是否正确配置到对应的外设
! U" B( @( t" a/ Y, u) m+ F# _; e测试单片机引脚上的波形配合分析
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 14:19 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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