我也是这样过来的,也是电气专业,51到stm32入门时间大约一个月左右,都是利用课余时间来学习和调试。首先你要知道stm32和51的区别,是定位在高端工控mcu,比51有更丰富的接口和资源,但是还远没有达到arm9以上的能够运行片上嵌入式系统(比如:安卓,wince)的一种处理器。但是做个彩屏MP3加电子书还是完全可以的。
首先了解一遍处理器架构,stm32是arm的cortex M3核,跑72M,但是架构先进代码运行速度,比51快100倍左右吧。有那些时钟,定时器,中断,接口,看一遍了解。
然后学习GPIO,就是如何操作引脚高低电平,点流水灯。注意使用库函数! 很方便的,ST公司已经把代码写好了,不用手动去操作寄存器。更不要想着用汇编了。库函数用3.0以上的新库,去下载一份库函数使用手册的翻译版。这样你就能看懂开发板配来的例子了。看不懂的c语言语法赶快去百度查一下,很简单的。官方库函数采用规范的宏定义和指针,写的非常好。
流水灯点起来,在去学习STM32芯片配的AD。串口。定时器,PWM。很快的。
慢慢移植你51上的例子到stm32,是一个很有趣的过程哦。
如果还想进一步,就可以把ucos实时系统移植到stm32上,学习一下嵌入式系统,很有挑战性。系统的好处是可以同时执行多任务,不再是一个while(1)大循环了,是一个任务一个大循环,同时运行,爽啊。
记住手上带好stm32库函数使用手册翻译版,stm32不完全手册。这个两个pdf。
全部手动输入,加分哦。
答:中断按键控制流水灯开关思路怎么设置
刚刚跟v尺寸11
超过345用户采纳过TA的回答
关注
成为第13位粉丝
讲思路,就是我们的程序是会反复进行whlie里面的循环的,然后我们就可以进行延时,逐一点亮LED实现流水灯的效果,这在我之前文章中介绍过,然后我们现在是想每次按键它的方向改变,我们可以定义一个参数,然后按一次按键,这个参数改变一次,每次对应不同的结果,即流水灯不同的流动方向。我们可以利用switch函数来实现(在我C语言的文章中有讲解switch)
具体实操:这个不需要配置定时器等,只需要打开外部中断即可。然后我们先配置一下最基础的,备注一下led引脚和外部中断按键引脚。我之前文章中讲到过如何配置,我这里简单展示和讲解。我用的是STM32F107VCT6的板子,所以对应的引脚是PE9 PE11 PE13 PE14 外部按键对应的引脚是PC6,大家根据自己板子的原理图进行配置,我这里给它们分别备注为D1,D2,D3,D4和K1,方便我们引用。然后再NVIC中打开外部中断
STM32F107VCT6 - 基本参数:
产品种类:集成电路
存储器容量, RAM:64KB
计时器数:10
PWM通道数:16
工作温度范围:-40°C to +85°C
针脚数:100
封装类型:LQFP
接口类型:CAN, I2C, SPI, UART, USART, USB
时钟频率:72MHz
模数转换器输入数:16
电源电压 最大:3.6V
电源电压 最小:2V
表面安装器件:表面安装
输入/输出线数:80
闪存容量:256KB
供应:佛山颖展电子科技
本文标签:stm32f107vct6pwm配置