打印
[有奖问答]

盖楼送板子活动再次开始,目标楼层至5000层!详情请入内!

[复制链接]
楼主: 烈火狂龙
手机看帖
扫描二维码
随时随地手机跟帖
461
5、请问怎样开始STM32W108CBU64芯片的PB5引脚外设输入中断?

问:有没有这么一个例程,有开启外设中断和中断函数的?
最佳答案:看了下datasheet,PB5复用的功能为PB5, ADC0, TIM2CLK, TIM1MSK,相关的中断应该有,就看你配置为什么外设了。

使用特权

评论回复
462
lanseshuijing| | 2014-1-22 09:55 | 只看该作者
6、STM32F101 Tamper Pin 使用问题



问:请教各位大虾:STM32F101 BKP当中的Tamper Pin该如何初始化!?

答:当TPAL=0时:如果在启动侵入检测TAMPER引脚前(通过设置TPE位)该引脚已经为高电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现上升沿)。 ● 当TPAL=1时:如果在启动侵入检测引脚TAMPER前(通过设置TPE位)该引脚已经为低电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现下降沿)。 设置BKP_CSR寄存器的TPIE位为’1’,当检测到侵入事件时就会产生一个中断。 详见:BKP_CSR

使用特权

评论回复
463
lanseshuijing| | 2014-1-22 09:55 | 只看该作者
7、有关stm32f103 端口复用的问题?
问:
在学习GPIO时,遇到到端口复用问题一直不能明白,我举个例子:
PB6 PB7默认情况下是做普通IO使用的,当我想用I2C1是,我开启RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
当我要使用I2C1的重定义时,我要打开,
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
这样理解对不对?
有的人说当用的芯片自带的外设时都要打开 AFIO 时钟,但我用到usart1时没有打开AFIO 时钟,照样能用usart,这是为什么?
总之问这个问题的根本原因是AFIO的时钟要在什么情况下打开?
答:1、串口必须要打开AFIO时钟,不然不能工作。可能你的初始化函数、RCC配置中有开启的地方。 2、AFIO在你需要使用某一模块时,比如你想使用GPIOC,这个时候要打开GPIOC模块的时钟。 3、关闭I2C而不是关闭I2C模块的总线,如果你想使用普通模式,就要把I2C模块关闭以后,重新配置GPIOB模块,就可以正常使用了。

使用特权

评论回复
464
lanseshuijing| | 2014-1-22 09:56 | 只看该作者
8、stm32中GPIO口的最大输出速度如何理解?
问:stm32中GPIO口的最大输出速度如何理解?
答:1、是这样的,2M、10M和50M是指GPIO口的采样频率。不知这样理解对不对,我就是这样做的。
         2、我通过PB6采集80KBPS/S的方波,通过中断计采集,完全胜任。

使用特权

评论回复
465
lanseshuijing| | 2014-1-22 09:57 | 只看该作者
9、STM32 GPIO 弱上拉能做输入输出吗
问:STM32 GPIO 弱上拉能做输入输出吗?
答:32只有上拉输入,用在外部连接的是下路输出的,这样才能正确读取。输出的话一般用推挽和开漏,推挽用于一般的驱动,开漏一般加上拉电阻像三极管集电极那样驱动较大电流。

使用特权

评论回复
466
lanseshuijing| | 2014-1-22 09:58 | 只看该作者
10、GPIO配置速度
问:stm32中的GPIO如果设置成了输入模式,还需要配置GPIO_Speed么?
答:输入模式可以不用配置速度,但是输出模式必须确定最大输出频率。

使用特权

评论回复
467
lanseshuijing| | 2014-1-22 15:41 | 只看该作者
我来盖

使用特权

评论回复
468
woshansi| | 2014-1-30 14:28 | 只看该作者
貌似我又来晚了,5000楼已经封顶,看着别人的四轴飞行器,忧桑呀。。

使用特权

评论回复
469
woshansi| | 2014-1-30 14:41 | 只看该作者
不赖呦,貌似我可以继续盖楼,有可能得到楼主的奖励,有动力了

使用特权

评论回复
470
woshansi| | 2014-1-30 14:45 | 只看该作者
希望我这样来盖楼是可以的,下面的几十层楼我会努力的介绍一下我所知道的四轴飞行器的

其实四轴飞行器我是在新闻上面首次了解的(就像3d打印一样)

当时新闻上说是美国的一位老兄发明了一种新的飞行器,当时我一看,感觉很好玩,可是无奈当时我只是一个高中生(还是初中生我忘记了),没想到现在就可以自己来搞了(当时没有想到)

使用特权

