单片机
mvp_dong
这个作者很懒,什么都没留下…
展开
-
STM32F103学习笔记(五) 外部中断
首先是外部中断基本的概念:STM32 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 的强大之处。 STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。 STM32F103 的19 个外部中断为:线 0~15:对应外部 IO 口的输入中断。线 16:连接到 PVD 输出。线 17:原创 2015-01-22 20:28:11 · 5864 阅读 · 0 评论 -
stm32f103初学之见
第一次写博客感觉很没有头绪,好吧,想到哪写到哪吧,把自己不会的尽量在这里边记录下来。 1. 抢占优先级和响应优先级,其实是一个中断所包含的两个优先级,其中前者是对抢占优先级的级别划分,后者是相同抢占优先级的优先级别的划分。比如:中断A抢占优先级比B高,那么A的中断可以在B里面触发,忽略响应优先级;A和B抢占优先级相同,则A、B的响应优先级决定谁先响应。 2. 对于mcu的端口和串口的区原创 2015-01-19 21:43:49 · 1199 阅读 · 2 评论 -
关于PWM模式
首先,本人虽然初学STM32但极力反对一种误人子弟的观点:“对于STM32这样级别的MCU,有库函数就不用去看寄存器怎么操作的了!”好了,言归正传,最近总看到很多朋友对于PWM这个实验有很多的疑惑,看到原子也在极力的回复也挺累的(体谅一下幸苦的原子大神,(*^__^*) ),所以我打算写这么一篇文字来阐述一下我个人对STM32的PWM的理解。首先来说,你要使用PWM模式你得转载 2015-01-25 21:44:36 · 2951 阅读 · 0 评论 -
STM32F103学习笔记 (八) PWM输出
脉冲宽度调制(PWM),是对脉冲宽度的控制。STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 4路的 PWM 输出,这样, STM32 最多可以同时产生 30 路 PWM 输出!本实验是利用 TIM3 的通道 2,把通道 2 重映射原创 2015-01-24 19:20:49 · 26907 阅读 · 4 评论 -
stm32f103学习笔记(三)按键输入(IO口输入)
学stm32第三天了,才学到按键输入,这进度也是醉了。。。谁叫俺c语言基础不行,还没有学过模数电呢。。开发板上有4个按键:key0,key1,key2和wk_up,分别接在PE4,PE3,PE2和PA0上:KEY0、 KEY1 和 KEY2 是低电平有效,而 WK_UP 是高电平有效,接下来就是新建key.c和key.h导入工程了:#include "key.h"#inc原创 2015-01-21 20:16:39 · 20295 阅读 · 1 评论 -
STM32F103学习笔记(七) 定时器中断 (更新中断)
STM32的定时器功能十分强大,有TIME1和TIME8高级定时器,TIME2~TIME5通用定时器,TIME6 和TIME7 基本定时器。 STM32的通用 TIMx (TIM2、 TIM3、 TIM4 和 TIM5)定时器功能包括:1)16 位向上、向下、向上/向下自动装载计数器( TIMx_CNT)。2)16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器原创 2015-01-24 14:50:51 · 28100 阅读 · 4 评论 -
STM32F103学习笔记 (十) TFTLCD 显示
看了TFTLCD和FSMC(灵活的静态存储控制器)的简介,还是一知半解,不知所云。TFTLCD使用80并口,80 并口有如下一些信号线:CS: TFTLCD 片选信号。WR:向 TFTLCD 写入数据。RD:从 TFTLCD 读取数据。D[15: 0]: 16 位双向数据线。RST:硬复位 TFTLCD。RS:命令/数据标志( 0,读写命令; 1,读写数据)。原创 2015-01-26 12:35:08 · 11002 阅读 · 0 评论 -
STM32F103学习笔记(六) 独立看门狗and窗口看门狗
首先,学习两种狗,就该看到它们两者之间的不同:(1)独立看门狗由内部专门的 40Khz 低速时钟驱动,而窗口狗使用的是 PCLK1 的时钟,需要先使能时钟,而独立狗不需要使能。(2)两者的作用不同:1.独立狗 避免单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环, 独立看门狗的作用就是在一定时间内(通过定时计数器实现) 没有接收喂狗信号(表示 MCU 已经挂了),便原创 2015-01-23 13:49:54 · 7924 阅读 · 0 评论 -
STM32F103学习笔记 (九) 输入捕获实验
这个实验是用 TIM5 的通道 1( PA0) 来做输入捕获, 捕获 PA0 上高电平的脉宽(用 WK_UP 按键输入高电平),通过串口打印高电平脉宽时间。初始化里边先设置上升沿为输入捕捉,进入捕捉中断后,记录TIM5_CNT的值,然后配置捕获信号为下降沿捕获,当下降沿到来时,发生捕获,并记录此时的 TIM5_CNT 值。这样,前后两次 TIM5_CNT 之差,就是高电平的脉宽,同时 TI原创 2015-01-25 21:24:48 · 11791 阅读 · 1 评论 -
STM32F103学习笔记 (十一) USMART调试组件
usmart组件简直就是调试神奇,利用它,则只需要在串口调试助手里面输入函数及参数,然后直接串口发送给单片机,就执行了一次参数调整,不满意的话,你在串口调试助手修改参数在发送就可以了,直到你满意为止。支持的类型有: 10 或者 16 进制数字、字符串指针(如果该参数是用作参数返回的话,可能会有问题!)、函数指针等。使用USMART 调用的函数,必须将文件添加到usmart_config原创 2015-01-27 09:17:46 · 7043 阅读 · 0 评论 -
STM32F103学习笔记(四) 串口实验
串口通信,首先进行串口的设置: 串口设置的一般步骤可以总结为如下几个步骤:1) 串口时钟使能, GPIO 时钟使能2) 串口复位3) GPIO 端口模式设置4) 串口参数初始化5) 开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)6) 使能串口7) 编写中断处理函数串口设置原子已经写在usart.c里边了,会拉进来用就行了//初始化 IO 串口 1原创 2015-01-22 19:57:55 · 5318 阅读 · 1 评论 -
STM32F103学习笔记(二) 创建工程模板+点亮LED+蜂鸣器(IO口的输出)
捣鼓了几天,终于点亮led了,那个欣慰啊。。。至于建立工程模板,对于我这种小白来说确实不容易上手,捣鼓了好久,不是忘记添加.c文件,就是忘记加入头文件的路径(头文件的路径千万要是英文)。其实模板建立好之后,只需要编写两个文件夹(1)USER,用来编辑主函数的。(2)HADEWARE(硬件)用来配置相关硬件的,eg:包含led.c led.h 后面要用的话,直接在这里边调用就行了。原创 2015-01-21 18:54:37 · 8833 阅读 · 0 评论