OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2967|回复: 2

STVD + COSMIC出现一个奇怪的问题

[复制链接]

46

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2014-12-26
在线时间
117 小时
发表于 2017-12-1 10:13:12 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 xiong2088 于 2017-12-1 10:42 编辑

单片机是stm8s103k,STVD只设置了与COSMIC的关联(TOOLS->Options ->Toolset,Toolset选择STM8S Cosmic,并设置相关路径),其他都是默认设置。中断的文件名也是原来的stm8_interrupt_vector,开始代码编译很正常,有3个中断程序:1、串口接受,2、ADC转换完成,3、TIM4 的1ms溢出中断。这些写完后,编译没有错误。我想在TIM4中断中加一个变量,类似STM32F0、F1中的滴答定时器,用于延时。于是把代码复制过来如下:
在timer.h中:如图1;在timer.c中,写了延时函数,如:图2。在TIM4中断函数中写了:if (sysTimer)        sysTimer--;问题就出在这句上,只要注释掉这句代码,编译没有问题,不注释就出现以下错误:

Running Linker
clnk -l"C:\Program Files (x86)\COSMIC\CXSTM8\Lib"  -o Debug\dc-adc.sm8 -mDebug\dc-adc.map Debug\dc-adc.lkf
#error clnk Debug\dc-adc.lkf:1 symbol c_lgsbc not defined (Debug\stm8_interrupt_vector.o )
The command: "clnk -l"C:\Program Files (x86)\COSMIC\CXSTM8\Lib"  -o Debug\dc-adc.sm8 -mDebug\dc-adc.map Debug\dc-adc.lkf " has failed, the returned value is: 1
exit code=1.

dc-adc.elf - 3 error(s), 0 warning(s)


弄了好久也没弄好,求大神指点!!

360截图20171201100222765.jpg 图1

360截图20171201100957824.jpg 图2

360截图20171201101027462.jpg 图3

最佳答案

查看完整内容[请看2#楼]

很奇怪,把中断函数放到stm8s_it.c中,只在stm8_interrupt_vector.c中申明,编译就可以通过,不申明也可以通过,越搞越糊涂了。 stm8_interrupt_vector.c中可以包含头文件吗?应该可以吧???
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

46

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
255
金钱
255
注册时间
2014-12-26
在线时间
117 小时
 楼主| 发表于 2017-12-1 10:13:13 | 显示全部楼层
很奇怪,把中断函数放到stm8s_it.c中,只在stm8_interrupt_vector.c中申明,编译就可以通过,不申明也可以通过,越搞越糊涂了。
stm8_interrupt_vector.c中可以包含头文件吗?应该可以吧???
回复

使用道具 举报

29

主题

486

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3083
金钱
3083
注册时间
2014-7-19
在线时间
413 小时
发表于 2017-12-1 17:30:08 | 显示全部楼层
不会ST的这个开发工具  我都是用IAR for STM8,省去很多麻烦事,跟32差不多!
电子人生!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 19:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表