
STM8 STVD Ver: 4.3.12 STM8S103早期开发的一款程序,时不时莫名其妙的错误。经不同编译器,发现@svlreg missing错误。 @far @interrupt void TIME2_UIS (void) 编译错误: error clink Debug\abc.lkf:1 @svlreg missing for function f_TIME2_UIS但是添加 @svlreg 后: @far @interrupt @svlreg void TIME2_UIS (void) 编译通过。 请问专家: @svlreg的出处,或者来自官方的好个文档?没有官方说明,无法解释。谢谢 |
STM8S003无法检测到引脚电平
STM8AF62XX+L99PM62GXP LIN通讯的电路原理图有吗?官网提供了一套软件,没找到对应的原理图,请大家指教一下
求一个STM8S207例程
初次接触STM8,请问在STVD中,为什么这个Struct会报错
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
如何使用ST官网例程_LIN总线通讯_STM8AF
重点关注下你那些中断函数的写法,针对不同编译器,写法可能也不一样。这些信息在stm8s.h里都有介绍,当然终究都是
为了匹配STM8内部的存储架构和寻址特性等。
#ifdef _COSMIC_
#define FAR @far
#define NEAR @near
#define TINY @tiny
#define EEPROM @eeprom
#define CONST const
......
#else /*_IAR_*/
#define FAR __far
#define NEAR __near
#define TINY __tiny
#define EEPROM __eeprom
#define CONST const
#endif /* __CSMC__ */
/*============================== Interrupt vector Handling ========================*/
#ifdef _COSMIC_
#define INTERRUPT_HANDLER(a,b) @far @interrupt void a(void)
#define INTERRUPT_HANDLER_TRAP(a) void @far @interrupt a(void)
#endif /* _COSMIC_ */
#ifdef _RAISONANCE_
#define INTERRUPT_HANDLER(a,b) void a(void) interrupt b
#define INTERRUPT_HANDLER_TRAP(a) void a(void) trap
#endif /* _RAISONANCE_ */
#ifdef _IAR_
#define STRINGVECTOR(x) #x
#define VECTOR_ID(x) STRINGVECTOR( vector = (x) )
#define INTERRUPT_HANDLER( a, b ) \
_Pragma( VECTOR_ID( (b)+2 ) ) \
__interrupt void (a)( void )
#define INTERRUPT_HANDLER_TRAP(a) \
_Pragma( VECTOR_ID( 1 ) ) \
__interrupt void (a) (void)
#endif /* _IAR_ */
/*============================== Interrupt Handler declaration ========================*/
#ifdef _COSMIC_
#define INTERRUPT @far @interrupt
#elif defined(_IAR_)
#define INTERRUPT __interrupt
#endif /* _COSMIC_ */
/*============================== Handling bits ====================================*/
这些关键字要匹配着编译器来写。