|
原贴 http://www.amobbs.com/thread-5637258-2-1.html
程序见132楼。感谢楼主的分享。
因为楼主是用IAR for STM8 ,所以试着移至STVD平台。 发现有以下几点
1 定义新的数据型 在IAR中是这样的
typedef enum
{
NUM_MONTH = 0,
NUM_DAY_H,
NUM_DAY_L,
NUM_HOUR,
NUM_MIN_H,
NUM_MIN_L,
NUM_MAIN_H,
NUM_MAIN_M,
NUM_MAIN_L,
NUM_SUB_H,
NUM_SUB_M,
NUM_SUB_L,
} LCD_NUM_Typedef;
在STVD的或许要去掉大括号里面的最后一个逗号。以前从没用过typedef enum ,哪位大神解释一下,学习学习。
2 STVD中或许会自动生成一个中断向量表 stm8_interrupt_vector.c 这个文件中的的中断函数名称与 stm8l15x_it.c 中的名称不一致,需要修改一致。
3 stm8l15x.h文件中需要加入这句
#define STM8L15X_MDP
否则错误提示#error "Please select first the target STM8L device used in your application (in stm8l15x.h file)" ,先去掉这个文件的只读属性,然后加上这句。
4 STVD中不能这么用
void function(void)
{
for(unsigned char i=0;i<5;i++)
{
}
}
会提示变量i未定义, 改成
void function(void)
{
unsigned char i;
for( i=0;i<5;i++)
{
}
}
5 有一个计算星期的函数提示重修饰了,需要注释掉那一行。
6 一个疑问, 把外设库中的所有*.h *.c加入到工程后,编译要费好长时间,其实里面好多函数都没有调用过,不知这么编译有没有生成实质代码占用程序ROM空间? 在IAR中编译非常快。
上传的STVD工程,[对温度检测的频率原是2秒一次,改为N秒一次] 未测试,欢迎对比测试。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|