打印
[其它应用]

不知道C语言里入口地址怎么设置

[复制链接]
1309|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songqian17|  楼主 | 2017-5-25 23:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我以前用的是汇编,汇编在程序前面都有一段设置入口地址的语句(包括中断的入口)。不知道C语言里入口地址怎么设置,请各位高手能指教一二,最好能提供例程说明。先谢谢了!
沙发
bqyj| | 2017-5-25 23:37 | 只看该作者
C语言,不需要你设置入口地址,编译系统自动处理的。

使用特权

评论回复
板凳
songqian17|  楼主 | 2017-5-25 23:39 | 只看该作者
你好,先谢谢指教!主函数都是调用子函数来实现,这个好理解。但是这个多个中断函数,如果没有入口地址设置,怎么就能自己找到对应的中断函数,还请再提示。谢谢!

使用特权

评论回复
地板
gongche| | 2017-5-25 23:42 | 只看该作者
中断函数有中断号,这个中断号和入口地址是固定的。

使用特权

评论回复
5
huwr| | 2017-5-25 23:43 | 只看该作者
比如:
void t1_int() interrupt 3
interrupt表示这是中断函数,3是中断号。
具体你看看编译器和C51的书籍。

使用特权

评论回复
6
huwr| | 2017-5-25 23:45 | 只看该作者

这些都是基本东西,找本C51程序设计的书籍看看就懂了。

使用特权

评论回复
7
songqian17|  楼主 | 2017-5-25 23:49 | 只看该作者

谢谢!东西虽然基础却关键,设置不好不能进中断。之前看的资料没有这方面的内容,我好好看看。谢谢

使用特权

评论回复
8
wenfen| | 2017-5-25 23:52 | 只看该作者
设置中断的设定的值不能错,这个也是容易忽视的。

使用特权

评论回复
9
songqian17|  楼主 | 2017-5-25 23:53 | 只看该作者
嗯,预料中的结果,先结贴吧,多谢大家啦

使用特权

评论回复
10
qhdjxy| | 2017-5-26 12:39 | 只看该作者
songqian17 发表于 2017-5-25 23:53
嗯,预料中的结果,先结贴吧,多谢大家啦

不同的单片机设置会有不同。比如AVR要求中断程序:ISR(中断向量名)

使用特权

评论回复
11
whtwhtw| | 2017-5-26 16:51 | 只看该作者
汇编用多了对c就了解的不够,c中有启动文件和库文件,对入口地址和中断地址都设置好了,入口就不说了,执行main函数之前已经自动执行了入口的SP,PC加载,不用用户自己更改。中断函数直接调用中断函数名就行了(或者需要加中断号,与编译器有关),中断函数或者中断号在库中都定义好地址了。

使用特权

评论回复
12
whtwhtw| | 2017-5-26 16:56 | 只看该作者
c语言虽然在启动文件和库中定义了地址,其实用的时候跟操作地址没多大区别。如果用arm系统,操作硬件库的时候根本不与地址打交道楼主是不是就更晕了。再加一层API呢?再加一层系统呢。。。。。。活到老学到老,且学且珍惜。
老工程师都是这样被淘汰的

使用特权

评论回复
13
littler| | 2017-5-28 20:29 | 只看该作者
确实编译器做了很多底层的事情
活到老学到老,人生苦短啊

使用特权

评论回复
14
skawu| | 2017-6-5 16:09 | 只看该作者
看的我只用C的一脸懵逼

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

463

主题

5749

帖子

1

粉丝