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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
void USART0_IRQHandler(void)) G3 ]! R' L- V% @7 \* r$ q1 V
{3 V3 p6 d1 r: e4 y5 p& w6 T+ `
    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_RBNE) != RESET)   
) a$ `% i0 v8 Y0 L    {
7 i3 m8 r7 a' }9 _% }& n0 Z: Q        USART0_ReceiveFifo[USART0_ReceiveFifoEp_ZC] =  usart_data_receive(USART0);& i' W' W0 G1 g" g  b! F
        USART0_ReceiveFifoEp_ZC++;
1 q# C7 K: V6 |& a        USART0_ReceiveFifoEp_SL++;
1 _5 q# A6 H  }3 Q        if(USART0_ReceiveFifoEp_ZC == USART0_ReceiveFifoSp_ZC)
  L5 W) P# C$ t4 g6 _  e        {
$ b7 [7 |. i& u( ?            USART0_ReceiveFifoSp_ZC++;: K+ h% ?" J& I8 D" _
        }6 Z- p% U0 V8 B/ t& X
    if(USART0_ReceiveFifoEp_SL == USART0_ReceiveFifoSp_SL)
# P& v5 Q/ R# p% x+ z        {
. C, E; R# {* A# s6 u            USART0_ReceiveFifoSp_SL++;" z0 `6 |5 x9 W7 _9 ^
        }
, p: {5 ?- Z. D, Y% d        USART0_ReceiveFifotime_ZC = 0;   
' ?8 ?# [+ e- [% v. R/ y0 B        USART0_ReceiveFifoTime_SL = 0;   2 H& D0 r: u$ t$ H# I' @
    }- ^, L2 L1 ^4 Y8 Z5 X! f
    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_TBE) != RESET)    ' R( C6 T, }% U
    {
; b- q6 u+ v. I& Z2 d. ]        if(USART0_SendFifoSp != USART0_SendFifoEp)0 r1 N5 H. N& T& l& L0 V8 L9 s
        {
# V/ }% h% r! m' t  n8 p; \. |            usart_data_transmit(USART0, USART0_SendFifo[USART0_SendFifoSp++]);" r: J0 i: m" V, O9 M$ T
        }
/ [+ h2 ?6 v  U- ]) f2 Q( x# j        if(USART0_SendFifoSp == USART0_SendFifoEp)
: ?$ k, f0 L% B" ?        {
1 ], B4 J5 u' r7 P( {            usart_interrupt_disable(USART0,USART_INT_TBE);& Z& u' P. H- u+ ~6 u  p, K, ]
        }
) i/ O, _$ t1 ^    }6 ]$ G1 S7 y' k3 J5 L
}
/ W9 \% d& B9 \" h( B, Z! M* l2 ]/ o' ~1 a9 q! [. E; L5 L
uint8_t USART0_ReadFifo_ZC(uint8_t *Buff)
$ k& u# \1 r1 k' L5 l$ M) d{: w( E1 d! F% B1 v: y6 t2 p
    uint8_t Sp;
1 C+ `! ?- o9 p" V5 Q# I    uint8_t Ep;
( m( x( w9 p! |; {: V2 j3 I" K    uint8_t Len = 0;( D+ v$ k8 [( `9 G
    + h. L& b. E1 E
    Sp = USART0_ReceiveFifoSp_ZC;5 Z: j9 W) i! e% I* Z3 i, _; k
    Ep = USART0_ReceiveFifoEp_ZC;
) }8 O$ A" b9 {1 ^    while(Sp != Ep)
% l, [" Y1 e, Y, M$ I% G/ G. H    {
5 x; l  X' W8 H+ o        *Buff = USART0_ReceiveFifo[Sp++];2 z) R; Q6 @2 _4 r7 U! a' H! A) H: z
        Buff++;
4 K: L! R8 U. v4 I! L7 u        Len++;
8 k2 n3 _" b$ w    }$ K; E6 n- {  D( _
    return(Len);
6 z; U. _0 g1 M; N}
$ L5 q4 ?3 D  Q8 P0 o/******************************************************************************: D; H0 {% U1 P9 v
*******************************************************************************/
& W8 \1 U8 ^" i$ `! c, X3 fvoid USART0_DeleteFifo_ZC(uint8_t Len)
$ P0 ~1 D" x; T6 a) s2 o. n' T{
: K& K% T% w7 H! ]6 Z* D    if(Len)$ {, F3 R3 s$ L1 n/ h
    {8 C+ \( z+ g5 ^5 h
        USART0_ReceiveFifoSp_ZC += Len;! W3 C# z, c/ ~
    }! f5 b, d% p3 G# x8 k# P
    else
" I& o8 Y9 r, N0 q    {$ H* L9 m7 p2 k; j6 r9 T
        USART0_ReceiveFifoSp_ZC = USART0_ReceiveFifoEp_ZC;: \2 K) h& t6 ^# q( S
    }
3 f" p" k! ~! _. F}
+ M2 @8 m: Z* L* r* v7 a4 g

该用户从未签到

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

该用户从未签到

3#
发表于 2022-11-1 13:47 | 只看该作者
串口外设时钟是否正常打开7 K1 V) J! l. I# @* {3 C
接收使能以及接收中断是否打开

该用户从未签到

4#
发表于 2022-11-1 14:10 | 只看该作者
系统NVIC是否正确配置到对应的外设# l' Q7 s$ L6 n) H
测试单片机引脚上的波形配合分析
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-24 01:34 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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