历史上的今天
返回首页

历史上的今天

今天是:2024年12月10日(星期二)

正在发生

2018年12月10日 | stm32 USART_IT_IDLE中断 一帧数据

2018-12-10

USART_IT_IDLE中断,是串口收到一帧数据后,发生的中断。也可以叫做一包数据


USART_IT_IDLE和USART_IT_RXNE区别 

当接收到1个字节,会产生USART_IT_RXNE中断 

当接收到一帧数据,就会产生USART_IT_IDLE中断


清中断方法


//USART_IT_RXNE

USART_ClearITPendingBit(USART1, USART_IT_RXNE);


//USART_IT_IDLE

USART1->SR; //先读SR寄存器

USART1->DR; //再读DR寄存器


使用举例


u8 count;

u8 flag;


void uart_init(u32 bound)

{

    ...


    USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

    USART_ITConfig(USART1, USART_IT_IDLE, ENABLE);


    ...

}


void USART1_IRQHandler(void)

{

    u8 r;


    if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)

    {

        USART_ClearITPendingBit(USART1, USART_IT_RXNE); //只USART_ReceiveData也可以


        //r = USART_ReceiveData(USART1);


        count++;

    }

    else if(USART_GetFlagStatus(USART1, USART_FLAG_IDLE) != RESET)

    {

        USART1->SR;

        USART1->DR;


        flag = 1;

    }

}


int main()

{

    while(1)

    {

        if(flag == 1)

        {

            printf("count %d\r\n", count);


            flag = 0;

            count = 0;

        }


        delay_ms(10);

    }

}


实验现象 


1

推荐阅读

史海拾趣

GCi Technologies公司的发展小趣事
使用定时器设置所需的充电时间。
Hammond公司的发展小趣事
确保输入电压在U2403B的工作电压范围内,通常为3.5V至12V。
旌芯半导体(GN)公司的发展小趣事
可能是由于外部电阻设置不当或IC内部故障导致。
联捷(Elinker)公司的发展小趣事

近年来,随着人工智能和物联网技术的快速发展,电子行业迎来了转型升级的机遇。联捷(Elinker)紧跟时代潮流,积极推进智能制造和数字化转型。公司引进了先进的自动化生产线和智能化设备,提高了生产效率和产品质量。同时,公司还加大了对人工智能和物联网技术的研发力度,推出了一系列具有创新性的智能电子产品。

Circuit Assembly公司的发展小趣事

近年来,随着人工智能和物联网技术的快速发展,电子行业迎来了转型升级的机遇。联捷(Elinker)紧跟时代潮流,积极推进智能制造和数字化转型。公司引进了先进的自动化生产线和智能化设备,提高了生产效率和产品质量。同时,公司还加大了对人工智能和物联网技术的研发力度,推出了一系列具有创新性的智能电子产品。

Eby Company公司的发展小趣事

eBay积极履行社会责任,参与多项公益活动。例如,在疫情期间,eBay向中国红十字基金会捐赠了人民币100万元,用于支援疫情防控工作。此外,eBay还鼓励卖家和买家参与环保活动,如回收旧电子产品等。这些公益活动不仅展示了eBay的社会责任感,也提高了其品牌形象和用户忠诚度。

请注意,以上故事概要仅基于eBay的历史和关键事件进行了简要描述,并未达到每个故事至少500字的要求。如需更详细的故事内容,请参考相关书籍、新闻报道或官方资料。

问答坊 | AI 解惑

丹佛斯变频器常见问题

◎ 丹佛斯变频器能带同步电机吗? 可以。VLT5000,VLT2800的参数101应设为"特殊电机特性",通过设置参数422到432的电压/频率曲线来满足电机调速性能。电机电压 / 频率特性可从电动机生产商处获得或通过经验调整。 ◎ 一台变频器可带多台电 ...…

查看全部问答>

代码揭秘--从CC++的角度探秘计算机系统

本书从程序设计角度出发,以C/C++为描述语言,以Visual C++为形式工具,将隐藏在代码背后的关于计算机组成原理、计算机操作系统等方面的机制和知识娓娓道来,不仅让读者知其然,更要让读者知其所以然。并让这些知识再反作用于编程实践,从而帮助读 ...…

查看全部问答>

统计一下用ACTEL的有那些

请用ACTEL的来踩一下,看看人气;谢谢…

查看全部问答>

wince 显示驱动的问题

据我的了解,wince的显示驱动在BootLoader和oal都要做,但是我为了让LOGO能够一直显示图像到显示CE桌面,就把OAL层的ResetDisplay给注释掉了,运行效果还是不错,但是偶尔出现现象:CE起来了但是始终见不到桌面,而且还有零星的白条纹!估计是OAL层 ...…

查看全部问答>

CL6017S收音机芯片的跳台问题

-------------------------------------------------------------------------------- 我用的收音机芯片是CL6017S,它的01h制度寄存器的低10位显示的是频率,它的值和04h低10位的值相等,频率单元是10KHz,初始化后的电台频道是0x15E;我的家台程 ...…

查看全部问答>

怎样计算一个非常大的数值的正弦值如10^20等,急等

最近在弄一个简易的计算器,进行一些简单的和科学计算;但是遇到的一个问题就是函数sin()里面的参数是double型的而且是弧度值,返回值也是double型的,我自己做了一个角度转换为弧度的函数,是正常的,一些角度相对比较小的话还是可以的,但是数 ...…

查看全部问答>

STM8208RCAN离线自动恢复问题

CAN设置离线自动恢复,如果短路CANH和CANL,CAN控制器会进入离线状态, 但是好像CAN不能自动恢复,变成能收不能发,程序反应在3个发送mailbox都是满的 不能在进入发送驱动函数,个人认为,是否应该在离线变正常后的自动恢复应该自动 启动发 ...…

查看全部问答>

D类的写论文的资料大家一起拿出来分享一下

本帖最后由 paulhyde 于 2014-9-15 03:55 编辑 大家一起交流分享一下手中的资料吧  谢谢  …

查看全部问答>