推荐阅读最新更新时间:2024-03-16 16:04
中断之外部中断
ARM Cortex M3共有256个中断。 STM32F103CB共有43个外部中断和16个内部中断。 具有相同数值编号的IO口被分配为同一组,共用一条中断请求线,如下图: 所以共有15条中断线,另外 ●EXTI线16连接到PVD输出 ●EXTI线17连接到RTC闹钟事件 ●EXTI线18连接到USB唤醒事件 寄存器:1、外部中断配置寄存器 AFIO_EXTxCR1------- 用于选择输入中断源 Pin 0..3 AFIO_EXTxCR2------- 用于选择输入中断源 Pin 0..7 AFIO_EXTxCR2-------
[单片机]
stm32之IIC应用实例(AT24C02芯片,硬件和软件方式驱动)
写完回头一看发现字数还不少,如果你觉得文字太枯燥,那么可以跳到后面程序设计,直接动手做实验。如果想仔细了解关于IIC协议的细节,那么希望你能慢慢把看完,看完后一定有所收获。 概述:IIC BUS(Inter Integrated Circuit BUS,内部集成电路总线)是飞利浦公司推出的二线制串行扩展总线;在IIC总线上,只需要两条线——数据线SDA线和时钟线SCL;多个器件可连接到同一个IIC总线上,每一个器件有一个唯一的识别地址,可一对多、多对一、一对一通讯;标准模式下传输速度为100Kb/s,快速模式下为400Kb/s。优点:引脚少,硬件实现简单,成本低。 关于IIC的接口原理有些书可以描述出好几页,但有时候看完了
[单片机]
stm32高级定时器重新学习
最近做项目,用到定时器,索性重新学习一下,以前只是用于简单的pwm生成和中断处理,对定时器根本就没有进行深入研究,今天借此机会,重新学习一下高级定时器,只要高级定时器学会了,基本定时器也就没什么问题了。总体上来说,stm32的定时器,功能非常多。看了一下,大概有20个功能。我就按照数据手册,一一的重新学习一下。 首先是框图,娘的,看着就眼晕 1、时基:包含计数器寄存器(TIMx_CNT) 预分频器寄存器 (TIMx_PSC) 自动装载寄存器 (TIMx_ARR) 重复次数寄存器 (TIMx_RCR) 计数类似于51单片机中的TH1和TL1。预分频器就是将输入时钟进行降低。重复寄存器类似与51中的自动装载模式中的TH寄存器
[单片机]
STM32串口使用
STM32的串口大多数情况下会预留USART1作为烧录接口或者调试接口。 通常做法是调用 stdio.h 将串口的输入输出重新定向,可以直接调用printf. 代码如下: /** ****************************************************************************** * 文件名程: bsp_usartx.c * 版 本: V1.0 * 编写日期: * 功 能: 串口底层驱动程序 */ /* 包含头文件 ----------------------------------------------------------------*
[单片机]
STM32外部中断详解
一、基本概念 ARM Coetex-M3内核共支持256个中断,其中16个内部中断,240个外部中断和可编程的256级中断优先级的设置。STM32目前支持的中断共84个(16个内部+68个外部),还有16级可编程的中断优先级的设置,仅使用中断优先级设置8bit中的高4位。 STM32可支持68个中断通道,已经固定分配给相应的外部设备,每个中断通道都具备自己的中断优先级控制字节PRI_n(8位,但是STM32中只使用4位,高4位有效),每4个通道的8位中断优先级控制字构成一个32位的优先级寄存器。68个通道的优先级控制字至少构成17个32位的优先级寄存器。 4bit的中断优先级可以分成2组,从高位看,前面定义的是抢占式优先级,
[单片机]
基于STM32的红外光通信装置的设计
引言 自20世纪80年代以来,无线通讯技术取得了飞速发展,它不受时空限制,能采取灵活多样的方式,确保语音、数据和图像的综合传输畅通无阻,具有无需架设复杂的传输线路和通信地点灵活的特点。其中,蓝牙技术是一种新兴的近距无线传输技术,但蓝牙技术的最大障碍是过于昂贵,抗干扰能力弱、通信距离短、存在信息安全问题,使其用户群数量受到限制。同时大范围测试与研发成本过高,不利于蓝牙通讯技术的大规模研发与广泛应用。 红外通信以红外光作为载体传送数据信息,无需申请频率的使用权,因此,红外通信使用方便,且具有体积小、功耗低、价格便宜、连接方便等特点。根据光的独立性传播原理,红外通信之间无相互干扰,且不怕散射电磁波干扰。此外,红外线发射角度较小,传输安全
[单片机]
STM32时钟学习之STM3210X_RCC.H解读
当HSI被用于作为PLL时钟的输入时,系统时钟能得到的最大频率是64MHZ。 STM3210X_RCC.H头文件,主要是对RCC相关的寄存器进行了一个重新的定义命名以及对.c文件中的函数进行申明。 可以从参考手册的6.3 RCC寄存器描述了解到。更加详细的内容 /******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** * File Name : stm32f10x_rcc.h * Author : MCD Application Team * Version : V2.0.2 * Date
[单片机]
142条STM32遇到的坑,你知道几个?
1、AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2 1,意思是APB2接高速设备。 2、Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用 3、HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz 4、LSE Osc(Low Speed External Oscillator)低速外部晶振,一般为32.768KHz,LSI RC(Low Speed InternalR
[单片机]