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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
void USART0_IRQHandler(void)
! p5 U5 X: J8 K% G3 w% C3 D{
  Z# e# C: O9 Q/ G) S. [! l3 P" ]    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_RBNE) != RESET)     S( P( N- D9 W
    {
; Z" J: g  t; `$ ?% y        USART0_ReceiveFifo[USART0_ReceiveFifoEp_ZC] =  usart_data_receive(USART0);
8 }* l* K' F5 U* R- x: r        USART0_ReceiveFifoEp_ZC++;
7 }  f9 b- t7 l; b2 o        USART0_ReceiveFifoEp_SL++;
6 p1 v4 F0 e  \+ Q; U- i3 U        if(USART0_ReceiveFifoEp_ZC == USART0_ReceiveFifoSp_ZC)
& r* ]7 U# U/ f3 j9 Y. o        {
/ F% H3 ^! w" ^) F+ d            USART0_ReceiveFifoSp_ZC++;7 `1 |. x3 i+ k. T7 b: H
        }9 A: |! z0 h1 v1 W  x
    if(USART0_ReceiveFifoEp_SL == USART0_ReceiveFifoSp_SL)
$ C2 x. Q" J, y, K. {5 q        {+ T* ?( n1 g/ p/ G* i
            USART0_ReceiveFifoSp_SL++;6 ~) N7 L, o  w2 \3 J9 R) `
        }
5 V% _: K" i- O" }3 M" o        USART0_ReceiveFifotime_ZC = 0;    " E+ P6 C# @4 j$ k: S
        USART0_ReceiveFifoTime_SL = 0;   
* l  t% O0 l2 {" m) ~2 U( \    }
6 J8 v" ]% n8 p- _9 |0 j- b    if(usart_interrupt_flag_get(USART0,USART_INT_FLAG_TBE) != RESET)   
9 t* N# W4 d: y; i8 C2 l    {* k& l+ U& c$ @2 Z
        if(USART0_SendFifoSp != USART0_SendFifoEp)
9 Q; m% }; I* J. g( O9 L        {
, X% {- h5 Z3 s/ A            usart_data_transmit(USART0, USART0_SendFifo[USART0_SendFifoSp++]);
6 ?# t9 v/ r" R$ P        }
- T4 w; U; ?3 T1 D        if(USART0_SendFifoSp == USART0_SendFifoEp)+ M# g9 ]$ [8 U7 y3 [4 F
        {
' S% z7 k# b1 a            usart_interrupt_disable(USART0,USART_INT_TBE);& j$ F# U, ?4 Y+ g; v; Z$ {& Y
        }! k: J+ u0 r. O% s
    }. E2 t. j& s% M! y
} ' n0 X  L3 v* V# J- x2 p0 C, e: m) A: `
7 u2 T$ y3 P* q- e* ~7 x+ e3 d
uint8_t USART0_ReadFifo_ZC(uint8_t *Buff)
' x9 ~1 e* O7 y0 n4 y{
# x# E# H6 N  {5 ^# S    uint8_t Sp;$ \+ e4 b* J  j$ B" g
    uint8_t Ep;
; q) R3 H) K4 x. V" n    uint8_t Len = 0;
/ y$ \7 U- m- ~+ k) z1 N+ w    . j3 w4 C3 s, B/ s! w
    Sp = USART0_ReceiveFifoSp_ZC;  A) `* J# z1 p5 ^: {. g1 l
    Ep = USART0_ReceiveFifoEp_ZC;) a  i0 U; B! _' a, l
    while(Sp != Ep)9 g! R0 h0 K* Q) y
    {
- r  E" K9 P' |6 g; M        *Buff = USART0_ReceiveFifo[Sp++];* {4 Q/ ?% o  J) s% I8 r1 Z0 _
        Buff++;9 _* n' _$ ~8 q$ I8 q) t
        Len++;
) N2 ?1 K# _0 P+ y    }
" F" a8 e3 c7 I& a2 A    return(Len);
. W- P4 X! M- S- P' A( ?% F}
) D+ n- x- c, a7 [0 j, G7 y. u& q/******************************************************************************
& V' F8 v& ?( T6 C1 _% ~' N* u3 ]*******************************************************************************/
2 j) k0 O$ ]! u  ?void USART0_DeleteFifo_ZC(uint8_t Len)
" F$ P2 \, I. q" X% M/ C; l" {; Q{
; K7 |, ^1 Z2 C, K& O) E6 Q    if(Len)
0 q& }) j- O7 S# |    {
! H+ r! r! r0 C5 b& g        USART0_ReceiveFifoSp_ZC += Len;& y/ E! V4 O. }( l: T
    }+ ~- T; C- @1 P8 a' Y, }; _
    else" H4 I; V% h: l% g- e, {
    {
" u- b! A" y. I0 K* {9 G) ?% E        USART0_ReceiveFifoSp_ZC = USART0_ReceiveFifoEp_ZC;1 D7 C/ |. U6 S6 k
    }1 c2 _# i  Y) T! p# K- A* H# W
}% W/ d9 e) k& q

该用户从未签到

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

该用户从未签到

3#
发表于 2022-11-1 13:47 | 只看该作者
串口外设时钟是否正常打开
% k8 K/ }/ r- o7 G( {6 ]/ U接收使能以及接收中断是否打开

该用户从未签到

4#
发表于 2022-11-1 14:10 | 只看该作者
系统NVIC是否正确配置到对应的外设$ H$ a" i3 T5 V) R! D+ y0 n3 \
测试单片机引脚上的波形配合分析
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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