Häufig gestellte Fragen
- M051-Base-Serie(95)
- M0518-Serie(97)
- M0519-Serie(43)
- M0564-Serie(1)
- Mini51-Base-Serie(90)
- Nano100/102-Base-Serie(101)
- Nano103-Base-Serie(10)
- Nano110/112-LCD-Serie(100)
- Nano120-USB-Serie(111)
- Nano130-Advanced-Serie(110)
- NUC029-Serie(94)
- NUC100/200-Advanced-Serie(102)
- NUC120/122/123/220-USB-Serie(116)
- NUC121/125-Serie(1)
- NUC126-USB-Serie(2)
- NUC130/230-CAN-Serie(103)
- NUC131-NUC1311-CAN-Serie(98)
- NUC140/240-Konnektivität-Serie(114)
常见问答
在中断程序操作寄存器的时候,需要注意什么问题? 日期:2016-12-22
如果在进入中断程序前后,都要操作同一个寄存器的话,此时会有操作的先后问题。
以操作寄存器GPIOA_OUT为例:
GPIOA_OUT的不同bit控制不同的管脚输出,如GPIOA_OUT[0]控制PA.0的输出、GPIOA_OUT[1]控制PA.1的输出。如果在主程序要写0x1到GPIOA_OUT控制PA.0输出高电平时,进入中断程序。而在中断程序也要写0x2到GPIOA_OUT,控制PA.1输出高电平,此时GPIOA_OUT = 0x2。当退出中断程序回到主程序时,将会完成将0x1写到GPIOA_OUT的动作,使得GPIOA_OUT = 0x1,导致原先在中断程序要控制PA.1输出高电平的动作被覆盖,产生操作寄存器的先后问题。
为了避免中断程序和主程序同时操作寄存器的问题,可以在中断程序中设置一个标志,在主程序中判断这个标志再操作寄存器。
| 产品: | 微控制器 ,8 位 8051 微控制器 ,Arm Cortex-M0 微控制器 ,Arm Cortex-M4 微控制器 |
|---|---|
| 应用: | |
| 功能: | Peripherals,ARM,Interrupt,I/O,GPIO |