PWM 简介
脉冲宽度调制(PWM),是英文“Pulse Width Modulation” 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。
STM32 的定时器除了
TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。...
分类:
其他好文 时间:
2015-01-21 20:07:11
阅读次数:
165
STM32 的定时器功能十分强大,有 TIME1 和 TIME8 等高级定时器,也有 TIME2~TIME5 等通用定时器,还有 TIME6 和TIME7 等基本定时器。
本节学习通用定时器 TIM3
STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。
STM3 的通用 TIMx (TIM2、 TIM3、 TIM4 和 TIM5)...
分类:
其他好文 时间:
2015-01-21 16:38:39
阅读次数:
243
总结一下这两种狗吧。。。
1)独立看门狗没有中断,窗口看门狗有中断
2)独立看门狗有硬件软件之分,窗口看门狗只能软件控制
3)独立看门狗只有下限,窗口看门狗又下限和上限
4)独立看门狗是12位递减的。窗口看门狗是7位递减的
5)独立看门狗是用的内部的大约40KHZ RC振荡器(不受系统时钟限制,即使系统时钟坏了也能工作),窗口看门狗是用的系统时钟APB1ENR(系统时钟要是挂了就完了...
分类:
其他好文 时间:
2015-01-21 11:35:10
阅读次数:
127
窗口看门狗( WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。
简单来说,和IWDG的区别就是IWDG要靠手动去喂狗,而WWDG有内置中断,所以可以利用设置中断服务函数去喂狗
首先还是设置WWDG (记得往工程里面添加头文件)大致设置步骤如下:
1)使能
WWDG 时钟(系统内部时钟)
2)设置窗口值和分频数
3)开启
...
分类:
其他好文 时间:
2015-01-21 11:34:28
阅读次数:
102
单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示
MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号) 。
感觉是是自动复位功能,就是在一定时间内你应该去喂它而如果程序中途进入了死循环(就是喂不了了)这个MCU就挂了。。但如果没开IWDG ,你不知道它挂...
分类:
其他好文 时间:
2015-01-20 22:17:51
阅读次数:
166
本章学习将STM32的IO口作为外部中断输入(实现和按键扫描一样的功能)
STM32 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 的强大之处。 STM32F103 的中断控制器支持 19
个外部中断/事件请求。每个中断设有状位,每个中断/事件都有独立的触发和屏蔽设置。 STM32F103 的19 个外部中断为:
线 0~15:对应外部 IO 口的输入中断。(本章只学习...
分类:
其他好文 时间:
2015-01-20 18:13:46
阅读次数:
158
串口,可以理解为是用来和上位机(比如电脑)对话的,本节实验实现的是stm32接收上位机发送过来的信息,在原原本本的返回过去
stm32有5路串口,本节学习的是其中之一的USB串口(USART1)和学习IO口一样,首先要配置串口,由于原子已经配好了写在sys文件里,本渣就本着不造轮子的理念(其实是太难不懂orz),先跳过去了。。
所以本工程只需要一个main函数即可
#include ...
分类:
其他好文 时间:
2015-01-20 13:47:27
阅读次数:
1036
SysTick_Handler(void)这个定时器中断处理函数是怎么定义的?根据以往的经验,我感觉在底层应该会有一个类似于函数声明的东西的存在,但是往下跟程序的话,一直都没有找到相应的定义或者声明,那么究竟SysTick_Handler这个函数怎么来的呢?是不是可以人为的做修改呢?以及Systick的详细介绍...
分类:
其他好文 时间:
2015-01-19 22:45:40
阅读次数:
325
上一个也就是第一个实验做的是关于LED的,属于IO口的输出使用,这一节实验是独立按键的使用,即IO 口的输入使用
ministm32 开发板上一共有3个独立按键,分别为 KEY0 KEY1 WK_UP 原理图如下:
注意: KEY0 KEY1 是低电平有效(即它们为低电平时代表按键按下)而 WK_UP 是高电平有效,为什么呢。。很明显,这个问题要分析上面的原理图才能...
分类:
其他好文 时间:
2015-01-19 17:12:37
阅读次数:
195
搞了一晚上+一上午 终于算是入门了 刚刚把LED点亮。。真是费劲啊
吐槽MDK对库函数的封装性。。太扯了 。。所有的固件库函数都要自己手动添加到工程里面去。。还好建好一个模板之后就不用动了(以后直接复制就行了)
首先对于工程模板里的东西,我们要搞明白哪些是需要我们自己去编写的,而哪些是不用动的, 其实初学者应该只需要编写两个文件夹里面的程序:1 USER 文件夹下的主函数
2. HA...
分类:
其他好文 时间:
2015-01-19 14:28:47
阅读次数:
228