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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
void USART0_IRQHandler(void)# C& l3 C" ^0 `5 U- I- n# `' Z
{
. k' \- A( m) J/ E" h    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_RBNE) != RESET)   # t; u  M3 Z: v, P& e
    {
; B8 Q  Q2 Q9 v; F& l. }& T: ], B        USART0_ReceiveFifo[USART0_ReceiveFifoEp_ZC] =  usart_data_receive(USART0);: p& L" m' Q' X; D  k0 Q
        USART0_ReceiveFifoEp_ZC++;
8 M0 V. W, K9 a4 J$ G, c. G        USART0_ReceiveFifoEp_SL++;
& y  A" E/ N& E; j3 {8 d( v        if(USART0_ReceiveFifoEp_ZC == USART0_ReceiveFifoSp_ZC)
% X1 e* e/ h/ Q/ M        {: }3 t( ?: |# g. s# A' l+ m
            USART0_ReceiveFifoSp_ZC++;
6 `; ]7 k! F+ t' D. s: j        }' m" {5 A2 a* I1 j/ T- \, G! u
    if(USART0_ReceiveFifoEp_SL == USART0_ReceiveFifoSp_SL)
7 F" b3 P4 q* l# l) _        {
0 Y/ w  ~, w8 Y' h+ f* X            USART0_ReceiveFifoSp_SL++;7 [  _3 h1 J7 s- n
        }
% L4 E: i8 z2 ~9 W( P' ^        USART0_ReceiveFifotime_ZC = 0;    3 S& `" g% C) ^- v) C& B) Y
        USART0_ReceiveFifoTime_SL = 0;   7 r$ ^: K1 w1 h. Y4 Q' w
    }2 m8 `5 Z1 A' y1 p- y4 F3 S
    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_TBE) != RESET)   
. P. {: ~/ v# E7 U8 g2 ]6 v. j    {
+ [! p* {5 v1 z! B8 B        if(USART0_SendFifoSp != USART0_SendFifoEp)
0 s# y4 n$ o4 S2 g; P        {& y, _2 n6 U5 M- l+ p  y
            usart_data_transmit(USART0, USART0_SendFifo[USART0_SendFifoSp++]);
  U+ o% J; q0 D" k3 W5 `- j7 J4 U        }+ q& l/ C  p- y0 Q, b
        if(USART0_SendFifoSp == USART0_SendFifoEp)' D1 r/ I4 A2 _7 \& [5 b
        {1 v" f4 y+ z( r
            usart_interrupt_disable(USART0,USART_INT_TBE);! O9 \4 [, p# j% U
        }
- K. s3 [1 w) X/ C( H8 W, Z1 x    }
" O) M& X" M) s* E) f; b# t: ^8 W} + r7 `  q$ |7 W2 t
$ m8 X' s* m: i) n3 _
uint8_t USART0_ReadFifo_ZC(uint8_t *Buff)) y8 ?; @9 f- T# v( H
{
# R5 y) S* O9 Z' W4 h! Q    uint8_t Sp;
; @4 D4 {9 M6 I1 ]: g- y    uint8_t Ep;1 }. h5 m' l' S: V/ Y* J9 @
    uint8_t Len = 0;
+ X) z5 l! W0 d4 {% B) ^& W   
3 j* D7 k. V7 V0 S    Sp = USART0_ReceiveFifoSp_ZC;
" D3 W  h7 z* }, J8 X. z2 N$ `3 I    Ep = USART0_ReceiveFifoEp_ZC;
. |" `1 p% @3 e( S    while(Sp != Ep)
. B  o+ ^0 u/ Z    {0 a1 }. w9 Z( c  ]# b( h4 g
        *Buff = USART0_ReceiveFifo[Sp++];
$ ^. {* y3 c5 K        Buff++;5 N; m4 @' d* T# z. d
        Len++;+ l, g; g5 O0 v* M0 q
    }
/ i) N6 T# [- k' z2 [    return(Len);, r7 a" }1 t. s) s
}
! H2 ^: ~4 P: S, ]+ A/******************************************************************************
! Y1 \6 u2 P" d9 l6 I# O, C. J*******************************************************************************/* _- Y; V$ D7 [0 h4 b
void USART0_DeleteFifo_ZC(uint8_t Len)
' q& H% C9 D# f7 {1 @# f{3 r' z! j$ y8 P' O. L. M" l
    if(Len)
( {8 Y& [/ u. F. H7 h    {5 n7 X7 V) a  z/ \; |7 w
        USART0_ReceiveFifoSp_ZC += Len;
6 Y  C( j  j+ x8 ?    }* ?& l& s: s3 l  b/ f
    else
# j& P! S' V& J0 P( g    {
% P; u3 u1 _- Y. [+ L        USART0_ReceiveFifoSp_ZC = USART0_ReceiveFifoEp_ZC;
' e! |5 P" q- }- e+ `8 ?  p    }
) e, B9 h' o* B5 _; F}
& O" s4 @3 {/ |+ n6 a' X

该用户从未签到

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

该用户从未签到

3#
发表于 2022-11-1 13:47 | 只看该作者
串口外设时钟是否正常打开
  k( q. K  x$ b3 g接收使能以及接收中断是否打开

该用户从未签到

4#
发表于 2022-11-1 14:10 | 只看该作者
系统NVIC是否正确配置到对应的外设
, N8 F) l/ y7 _% Q: p5 ~& Z7 }测试单片机引脚上的波形配合分析
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-4 05:18 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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