你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

学习stm32

[复制链接]
小蚂蚁快溜跑 发布时间:2015-1-10 11:31
STM32从2014开学时开始买开发板学习,花了大概一个月时间利用库固件库把STM32得基本外设都试了一遍,可能时以前写过MFC程序所以对固件库还是比较快的上手了,但是对USB协议、文件系统、UCOS、还没有开始去深入学习!就我目前的水平好像还没有能力去看懂那些东西!以前只学过51单片机,开始学STM32的时候感觉和51完全不一样呀!+ d0 A' Z8 ?. W  z/ m
51哪有那么复杂得去寄存器配置呀,直接对IO口操作,所以学了STM32后我才对单片机有了一个比较深刻得认识,单片机其实就是按照数据手册来设置寄存器的值哪里要设置为1哪里要设置为0才能让IO口得到你想要的功能,有了固件库后你可以省掉很多时间去看数据手册它完全可以让你不用去了解寄存器而直接通过调用函数去配置寄存器,但是当你把固件库操作掌握后你可以去看固件库里面的底层函数是怎样去配置寄存器的,然后按照库函数的配置顺序去直接操作寄存器来实现你想要的功能,所以我觉得学习固件库是完全必要的!真搞不懂有些人竟然不屑于学固件库。但是当老师叫我测量一下STM32的单次ADC转换时间的时候,我完全不知道怎么去做,最后耐着性子去看ADC和定时器得硬件结构,最后想到了一个方法去测量时间:先打开定时器让他自动计数,然后在单次ADC转换前读一下计数寄存器得值(这个操作是直接读寄存器得的值的,因为好像库函数没有这个函数),等ADC转换完后再读一次值,相减后就是ADC转换时间了!所以直接操作寄存器和库函数要同时使用才能事半功倍呀!呵呵!但是操作寄存器你完全可以在库函数里面找到灵感和方法!
' V8 c& T( q: x* b( J" d6 ~这是测ADC的核心代码:
( T: I/ h7 _% D! G* b, |# }! \/ v
9 X) W5 o& E9 W( [c=TIM2->CNT; //读取定时器计数值; O& {6 b6 `( t! X
for(i=0;i<10;i++) //ADC循环测量10次
% S0 T2 W6 _6 V9 _3 j! b( M{ 9 y1 H! T- @5 r( j2 u
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));//等待一次AD转换结束
9 l: g( o4 u  Y) ~2 N# u$ h9 dk=ADC_ConvertedValue; //读取转换的AD值
: K" u  V3 J% X4 o2 [; @" `} 5 L  H1 V8 n: r3 \' ~" P' ~! P
d=TIM2->CNT;//读取定时器计数值
! I8 K0 E7 Y/ }6 Vprintf("\t%d",d-c);//打印测量值" m" R. {# z/ Q* x  A0 \2 ?

* \# ^+ n- _0 O( u- |, I
2 O2 r1 Y) j: U9 k- G3 y: F& a( ?+ J# z
赞 收藏 评论27 发布时间:2015-1-10 11:31

举报

27个回答
小蚂蚁快溜跑 回答时间:2015-1-10 19:10:03
mr.hs 发表于 2015-1-10 15:09  J. Q4 d7 a8 b% R
可能是以前api使用太多吧  我反而喜欢操作寄存器

  H+ l. i& P- U  |操作寄存器更直接。。。
小蚂蚁快溜跑 回答时间:2015-1-11 18:30:14
smcdh 发表于 2015-1-10 19:15
* p! p$ Z) M. a其实操作寄存器你会动芯片的工作原理有更深的理解
) N+ X/ |2 B: w
恩恩。。三克油。。。
小蚂蚁快溜跑 回答时间:2015-1-10 19:10:51
红桃K 发表于 2015-1-10 14:16$ T" S0 ?' ]0 t. s" U
好,写得太好了,刚好解决里我的所有问题
  w8 Q, z% a( R& ^# j9 ?7 q; f
希望能够帮到你。。。。
小蚂蚁快溜跑 回答时间:2015-1-10 11:34:06
自顶一个。。。
小蚂蚁快溜跑 回答时间:2015-1-10 11:42:48
对于个人的感觉大家都不感兴趣吗?
小蚂蚁快溜跑 回答时间:2015-1-10 11:43:57
我的帖子话说怎么不能再主页上现示啊。。。是大家水的太厉害,还是我太弱了。。。
默默前行 回答时间:2015-1-10 11:50:14
顶一个。。。
小蚂蚁快溜跑 回答时间:2015-1-10 11:51:06
默默前行 发表于 2015-1-10 11:50
; d, x8 X* W% g; D顶一个。。。

8 {' g5 ^" w2 Z4 I6 U三克油。。。。
小蚂蚁快溜跑 回答时间:2015-1-10 11:51:57
默默前行 发表于 2015-1-10 11:50
9 g  S8 r2 H- Z1 D顶一个。。。

! ^5 l% V% I( A# t8 P% D 你也是学习的这个吗?。。。
) x2 u& D9 N5 S! l% `2 ?* N1 y
默默前行 回答时间:2015-1-10 11:53:11
小蚂蚁快溜跑 发表于 2015-1-10 11:51* D$ O6 J# m$ k; k) g  y$ ~
你也是学习的这个吗?。。。
& S$ n3 W- [. m1 |) Z1 P: L
是的,共同学习。
w453509596 回答时间:2015-1-10 12:05:39
一起学STM32啊
小蚂蚁快溜跑 回答时间:2015-1-10 12:20:21
w453509596 发表于 2015-1-10 12:05; o& E7 C5 Y$ Q3 e; S; l8 c, l: ^
一起学STM32啊

) |$ s3 y- S/ e恩恩。。。。一块进步
平淡是真 回答时间:2015-1-10 12:29:31
学习当然是应该的!支持你
aderson 回答时间:2015-1-10 12:42:25
我一年呢。外设还没完,唉
小蚂蚁快溜跑 回答时间:2015-1-10 13:01:17
s7631001 发表于 2015-1-10 12:29+ v) C: x! }8 x7 O
学习当然是应该的!支持你

; i' V2 K( A& R+ _' N闪客有。。。。
聿怀嘿嘿 回答时间:2015-1-10 13:26:42
一起学习哈、stm32还是挺值得学的
小蚂蚁快溜跑 回答时间:2015-1-10 13:39:22
聿怀嘿嘿 发表于 2015-1-10 13:26$ }$ u; l0 s2 \0 [* u
一起学习哈、stm32还是挺值得学的
; ^& v2 a+ ^0 Y- b/ ]
恩恩。。
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版