智能车制作

标题: 每次看资料都会有新的疑问!这次的更白痴,但是就是找不到答案。。。 [打印本页]

作者: 何俊    时间: 2013-11-28 14:44
标题: 每次看资料都会有新的疑问!这次的更白痴,但是就是找不到答案。。。
现在在看stm32的资料,关于单片机又有了几个疑问。1:  中断触发问题,如果开启上升沿触发,在数据传输的时候,比如说输入01010101,是不是每次1到0都会有中断?也       就是说数据传输的时候会有很多个中断产生,只是用到了自己需要的那个?
2:   关于extern的使用,extern是在别处定义的变量在此处使用时要加的,比如说在a.c中定义的int aa;在b.c中使用aa变      量,要extern int aa;那如果我在b.c的开始#include〈a.h〉,是否还需要加extern?
求耐心的小伙伴们解释。。。百度找不到答案

作者: Jyoun    时间: 2013-11-28 15:27
1,如果你用的上升沿,你给你的中断口信号是01010101,则有4个上升沿,则有四个中断。
2,include有点像复制粘贴的意思,应该是不用吧,你试试不就知道了。
作者: 何俊    时间: 2013-11-28 15:32
Jyoun 发表于 2013-11-28 15:27
1,如果你用的上升沿,你给你的中断口信号是01010101,则有4个上升沿,则有四个中断。
2,include有点像复 ...

假设给io口配置了时钟并使能中断了,同时也用了这个io口传输数据,那在传输的过程中不就产生了许多我不需要的中断?(数据本身触发了中断)
作者: 林JJ    时间: 2013-11-28 15:46
何俊 发表于 2013-11-28 15:32
假设给io口配置了时钟并使能中断了,同时也用了这个io口传输数据,那在传输的过程中不就产生了许多我不需 ...

一个IO口可以同时做这么多事吗?

作者: 凌心    时间: 2013-11-28 18:28
传数据时关掉中断不就行了。
作者: 何俊    时间: 2013-11-28 19:53
林JJ 发表于 2013-11-28 15:46
一个IO口可以同时做这么多事吗?

。。。确实不能,果然还是我想多了。

作者: guolei123    时间: 2013-11-28 20:04
第二个,其实在a.h中已经声明了extern的变量,那么在使用的时候不需要加extern了,但是在使用的时候需要再次声明,而且关于这个不同的编译器处理的不一样,IAR在出现这种情况的时候要求必须再次声明(不加extern),但是Codewarrior的时候就不需要再次声明了,貌似不同的编译器使用的标准不同
作者: 林JJ    时间: 2013-11-28 21:32
何俊 发表于 2013-11-28 19:53
。。。确实不能,果然还是我想多了。

有想法才会有创新。

作者: 凤羽    时间: 2013-11-29 00:48
第一个问题楼上有解释,第二个问题一般在头文件里面extern一下,其他地方即可以不用extern了,但是还跟编译器有关系。我现在接触到的,这样做都没有问题.
作者: 笔尖世界    时间: 2013-11-29 01:36

作者: dapan945    时间: 2013-11-29 12:45

作者: yy_tmbh    时间: 2013-11-29 13:01

作者: 小橙子    时间: 2013-11-29 17:53
受教~




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2