评论回复
471
woshansi| | 2014-1-30 14:54 | 只看该作者
很多的同学可能是因为学校在作比赛的时候才知道的四轴飞行器,我们学校也参加了不少的比赛,其中也有挺多的就会四轴飞行器的
2012年的安徽省电子设计大赛,
2013年的安徽僧电子设计大赛都有飞行器的题目
在2012年的时候,我们学校的团队是从基础都是自己开始做的,包括基础的电机驱动驱动,主控的程序等
开始我们没有想得太多,只用了陀螺仪和加速度计,没有别的什么传感器(因为目标不是很高只要可以飞得起来就好了),
然后我们用298做的电机驱动(好大一个),可是用的时候发现效果不是多好于是就换了驱动芯片,使用的7960的电机控制芯片,
由于控制的是一个三相的无刷电机,所以自己的团队单独写了电调的程序(其实电调的程序写的时候已经快到了比赛结束了,我们的比赛共有3天左右的时间),最后才写的飞行的控制,可真是不好写,到最后也只能是勉强才可以飞得起来,当时好像画了4千多块钱吧,好在最后好像还拿到奖项了

使用特权

评论回复
472
woshansi| | 2014-1-30 15:03 | 只看该作者
2013年的那一次是另一组同学做的四轴飞行器,这年准备的比较的重复,因为之前有两组同学都对四轴飞行器做了准备,共买了大小7个飞行器作为学习器材,4个大的,3个小的(学校比较支持,所以钱都是学校出的),这次的比赛题目是要让飞行器自主飞行一定的高度,然后按照路线到达指定地点(具体的我忘记了),这个题目不算很简单,因为上一年飞起来都是一个难题。这一年我们的四轴飞行器小组一共有3个人,他们基本都是自己搞,老师提供方向性的指挥,于是这组的同学就悲哀了。在最后的时候,还好,比赛的时候好像是拿了一个一等奖,回来以后一个组员说写程序的时候想错了一点东西,不然的话,还可以飞的更好的。

使用特权

评论回复
473
woshansi| | 2014-1-30 15:13 | 只看该作者
除了这两次比赛,院里还有一个同学(这个同学曾经用筷子,链条,自行车飞轮,等东西做了一个遥控小车,虽然电路都是从遥控车上面卸下来的,但是小车做的很不错)申请了一个小的项目,就是四轴飞行器的,他前后自己搞了有大概一年的时间,开始的时候使用买的飞行控制板做的,然后用雕刻机吧电路板雕刻成飞行器的骨架,后来干脆就买现成的骨架,所有的电路板,模块,然后在自己搞。前不久飞行器成功飞天,效果不错(这个飞行器是大的那种,力度很大的,单个叶片有20厘米,整个飞行器有半米的直径还多)他的程序是从一个国外开发飞行器的网站上面下载的开源的代码,主控制器和别的传感器之间用的都是iic的链接,所以很节省端口,外面挂了好多的传感器,比如气压传感器(测量高度的),gps(全球定位的),加速度,陀螺仪,好像还有蓝牙,看到他的这个飞起来的玩意我很是羡慕呀,可是现在在家没法玩,希望这次盖楼成功,期待lz送我一个了

使用特权

评论回复
474
woshansi| | 2014-1-30 15:22 | 只看该作者
http://code.google.com/p/arducopter/wiki/ArduCopter2?wl=zh-Hans

http://www.multiwii.com/

这两个是外国的四轴飞行器的相关网站,开源的程序这里面也有,希望对大家有用处,现在拿出来给大家看
如果我能得到lz的发的板子,我会好好的玩的,看到楼主说飞行器能飞10分钟就很厉害了,我要试试

使用特权

评论回复
475
dacapoday| | 2014-1-30 15:30 | 只看该作者
看能不能dao

使用特权

评论回复
476
woshansi| | 2014-1-30 16:37 | 只看该作者
我感觉,四轴飞行器应该更多的放到可以实实在在的应用的地方去,比如四轴飞行器机器人的各种服务,一些探险勘测,美剧机械之心里面就有四轴飞行器的应用(虽然那个看上去不咋样,有点像前一段时间谷歌想推出的那种送货的四轴飞行器)但是也是一个应用的方面,其实还可以去测绘,比如探险队到了一新的环境,如果派人去勘测环境什么的比较危险,那就可以发一个飞行器去,用飞行器自带的各种测量仪器测绘环境,温度,适度,生物分布情况,各种气体的情况,有没有什么危险,还可以记录下3d的洞穴的形态,发到电脑里面建立洞穴的3d的模型,这样就不用让人类去冒险了,就像那部科幻电影普罗米修斯中的探测外星洞穴的机器人一样

