关于"中断可不可以自己嵌套自己?"的一个例子
来源: 芯艺工作室
本站广告
  ENC28J60+uIP DHCP动态获取IP及UDP广播服务端示例
  ENC28J60+uIP 基于TCP的MODBUS IO示例
  C720H5上实现MODBUS远程IO
  ENC28J60+uIP HTTP GET方式将温度数据上传到web服务器
  FM1702读写S50(也叫M1)卡相关资料

  下面是我做的一个串口接收中断自已嵌套自己的例子.

#include <avr/io.h>
#include <stdint.h>
#include <avr/interrupt.h>

//初始化
void uart_init(void)
{
  UBRRH=0;
  UBRRL=47;//9600 7.3728MHz  
  UCSRB=_BV(RXEN)|_BV(TXEN)|_BV(RXCIE);
}

//串行口写一字节
void uart_putc(uint8_t c)
{
  loop_until_bit_is_set(UCSRA,UDRE);
  UDR=c;
}

//串口接收中断
//void USART_RXC_vect(void) __attribute__((interrupt,__INTR_ATTRS));
//void USART_RXC_vect(void) //ISR(USART_RXC_vect)
ISR(USART_RXC_vect)
{
  uint8_t g=UDR;
  uart_putc(g);
  sei();
  while(1);
}

int main(void)
{
  uart_init();
  sei();
  while(1);
  return 0;
}

结果显示,可多(取决于堆栈)次返回发送的数据.
说明,中断是可以自己嵌套自己的.



声明:芯艺工作室(http://www.chipart.cn)保留所有权力,转载请注明出处!

芯艺工作室    蒙ICP备06005492号

Copyright© 2004-2020 ChipArt Studio All Rights Reserved