OpenEdv-开源电子网

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

有人使用正点原子的三个系统文件用C++编写过STM32程序吗,我把sys.h,usart.h,dalay.h改成.cpp格式后,发现中断进不去

[复制链接]

6

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-5-16
在线时间
17 小时
发表于 2018-4-17 18:09:53 | 显示全部楼层 |阅读模式
30金钱

最佳答案

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

我找到方法了,在中断函数前面加上 extern "C",就可以用了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-5-16
在线时间
17 小时
 楼主| 发表于 2018-4-17 18:09:54 | 显示全部楼层
哈哈哈哈 发表于 2018-4-17 18:30
我曾经试过,然而也是进不了中断,具体表现为:只开LED没有问题,用system tick定时器中断方式延时就卡死了

我找到方法了,在中断函数前面加上 extern "C",就可以用了
回复

使用道具 举报

11

主题

108

帖子

0

精华

高级会员

Rank: 4

积分
629
金钱
629
注册时间
2016-2-5
在线时间
100 小时
发表于 2018-4-17 18:30:45 | 显示全部楼层
我曾经试过,然而也是进不了中断,具体表现为:只开LED没有问题,用system tick定时器中断方式延时就卡死了
回复

使用道具 举报

6

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-5-16
在线时间
17 小时
 楼主| 发表于 2018-4-17 18:47:23 | 显示全部楼层
哈哈哈哈 发表于 2018-4-17 18:30
我曾经试过,然而也是进不了中断,具体表现为:只开LED没有问题,用system tick定时器中断方式延时就卡死了


最后解决了吗
回复

使用道具 举报

0

主题

26

帖子

0

精华

高级会员

Rank: 4

积分
582
金钱
582
注册时间
2018-4-16
在线时间
107 小时
发表于 2018-4-17 21:22:09 | 显示全部楼层
这个问题好像是c++为了函数重载 而在编译的过程中把所有的函数名全部改了 这样的话 中断函数的名就是错了 这样的问题同样也出现于 c文件程序调用cpp文件程序的情况
回复

使用道具 举报

11

主题

108

帖子

0

精华

高级会员

Rank: 4

积分
629
金钱
629
注册时间
2016-2-5
在线时间
100 小时
发表于 2018-6-16 21:50:16 | 显示全部楼层
使用了大佬的extern "C",问题解决了
回复

使用道具 举报

3

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2017-9-6
在线时间
45 小时
发表于 2018-7-27 11:21:47 | 显示全部楼层
原来工程不需要改的,直接添加CPP文件,写个C++函数作为C++世界的入口,main函数调用就行了,C调用C++也需要为C++函数声明extern “C”否则提示未定义符号,原因如5楼
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 22:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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