使用特权

评论回复
477
woshansi| | 2014-1-30 16:51 | 只看该作者
很好,再盖上20到30层楼就可以得到奖励了,继续努力中,下面我介绍一下我调试直立车的经验(因为这个直立车和四轴飞行器都是用陀螺仪和加速度传感器作为主要的控制传感器的,用好了这两样东西才可以在控制中游刃有余)
加速度传感器有很多种,我只用过两种,都是模拟的传感器,分别是7361和7260,
7361和7260我用的都是那种引脚在芯片的下面的所以不是特别好焊接,我都是用热风枪去吹的(网上有高人直接用焊锡膏在焊接,速度很快,质量也不错,本人自叹不如),7361和7260都是模拟的及速度传感器,都是3轴的,xyz,输出的数值很好检测,用12位的ad可以做到挺高的精度,
但是7361不如7260好(个人是这样感觉的,而且7361比7260要便宜不少呢,几倍的价格),7361的稳定性不如7260,7361在同一个地方放的时间长了它的值就会变了,再有温度的改变数值的变化就会更大,我用的是12为的ad,在夏天早晚可以差100个点左右,但是7260就好多了,同样是12位的ad,7260变化最多20个点,不要小看这样的差距,它会引起作品的稳定性的变化,做的话,最好用稳定的

使用特权

评论回复
478
woshansi| | 2014-1-30 17:00 | 只看该作者
还差18楼就可以拿到飞行器了,努力

上面说了我用的两种加速度传感器,现在说说这个传感器的处理(也就是说说自己的理解,不对的地方大家多包涵),传感器采集到的值得毛刺是比较的多的,有可能会有突然地改变,这样的信号时不好的,所以要去滤波,那怎么滤波呢,我们都是用一个陀螺仪去做的。陀螺仪(以前我不是太理解这东西的原理,后来看天宫一号的女航天员的一堂课,突然想明白了它为啥可以保持原来的样子了)是个好东西,它可以很精确的告诉你它的晃动的情况:具体是这样的,如果陀螺仪一点也不晃动,陀螺仪的信号输出是一个稳定的电压值;如果陀螺仪采集信号的那个方向晃动太厉害,就会有不一样的信号,向前突然有个加速度,输出电压会突然增高(或降低),如果向后突然有个加速度,输出的电压值会突然降低(或者增高);这样就可以纠正加速度的一些输出的错误的数据了。

使用特权

评论回复
479
woshansi| | 2014-1-30 17:12 | 只看该作者
还差17楼,继续加油


上面说到陀螺仪可以纠正加速度的错误的数据,但是还没有说加速的的错误的数据的来源,现在来说。

先说说加速度传感器的结构,一般都是电容型的,内部有个微型滑块,滑块和传感器不同方向上的结构的距离是不同的。将这个内部的结构放大,就好像是一个正6面体(正方体)每个面上都有一个弹簧连接在面的正中间,然后这个六面体和弹簧被放在一个更大的六面体的里面,大六面体的里面和里面的小六面体用小弹簧相连接,小六面体比较重,所以当大的六面体在动的时候,小的六面体就会动。假设大的六面体的两个对面分别是A,B,小的六面体的两个和A,B相对的面分别是a,b,B是和地面接触的面,则b会距离B更近一点,B和b之间的弹簧会压缩,A和a之间的距离会变长,这样我们看不同的弹簧的长度就可以看出大的正方体所处的和地平面的角度,也就可以看出加速度了

使用特权

评论回复
480
woshansi| | 2014-1-30 17:22 | 只看该作者
还差16楼,继续加油(希望我这样盖楼,楼主不会剥夺我获得小四轴的机会)。

上楼说到,这个加速度传感器其实是靠内部的滑块的运动来测量加速度的,那么一旦传感器有一个向上的加速运动,那么其内部的滑块必然会有一个加速度,这样即使传感器的向上的加速的运动停止了,滑块的加速度产生的运动不会停止(这其实就是惯性的问题),这样加速度传感器就会出现一个虚假的偏差的数值,这个数值会会表现为一个毛刺。还有一种情况就是再加速度传感器匀速运动时突然加速,传感器会更不上,差生一个延迟,这也是传感器内部的滑块的惯性产生的。为了克服这些问题,我们才用的陀螺仪,因为陀螺仪就可以很好的解决这个突然晃动的问题,而且信号产生的会很及时,这样就可以在加速度模块哦没哟感觉到角度的变化的时候给个提醒和纠正,在加速度模块反应过度的时候给数值拉回更加接近实际值的数值

使用特权

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

本版积分规则