STM32 串口中断方式例程

时间:2015-08-22 04:55:11
【文件属性】:

文件名称:STM32 串口中断方式例程

文件大小:459KB

文件格式:RAR

更新时间:2015-08-22 04:55:11

STM32 串口

STM32 串口中断方式例程 /*---------------------------------------------------------------------------- USART1_IRQHandler Handles USART1 global interrupt request. *----------------------------------------------------------------------------*/ void USART1_IRQHandler (void) { volatile unsigned int IIR; struct buf_st *p; IIR = USART1->SR; if (IIR & USART_FLAG_RXNE) { // read interrupt USART1->SR &= ~USART_FLAG_RXNE; // clear interrupt p = &rbuf; if (((p->in - p->out) & ~(RBUF_SIZE-1)) == 0) { p->buf [p->in & (RBUF_SIZE-1)] = (USART1->DR & 0x1FF); p->in++; } } if (IIR & USART_FLAG_TXE) { USART1->SR &= ~USART_FLAG_TXE; // clear interrupt p = &tbuf; if (p->in != p->out) { USART1->DR = (p->buf [p->out & (TBUF_SIZE-1)] & 0x1FF); p->out++; tx_restart = 0; } else { tx_restart = 1; USART1->CR1 &= ~USART_FLAG_TXE; // disable TX interrupt if nothing to send } } }


【文件预览】:
实验6-USART_Irq串口中断方式
----说明.txt(178B)
----Usart_Opt.Bak(3KB)
----Usart.Opt(4KB)
----STM32F10x.s(11KB)
----Abstract.txt(881B)
----STM32_Init.c(302KB)
----JLinkLog.txt(257KB)
----Usart_RAM.dep(6KB)
----STM32_Init.c.bak(302KB)
----STM32_Init.h(1KB)
----Usart.Uv2(7KB)
----out()
--------LstRAM()
--------ObjSim()
--------LstFlash()
--------LstSim()
--------ObjFlash()
--------ObjRAM()
----Usart.c(6KB)
----Usart_Uv2.Bak(7KB)
----RAM.ini(1KB)
----STM32_Reg.h(8KB)
----Retarget.c(2KB)
----Usart_FLASH.dep(6KB)

网友评论

  • 程序不错,可以借鉴
  • 非常好! stm32,keil工程。串口中断处理,有代表性。收和发都中断方式,包含printf等库函数重定向。