01 2017 档案

stm32实现待机唤醒
摘要:STM32的低功耗模式有3种:1、睡眠模式(CM3内核停止,外设仍然运行)2、停机模式(所有时钟都停止)3、待机模式(1.8v内核电源关闭) 进入待机模式的方法,以及设置WK_UP引脚用于把STM32从待机模式唤醒的方法一般步骤如下:1、设置SLEEPDEEP位SCB_SCR的第二位2、使能电源时钟 阅读全文

posted @ 2017-01-16 14:35 猫咪大王 阅读(4141) 评论(0) 推荐(0)

STM32使用定时器实现输入捕获
摘要:输入捕获简介输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。 STM32的输入捕获,简单地说就是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将此刻定时器的值(TIMx_CNT)存放到对应的 阅读全文

posted @ 2017-01-13 11:41 猫咪大王 阅读(2187) 评论(0) 推荐(0)

STM32通用定时器实现LED灯闪烁
摘要:刚才看了一下STM32通用定时器的教程,其实和51的定时器使用差不多。只是因为32的时钟更复杂,可操控的寄存器更多,所以写的时候可能更复杂。 使用通用定时器中断的一般步骤:1、使能定时器时钟 这个需要看时钟树,使能对应的时钟就好了。这里我使用的是TIM3,所以使能APB1的时钟即可。 2、设置定时器 阅读全文

posted @ 2017-01-10 17:12 猫咪大王 阅读(1713) 评论(0) 推荐(0)

STM32独立看门狗
摘要:启动STM32的独立看门狗,启动过程可以按如下步骤实现:1)向IWDG_KR写入0x5555;2)设置IWDG_PR(分频系数)和IWDG_RLR(重装载值)的值。这样就可以知道看门狗的喂狗时间(溢出时间)。Tout = rlr*(1/(40/4*2^prer)); rlr为重装载值,prer是分频 阅读全文

posted @ 2017-01-10 15:54 猫咪大王 阅读(208) 评论(0) 推荐(0)

问题记载——keil中写for循环嵌套
摘要:还是上次的工程,LED灯闪烁。我今天回想一下感觉上次调试的时候还是有点问题,LED0 1和0的翻转时间很奇怪。 所以今天又打开看了看,单步调试,发现for循环嵌套只执行前一个循环,后一个循环根本不执行。 后面把后一个for循环的括号放到下一行就ok了。 看到这样的解决方式内心真是ORZ。后面给大神跑 阅读全文

posted @ 2017-01-10 11:10 猫咪大王 阅读(924) 评论(0) 推荐(0)

51使用while进行延时的问题
摘要:上周写了一个简单的IO口翻转的程序,但是很奇怪,在FPGA板子上怎么也跑不起来。 后面发现问题可能出在延时函数上。 while(--t)在有些编译中无法正确编译--t,编译器认为这样是可以优化的(这个是我们老大给出的可能回答)。所以它们就对它进行了优化。其实具体原因我也不是很清楚。 后面换成下面这种 阅读全文

posted @ 2017-01-09 10:18 猫咪大王 阅读(707) 评论(0) 推荐(0)

串口
摘要:与串口基本配置直接相关的寄存器:1、串口时钟使能。串口最为STM32的一个外设,其时钟由外设时钟使能寄存器控制(RCC->APB2ENR RCC->APB1ENR,具体哪个看参考手册时钟树)。2、串口复位。当外设出现异常的时候可以通过复位寄存器里面对应位的设置实现该外设的复位,然后重新配置该外设达到 阅读全文

posted @ 2017-01-04 17:02 猫咪大王 阅读(232) 评论(0) 推荐(0)

IO口
摘要:STM32的每个IO端口都有7个寄存器来控制。他们是:CRH CRL IDR ODR BSRR BRR LCKR。我们常用的IO端口寄存器位CRL CRH IDR ODR。CRL CRH控制着每个IO口的模式及输出速率。CRL控制着每组IO端口(A-G)的低8位的模式。CRH控制着每组IO端口(A- 阅读全文

posted @ 2017-01-04 16:20 猫咪大王 阅读(723) 评论(0) 推荐(0)