中级会员
- 积分
- 218
- 金钱
- 218
- 注册时间
- 2015-1-19
- 在线时间
- 28 小时
|
最近由于项目需要,要使用到STM8S103F3P6,不得不说STM8的库和32的风格兼容很好,但是KEIL用多了转到IAR还是不适应,IAR有一个鸡肋就是在windows7下面设置字体之后部分文件字体还是没有更改。 对开发来说,延时是必不可少的,尤其是精准延时,所以我用TIM4来封装精准ms级别延时,并且需要开定时器中断,但是一直不能进入中断,最后问题找到了,因为STM8模式中断是关的,所以必须用宏rim();开启 关闭全局是sim();
另外一个就是延时里面用到了while判断,如下:[mw_shl_code=c,true]void Delay_ms(uint32_t ms)
{
TIM4_SetCounter(0x00);
timebase = 0;
while(timebase<ms);
}[/mw_shl_code]
由于IAR默认代码优化是Medium,通过仿真发现即使while表达式不成立,还是会卡死,所以设置优先级别:
设置None也可以。
|
|