一、背景有个需求,IO口检测上升沿,然后做相应的动作。在此记录STM32F103的外部中断结构及配置方法,以备下次快速上手使用。有许多不太明白,又是老司机(:-D)帮忙,真的是站在别人的肩膀上会让你看的更远,走的更
使用的芯片是stm32f103c8t6.今天在调试板子时发现在PA15口上的LED灯无论输出高还是低都只有一个中间电平2.3V,后来百度说这个口(PA15--JTDI)默认用作JTAG调试口,需要配置下成普通IO口,于是按照那人的办法写了2句:
/**************************************************************************函数功能:把TIM2初始化为编码器接口模式入口参数:无返回 值:无****************************************************************
看逻辑地址是否统一编址。FLASH,RAM在同一个逻辑地址空间的,都是直接用用const,如arm,stm8,msp430等。FLASH,RAM逻辑地址空间分开的,要用其它办法,通常是特殊关键字,__flash,__code等。如AVR,8051等。注:cons
Mini STM32的初学习者来说为什么用到PB3和PB4时无法控制输出呢?首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。具体
1、STM32F103 通过配置寄存器来控制I/O口1.1、GPIO的概述1.2、端口位配置表1.3、GPIO各寄存器的配置2、程序例举:2.1、配置寄存器,使GPIOA.0、GPIOA.1置位:/*Includes-------------------------------------------
STM32的GPIO可以作为中断输入使用,这样增强了实时检测性,可以用于外部按键或是触控等使用。如果使用,其实不难,这里使用标准的固件库,加入外部中断的库文件:在stm32f10x_conf.h 中,打开#include "stm32f10x_ex
串口通信,首先进行串口的设置:串口设置的一般步骤可以总结为如下几个步骤:1) 串口时钟使能, GPIO 时钟使能2) 串口复位3) GPIO 端口模式设置4) 串口参数初始化5) 开启中断并且初始化 NVIC(如果需要开启中断才需要
DMA是一种不使用CPU而将数据从一片地址空间复制到另一片地址空间的总线,这样就减少了CPU的负担,使其能够更加专注于数据运算。为了能够减少CPU的负担,DMA应该采取中断方式而非查询模式。但是非常不幸的是,STM32F1
//看门狗使用需要计算超时时间// IAR 7.1#ifndef __STM32_WDG_H__#include "stm32f10x.h"#define LSI_FREQ 40000void stm32_wdg_init(void);void stm32_wdg_enable(void);void stm32_wdg_feed(void);#endif#include
我在之前的一篇博客日志中,写过关于CAN发送功能如何使用,但是当时由于时间匆忙,赶项目,按照对USART中断发送的理解,在数据成功发送出去的情况下,写了那篇误人子弟的日志,在这里向大家道歉,实在不好意思,现在
首先是外部中断基本的概念:STM32 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 的强大之处。 STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发
在使用stm32f103系列单片机的时候总是会碰到RTC计时的问题,103系列单片机的RTC使用的是秒计时在经过一段时间的研究,终于发现了一种比较简单而且易于理解的使用方法,就是结合系统文件time.h的使用首先要添加头文件
最近项目使用STM32,又重新熟悉了一下STM32的工程建立与程序设计,总结了一下,发现了之前没有发现的技巧与设置。关于STM32F103 的V3.5.0固件库,使用起来,挺方便,移植性也不错,当然,如果使用Keil uVesion4开始的
一、背景: 需要使用STM32的DAC,例程代码中用了DMA,对DMA之前没有实际操作过,也很早就想知道DMA到底是什么,因此,看了一下午手册,代码和网上的资料,便有了此篇文章,做个记录。二、正文: DMA(Direct Memor
STM32拥有1~3个ADC(STM32F101/102系列只有1个ADC),这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源。各通道
// IAR 7.1 定时器中断时间依赖系统外部时钟#include "stm32_timer.h"uint8_t tick = 0;void stm32_timer_init(void){ uint16_t PrescalerValue = 0; NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTyp
背景只要使用单片机,按键检测基本上是一定要实现的功能。按键检测要好用,最重要的是实时和去抖。初学者往往会在主循环调用按键检测程序(实时)并利用延时去抖(准确)。这种
本文设计了一种可工作在433.00-434.79MHz,中心频率为433.00MHz,输出功率可调的无线数传模块。模块采用STM32F103RB单片机和射频芯片CC1101设计,利用EDA软件ADS2008仿真优化了射频电路的输出匹配网络。最后对无线模块输出功率,通信距离等参数进行了测试和验证。
配置stm32f103使其完成PWM输出的过程中,在配置GPIO口的时候,按照习惯配置GPIO口的speed为50MHZ,突然就意识到,为什么大部分例程习惯配置为50MHZ,而不是其它值,即有了此文章。