stm32两个晶振单片机晶振怎么防EFT抗干扰性

STM32+l两个74HC595控制16个LED,程序该如何写? - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
STM32+l两个74HC595控制16个LED,程序该如何写?
15:38:34  
11812&查看
请问主函数该怎么操作,求各路大神
(46.45 KB, 下载次数: 75)
15:37 上传
(14.31 KB, 下载次数: 43)
15:37 上传
15:38 上传
点击文件名下载附件
下载积分: 积分 -1 分
649.85 KB, 下载次数: 704, 下载积分: 积分 -1 分
15:40:42  
我是初学者,麻烦各位高手帮帮忙
16:13:20  
看看{:20:}{:20:}{:20:}{:20:}
22:32:17  
先将HC595函数写好,写好后直接调用,HC595的三个信号要接到你的IO口上,然后你的LED灯也要接到你的IO口上,
需要写的函数有:GPIO_init(),HC595_init(),systick定时,然后你可以在mail写HC595发送数据函数
您的付出是论坛的动力,感谢您一直支持!.
19:30:04  
LZ很好.赞一个额
17:45:53  
下载文件里缺少调用的595文件
21:33:54  
级联的话,发送数据发16位,没有级联的话两个分别发8位。
18:55:11  
#include&&&drivehc595.h&
#include&&&delay.h&
//*****************************************
/*u???????uAE*/
void Drive_Hc595(u32 dat_status, u16 ledstatus)
& & u32 i,tmp32;
& & u16 tmp16;
& & RCK_L();
& & for(i=0;i&32;i++)
& && &&&SCK_L();
& && &&&Delay(0x10);
& && &&&tmp32 = (dat_status & 0x);
& && &&&if(tmp32) { DAT_OUT_H(); }
& && &&&else& && &{ DAT_OUT_L(); }
& && &&&Delay(0x10);
& && &&&SCK_H();
& && &&&Delay(0x10);
& && &&&dat_status &&= 1;
& & Delay(0x10);
& & for(i=0;i&16;i++)
& && &&&SCK_L();
& && &&&Delay(0x10);
& && &&&tmp16 = (ledstatus & 0x8000);
& && &&&if(tmp16) { DAT_OUT_H(); }
& && &&&else& && &{ DAT_OUT_L(); }
& && &&&Delay(0x10);
& && &&&SCK_H();
& && &&&Delay(0x10);
& && &&&ledstatus &&= 1;
& & Delay(0x10);
& & RCK_H();
& & Delay(0x10);
& & SCK_L();
& & RCK_L();
& & DAT_OUT_L();
// ????HC595u??? 1/2 ???? 1/4 >>?
void Init_HC595_GPIO(void)
& & GPIO_InitTypeDef& &GPIO_InitS
& & RCC_APB2PeriphClockCmd(RCC_GPIO_HC595, ENABLE); /*????HC595????u?GPIO?±??*/
& & GPIO_InitStructure.GPIO_Pin = DAT_PIN | SCK_PIN | RCK_PIN;
& & GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
& & GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
& & GPIO_Init(GPIO_HC595_PORT, &GPIO_InitStructure);
& & RCK_L();
& & SCK_L();
& & DAT_OUT_L();
////////////
#ifndef __DRIVEHC595_H
#define __DRIVEHC595_H
#include&&&sys.h&
////////////////////////////////////////////////////////
#define& & RCC_GPIO_HC595& && &&&RCC_APB2Periph_GPIOF&&//HC595????u?GPIO?±??
#define& & GPIO_HC595_PORT& && & GPIOF& && && && && &&&// HC595 ?????? 1/2 ??ù??u?????
#define& & SCK_PIN& && && && && &GPIO_Pin_13& && && &&&//HC595 ?AE?>>?????? 1/2 ?
#define& & pinSCK& && && && && & PIN13
#define& & RCK_PIN& && && && && &GPIO_Pin_12& && && &&&//HC595 ???ae?????? 1/2 ?
#define& & pinRCK& && && && && & PIN12
#define& & DAT_PIN& && && && && &GPIO_Pin_11& && && &&&//HC595 ?? 3/4 ??????? 1/2 ?
#define& & pinDAT& && && && && & PIN11
////////////////////////////////////////////////////////
#define& & SCK_H()& && && && && &PFout(pinSCK)=1
#define& & SCK_L()& && && && && &PFout(pinSCK)=0
#define& & SCK_XOR()& && && && & PFout(pinSCK)=!PFout(pinSCK)
#define& & RCK_H()& && && && && &PFout(pinRCK)=1
#define& & RCK_L()& && && && && &PFout(pinRCK)=0
#define& & RCK_XOR()& && && && & PFout(pinRCK)=!PFout(pinRCK)
#define& & DAT_OUT_H()& && && &&&PFout(pinDAT)=1
#define& & DAT_OUT_L()& && && &&&PFout(pinDAT)=0
////////////////////////////////////////////////////////
void&&Drive_Hc595(u32 dat_status, u16 ledstatus);
void&&Init_HC595_GPIO(void);
//////////////////
#ifndef __SYS_H
#define __SYS_H
#include &stm32f10x.h&
//////////////////////////////////////////////////////////////////////////////////
typedef enum
& & FALSE = 0,
& & TRUE& &&&,
typedef enum
& & OFF = 0,
& & ON& &&&,
typedef enum{
& & MODE_INPUT& &&&= 0x0,
& & MODE_OUT_10MHz = 0x01,
& & MODE_OUT_2MHz&&= 0x02,
& & MODE_OUT_50MHz = 0x03,
typedef enum{
& & ANALOG_INPUT& &= 0x00,
& & FLOATING_INPUT = 0x04,
& & UP_DOWN_INPUT&&= 0x08,
& & REVERSE_INPUT&&= 0x0c,
}InputMode_InM
typedef enum{
& & PP_OUTPUT& && &= 0,
& & OD_OUTPUT& && &= 0x04,
& & AFIO_PP_OUTPUT = 0x08,
& & AFIO_OD_OUTPUT = 0x0c,
}OutputMode_OutM
//////////////////////////////////////////////////////////////////////////////////
#define& & PIN0& && &0
#define& & PIN1& && &1
#define& & PIN2& && &2
#define& & PIN3& && &3
#define& & PIN4& && &4
#define& & PIN5& && &5
#define& & PIN6& && &6
#define& & PIN7& && &7
#define& & PIN8& && &8
#define& & PIN9& && &9
#define& & PIN10& &&&10
#define& & PIN11& &&&11
#define& & PIN12& &&&12
#define& & PIN13& &&&13
#define& & PIN14& &&&14
#define& & PIN15& &&&15
//////////////////////////////////////////////////////////////////////////////////& & & &&&
#define BITBAND(addr, bitnum) ((addr & 0xFx2000000+((addr &0xFFFFF)&&5)+(bitnum&&2))
#define MEM_ADDR(addr)&&*((volatile unsigned long&&*)(addr))
#define BIT_ADDR(addr, bitnum)& &MEM_ADDR(BITBAND(addr, bitnum))
//IO??u??·????
#define GPIOA_ODR_Addr& & (GPIOA_BASE+12) //0x4001080C
#define GPIOB_ODR_Addr& & (GPIOB_BASE+12) //0x40010C0C
#define GPIOC_ODR_Addr& & (GPIOC_BASE+12) //0x4001100C
#define GPIOD_ODR_Addr& & (GPIOD_BASE+12) //0x4001140C
#define GPIOE_ODR_Addr& & (GPIOE_BASE+12) //0x4001180C
#define GPIOF_ODR_Addr& & (GPIOF_BASE+12) //0x40011A0C& &
#define GPIOG_ODR_Addr& & (GPIOG_BASE+12) //0x40011E0C& &
#define GPIOA_IDR_Addr& & (GPIOA_BASE+8) //0x
#define GPIOB_IDR_Addr& & (GPIOB_BASE+8) //0x40010C08
#define GPIOC_IDR_Addr& & (GPIOC_BASE+8) //0x
#define GPIOD_IDR_Addr& & (GPIOD_BASE+8) //0x
#define GPIOE_IDR_Addr& & (GPIOE_BASE+8) //0x
#define GPIOF_IDR_Addr& & (GPIOF_BASE+8) //0x40011A08
#define GPIOG_IDR_Addr& & (GPIOG_BASE+8) //0x40011E08
//////////////////////////////////////////////////////////////////
//IO????×÷,?>>??u??>>u?IO??!
//?·±?nu??u????16!
#define PAout(n)& &BIT_ADDR(GPIOA_ODR_Addr,n)&&//????
#define PAin(n)& & BIT_ADDR(GPIOA_IDR_Addr,n)&&//????
#define PBout(n)& &BIT_ADDR(GPIOB_ODR_Addr,n)&&//????
#define PBin(n)& & BIT_ADDR(GPIOB_IDR_Addr,n)&&//????
#define PCout(n)& &BIT_ADDR(GPIOC_ODR_Addr,n)&&//????
#define PCin(n)& & BIT_ADDR(GPIOC_IDR_Addr,n)&&//????
#define PDout(n)& &BIT_ADDR(GPIOD_ODR_Addr,n)&&//????
#define PDin(n)& & BIT_ADDR(GPIOD_IDR_Addr,n)&&//????
#define PEout(n)& &BIT_ADDR(GPIOE_ODR_Addr,n)&&//????
#define PEin(n)& & BIT_ADDR(GPIOE_IDR_Addr,n)&&//????
#define PFout(n)& &BIT_ADDR(GPIOF_ODR_Addr,n)&&//????
#define PFin(n)& & BIT_ADDR(GPIOF_IDR_Addr,n)&&//????
#define PGout(n)& &BIT_ADDR(GPIOG_ODR_Addr,n)&&//????
#define PGin(n)& & BIT_ADDR(GPIOG_IDR_Addr,n)&&//????
您的付出是论坛的动力,感谢您一直支持!.
18:59:35  
不好意思,上面的那个是6个字节串连输出的,2个字节的话,把 for(i=0;i&32;i++) 这段去掉即可
21:40:33  
级联而已,搞定一个就能搞定两个
14:18:12  
感谢,学习中。。。。。。。。。。。。。。。。
15:44:30  
我等着用,顶起
13:15:21  
感谢,学习中。谢谢~!
13:24:00  
非常有用,多谢
15:05:49  
LZ很好.赞一个额
23:48:38  
猴赛雷,谢谢楼主分享,好人有好报,也希望我们这个论坛越来越多爱分享的人,越来越多好人,越来越多高素质人才
03:22:08  
下载文件里缺少调用的595文件
对啊,少文件啊!
高级工程师
10:42:44  
楼主辛苦了,感谢分享
23:56:08  
还差文件的吧?
23:56:10  
还差文件的吧?
工程师职场
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司无人机设计中STM32库实现的模拟i2c代码
目前发现国内正儿八经机器人、并且还能活跃地上网关注行业前沿动向、热爱写科普文章的研究人员原来越少。因此所有的研究回答里都没有人真正说明白无人机到底是什么,而理解无人机到底是什么才是回答这个问题的先决条件。
什么是无人机
首先,无人机就是不载人的飞行器,而说到飞行器,通常我们又可以把飞行器分为三类。
1、固定翼(fixed wing)。平时坐的波音747空客A380,还有F-16歼-15之类的都是固定翼飞机。顾名思义就是翅膀形状固定,靠流过机翼的风提供升力。动力系统包括桨和助推发动机。固定翼根据机翼尺寸的不同还有很多小的分类,在此不细说。固定翼飞行器的优点是在三类飞行器里续航时间最长、飞行效率最高、载荷最大,缺点是起飞的时候必须要助跑,降落的时候必须要滑行。
2、直升机(helicopr)。特点是靠一个或者两个主旋翼提供升力。如果只有一个主旋翼的话,还必须要有一个小的尾翼抵消主旋翼产生的自旋力。为了能往前后左右飞,主旋翼有极其复杂的机械结构,通过控制旋翼桨面的变化来调整升力的方向。动力系统包括发动机、整套复杂的桨调节系统、桨。直升机的优点是可以垂直起降,续航时间比较中庸,载荷也比较中庸。缺点是极其复杂的机械结构导致了比较高的维护成本。
3、多旋翼(mul-rotor)。四个或者更多个旋翼的直升机,也能垂直起降,但是通常只有直升机叫直升机,多旋翼就叫多旋翼,而不叫多旋翼直升机。四旋翼特别叫做quadrotor。多旋翼机械结构非常简单,动力系统只需要电机直接连桨就行。下图是直升机的动力系统结构,再下图是多旋翼的动力系统结构。不懂机械的人也能看出多旋翼简单得多。多旋翼的优点是机械简单,能垂直起降,缺点是续航时间最短,载荷也最小。
给大家介绍下四旋翼无人机,看看啥是真正的技术,吼吼吼......
1.通信方式
因为我不是学电类专业,最开始对i2c这些是没有一点概念,最后通过Google了解了一些原理,然后发现的开发库是带有i2c通信的相关函数的,但是我最后还是没有用这些函数。
我通过GO模拟i2c,这样也能获得mpu6050的数据,虽然代码多了一些,但是比较好的理解i2c的原理。
STM32库实现的模拟i2c代码(注释好像因为编码问题跪了):
2.PID控制算法
由于简单的线性控制不可能满足四轴飞行器这个灵敏的系统,引入PID控制器来更好的纠正系统。
简介:PID实指&比例proportional&、&积分integral&、&微分derivative&,这三项构成PID基本要素。每一项完成不同任务,对系统功能产生不同的影响。
以Pitch为例:
error为期望角减去实时角度得到的误差;
iState为积分i参数对应累积过去时间里的误差总和;
if语句限定iState范围,繁殖修正过度;
微分d参数为当前姿态减去上次姿态,估算当前速度(瞬间速度);
总调整量为p,i,d三者之和;
这样,P代表控制系统的响应速度,越大,响应越快。
I:用来累积过去时间内的误差,修正P无法达到的期望姿态值(静差);
D:加强对机体变化的快速响应,对P有抑制作用。
PID各参数的整定需要综合考虑控制系统的各个方面,才能达到最佳效果。
3.输出PWM信号
PID计算完成之后,便可以通过STM32自带的定时资源很容易的调制出四路pwm信号,采用的电调pwm格式为50Hz,高电平持续时间0.5ms-2.5ms;
我以1.0ms-2.0ms为每个电机的油门行程,这样,1ms的宽度均匀的对应电调的从最低到最高转速。
至此,一个用STM32和mpu6050搭建的飞控系统就算实现了。
原文标题:实例:用STM32单片机搞定四旋翼无人机飞控
文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。
发布评论请先
激光雷达,即光探测与测量,是一种集激光,全球定位系统(GPS)和惯性导航系统(INS)三种技术于一身....
无人机遥感,既是利用先进的无人驾驶飞行器技术、遥感传感器技术、遥测遥控技术、通讯技术、GPS差分定位....
提起无人机,了解的人都会想到航拍界一家独大的大疆,并没有多少人会想起水下无人机,毕竟目前整个市场还....
继上周网传DJIMavic 2的照片,曝光可拆卸云台设计后,近日网上又流传两张疑似 Mavic 2 ....
无人机网援引美媒消息称,UMS SKELDAR推出了专为海事市场设计的新一代旋转式重型燃料发动机无人....
无线电光子雷达预计将安装在俄罗斯第六代战斗机上。该雷达较常规雷达探测距离更远,且能够构建真实的目标图....
自去年一片红海之后,面对消费级无人机市场,创业者们别说干上一干,连想他们都懒得再想。再来,观察近几年....
由于飞行控制系统的主要功能是控制飞机达到期望姿态和空间位置,所以这部分的感知技术主要测量飞机运动状态....
MIT近期则开发出一款新型传感器设备,病人可以像吃胶囊那样将传感器吞到肚子里,而在人体内,它不但可以....
(1)问题描述: 多串口共用printf函数,百度到的资料大部分是建议重新写一个xx_printf(....
消费级无人机巨头大疆创新科技有限公司,这次想要彻底拿下植保市场。当然,它的策略是价格战。
大多数无人机的旋翼都必须保持与地面平行,不过Voliro的原型机六个旋翼可以做出360° 的空中翻转....
本文档的主要内容详细介绍的是EM-STM3210C的电路原理示意图详细资料免费下载。
STM32 是由意法半导体推出的一款基于 ARM(R) Cortex - M 系列内核的高性能 32 位....
据报道,美国五角大楼已经启动以一项新的竞赛,模拟蝙蝠和昆虫设计一种以激光为动力无人机。美国国防部公布....
大疆高管日前接受Engadget采访时透露,能够直接放在口袋里的拍照无人机将成为吸引主流用户的关键....
7月上旬,北京瑞深航空科技有限公司携植保无人机全新机型:油电混合植保无人机登陆日本,在日本北海道、名....
无人机倾斜摄影技术凭借快速高效、机动灵活、成本低等优势,正慢慢颠覆传统测绘的作业方式,已成为测绘行业....
AirSelfie2 是一款便携式的自拍无人机,在经历了几个月的延期后,它现在终于开始出货了。
捷克啤酒公司Pilsner Urquell早前与Flyability的捷克分销商Drony SITM....
陆军战略主要集中在以下几个关键技术领域:远程多功能传感器、有人无人编队以及人工智能。为此,设计新的轻....
7月16日报道,美国联合技术公司(UTC)航空航天系统部宣布,正在开发一种具有三重多核处理器、高速通....
军方使用的装备、战略文件、生存手册等资料均应被严密保管,但有资安公司分析师发现暗网上有黑客正兜售美军....
UAVOS宣布已完成其太阳能SAT-i无人机的飞行试验,该无人机旨在在白天进行监控和航拍。这架新的无....
亚马逊最新获得的一项专利泄露了其快递无人机的计划。亚马逊在去年9月提出一项专利申请并在上个月底获批,....
如果不能确保安全,消费无人机的前景就无从谈起。有人担心无人机从天而降伤及路人,有人担心它们在天空相互....
Eyal Press 亲自采访多名前无人机机师和情报分析员,详细剖析无人机空袭对他们所造成的心理创....
澳大利亚国防部长表示,澳政府恢复在不涉及机密的情况下使用中国生产的无人机。
京东拿到了首张无人机运输的政府批文,照现在的这个架势,无人机送货在国内可能真的不远了。
近两年,无人机送货成了一种潮流,亚马逊、顺丰等都在做测试。除了送货,无人机也在大型仓库货物管理上发挥....
作为针对飞行和跟踪无人机提出通用规则更广泛努力的一个组成部分,联合国航空机构正在支持建立一个单独的全....
据报道,南澳大利亚大学的研究人员开发出一种可以远程测量人类心跳和呼吸频率的无人机。
在2017年世界无人系统大会上,饿了么首次公开亮相其外卖无人机,展示的是饿了么内部研发的第3代产品“....
四轴飞行器是一种利用四个旋翼作为飞行引擎来进行空中飞行的飞行器。进入20世纪以来,电子技术飞速发展四....
固体能源系统公司新设计电池的能量密度达到传统电池的两倍,而且可以重复充电23000次。目前使用传统电....
CSCB 试点计划指的是在战斗的战术优势中融合网络效应。CSCB 计划包括在原驻地、美国陆军的战斗训....
基于NVIDIA Jetson TX2开发的无人机大型设备智能巡检系统,大幅提高了巡检效率,并降低了....
无人机开始在日本的一个核灾地区向居民投放食物。因受福岛核泄露的影响,该地区的居民仍然无法便捷地购买所....
美国政府发布行政令,使地方政府拥有更多测试无人机的权力,由此看来,无人机送货的梦想更接近现实了。
据消息报道,日本政府将推动无人机的商用化。2018年夏季将允许无人机在离岛和山区运送货物,日本国土交....
几乎目前所有无人机的结构都差不多,都是采用扇叶螺旋桨的模式。
说起无人机,你会马上联想到哪些功能与应用?拍高空照片与视频?拍电影?送货?还有呢?
在大疆秋季媒体沟通会上,大疆公关总监谢阗地正式发布与苹果合作的Mavic Pro初雪白限定版无人机,....
21世纪的无人飞行器系统(UAS)从昂贵的军用设备脱胎换骨而来,连续几年成为科技热点。
亚马逊公司最近因为探索无人机为行驶中汽车充电的技术而获得一项技术专利。
为实现对无人驾驶航空器的依法管理,国务院、中央军委空中交通管制委员会办公室组织起草了《无人驾驶航空器....
美国纽约州州长安德鲁·科莫与国会参议院少数党领袖查尔斯·舒默日前宣布,美国航天局已同意与“东北部无人....
由中国科学院工程热物理研究所和朗星无人机公司作为总体单位,联合航空工业618所、中电54所、航天77....
阿里巴巴菜鸟网络的无人机群组,满载六箱货品,耗时9分钟,飞越近5公里的海峡,为农村淘宝提供物流服务。....
TIM2-TIM5可以由向上计数、向下计数、向上向下双向计数。向上计数模式中,计数器从0计数到自动加....
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-STM32F030使用外部晶振时,做EFT试验晶振有干扰,单片机死机是为什么? - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
STM32F030使用外部晶振时,做EFT试验晶振有干扰,单片机死机是为什么?
发表于 5&天前  
STM32F030使用外部晶振时,做EFT试验晶振有干扰,单片机死机的情况。请大神指点下,如果有干扰时,能不能切换到内部晶振工作,如果可以如何操作程序?干扰结束后,还可以切换到外部晶振工作吗?外部晶振选择上有没有能抗住EFT干扰的可能型号晶振?
工程师职场
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司

我要回帖

更多关于 stm32晶振频率 的文章

 

随机推荐