下式给出: http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_XC8_C_Compiler_User_Guide.pdf XC8' ei(); //启用全局中断
XC8' s di(); //禁用全局中断
和
AVR' si()http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_SEI.html
AVR' s cli()http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_CLI.html
然后可以说ei()== sei()&& di()== cli()并且可以在切换平台时互换使用?
答案 0 :(得分:2)
这是关于两个芯片上的中断系统的一般说法。它们在很多方面都有很大不同。
那就是说,是的,宏设置并清除状态寄存器中的一个位,因此宏的运行方式相同。
答案 1 :(得分:0)
如何通过XC8为Atmega设置中断?我读 MPLAB_XC8_C_Compiler_User_Guide_for_AVR。
下面是一个中断功能的例子。
void __interrupt(SPI_STC_vect_num) spi_Isr(void) {
//I coment this: process(SPI_SlaveReceive());
return;
}
错误
../main.c:10:18: error: expected declaration specifiers or '...' before numeric constant
from ../main.h:3,
void __interrupt(SPI_STC_vect_num) spi_Isr(void) {