随笔分类 -  STM32学习

摘要:实验目的:利用 SysTick 产生 1s 的时基,LED 以 1s 的频率闪烁。 编程要点 1、设置重装载寄存器的值 2、清除当前数值寄存器的值 3、配置控制与状态寄存器 过程 我们创建了两个文件:bsp_SysTick.c 和 bsp_ SysTick.h 文件用来存放 SysTick 驱动程序 阅读全文
posted @ 2018-04-28 16:33 wenshinlee 阅读(881) 评论(0) 推荐(0)
摘要:实验目的:利用 SysTick 产生 1s 的时基,LED 以 1s 的频率闪烁。 编程要点 1、设置重装载寄存器的值 2、清除当前数值寄存器的值 3、配置控制与状态寄存器 过程 我们创建了两个文件:bsp_SysTick.c 和 bsp_ SysTick.h 文件用来存放 SysTick 驱动程序 阅读全文
posted @ 2018-04-28 16:19 wenshinlee 阅读(727) 评论(0) 推荐(0)
摘要:SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit (2^24)的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次 阅读全文
posted @ 2018-04-28 14:37 wenshinlee 阅读(4681) 评论(0) 推荐(1)
摘要:在KEY点亮LED源码的基础上 USER下新建EXIT文件夹,新建bsp_exit.c和bsp_exit.h,添加到工程中(魔术棒添加头文件所在文件夹) bsp_exit.h内容 bsp_exit.c内容 sstm32f10x_it.c(引入LED和EXTI的相应头文件) main函数内容 bsp_ 阅读全文
posted @ 2018-04-23 22:48 wenshinlee 阅读(454) 评论(0) 推荐(0)
摘要:实验目的 设计使用外接的按键来作为触发源,使得控制器产生中断,并在中断服务函数中实现控制小灯的亮灭. 按键硬件点路 编程要点 具体代码如下 阅读全文
posted @ 2018-04-21 17:29 wenshinlee 阅读(725) 评论(0) 推荐(0)
摘要:EXTI 简介 EXTI(External interrupt/event controller) —外部中断/事件控制器, 管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。 EXTI 可以实现对每个中断/事件线进行单独配置,可 阅读全文
posted @ 2018-04-21 16:12 wenshinlee 阅读(3103) 评论(0) 推荐(0)
摘要:STM32中断很强大,STM32中断可以嵌套,任何外设都可以产生中断,其中中断和异常是等价的. 中断执行流程: 主程序执行过程可以产生中断去执行中断的内容(保护现场),然后在返回继续执行中断. 中断分类:(可以在参考手册查看) 有关具体的系统异常和外部中断可在标准库文件 stm32f10x.h 这个 阅读全文
posted @ 2018-04-21 15:56 wenshinlee 阅读(11380) 评论(1) 推荐(1)
摘要:这里我就直接粘代码了.很简单.上节理解了 这也就能简单了. 阅读全文
posted @ 2018-04-19 23:59 wenshinlee 阅读(1276) 评论(0) 推荐(0)
摘要:使用模板,在User下新建文件夹RCC 新建bsp_rccclkconfig.h和bsp_rccclkconfig.c 工程和魔术棒添加 对照着上节的RCC源文件编写: 直接在主函数调用即可,传入相应的RCC_PLLMul_x 参数. MCO输出监测系统时钟 PA8功能复用,示波器观察系统时钟.(在 阅读全文
posted @ 2018-04-19 23:46 wenshinlee 阅读(772) 评论(0) 推荐(0)
摘要:RCC : reset clock control 复位和时钟控制器。 设置系统时钟 SYSCLK、设置 AHB 分频因子(决定 HCLK 等于多少) 、 设置 APB2 分频因子(决定 PCLK2 等于多少)、设置 APB1 分频因子(决定 PCLK1 等于多少)、设置各个外设的分频因子;控制 A 阅读全文
posted @ 2018-04-19 13:26 wenshinlee 阅读(9745) 评论(0) 推荐(2)
摘要:启动文件使用的 ARM 汇编指令汇总 启动程序源码注释(点此下载) 1. Stack—栈 开辟栈的大小为 0X00000400(1KB),名字为 STACK, NOINIT 即不初始化,可读可写, 8(2^3)字节对齐。 栈的作用是用于局部变量,函数调用,函数形参等的开销,栈的大小不能超过内部SRA 阅读全文
posted @ 2018-04-16 23:19 wenshinlee 阅读(22347) 评论(3) 推荐(14)
摘要:GPIOC->ODR |=(0<<2); // 总线操作,即操作整个寄存器. 在51单片机中 P0=0xFE; //总线操作. sbit LED1=P0^0; //位操作,即操作寄存器中的某一位. LED1 =0; 在STM32中并没有sbit这样的关键字.但是我们可以用位带操作实现位操作. 位带操 阅读全文
posted @ 2018-04-16 14:08 wenshinlee 阅读(3939) 评论(0) 推荐(0)
摘要:本次的代码全是在上次代码之上添加的. 1.user下新建文件夹key,新建bsp_key.h bsp_key.c文件. 2.keil项目添加bsp_key.c,魔术棒C/C++中include path添加key文件夹. 3.相应的源码为: bsp_key.h中内容 bsp_key.c中内容 mai 阅读全文
posted @ 2018-04-16 08:44 wenshinlee 阅读(4255) 评论(0) 推荐(1)
摘要:编程要点 1. 使能 GPIO 端口时钟; 2. 初始化 GPIO 目标引脚为推挽输出模式; 3. 编写简单测试程序,控制 GPIO 引脚输出高、低电平。 LED的电路图 过程: 1.拷贝一个库函数编程模板,重新命名。 2.user新建led文件夹,目录下新建bsp_led.h bsp_led.c 阅读全文
posted @ 2018-04-15 09:12 wenshinlee 阅读(2295) 评论(1) 推荐(0)
摘要:固件库模板下载 固件库模板新建过程: 4.1)CMSI文件夹内容为:system_stm32f10x.h system_stm32f10x.c stm32f10x.h core_cm3.h core_cm3.c 文件 并且新建startup文件夹 添加这8个文件 4.2)将下载的固件库中的STM32 阅读全文
posted @ 2018-04-14 11:08 wenshinlee 阅读(987) 评论(0) 推荐(0)
摘要:1-汇编编写的启动文件 startup_stm32f10x_hd.s:设置堆栈指针、设置PC指针、初始化中断向量表、配置系统时钟、对用C库函数_main,最终去到C的世界 2-时钟配置文件 system_stm32f10x.c:把外部时钟HSE=8M,经过PLL倍频为72M。 3-外设相关的 stm 阅读全文
posted @ 2018-04-14 10:32 wenshinlee 阅读(332) 评论(0) 推荐(0)
摘要:构建库函数的过程 我们上篇文章写到用寄存器映射,实现点亮小灯,但是我们发现每次我们都要查看参考手册找到寄存器的内存地址并且定义别名,这样必然很麻烦。 我们可以定义一个结构体,结构体中内容与外设中寄存器的排列顺序是一样的(外设中的寄存器的偏移地址正好为4个字节递增的,我们按递增的顺序在结构体中起别名定 阅读全文
posted @ 2018-04-13 21:48 wenshinlee 阅读(1489) 评论(0) 推荐(1)
摘要:*( unsigned int * )0x40011000 &=~ ( 0x0f << (4*2) );//GPIOC IO 4位清空 *( unsigned int * )0x40011000 |= ( 1 << (4*2) );// 通用推挽输出,速度为10M 我们在使用内存地址点亮LED灯中使 阅读全文
posted @ 2018-04-13 00:19 wenshinlee 阅读(2198) 评论(0) 推荐(0)
摘要:GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚, STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的 GPIO 被分成很多组,每组有 16 个引脚,如型号为 STM32F103VET6 型号的 阅读全文
posted @ 2018-04-12 19:17 wenshinlee 阅读(1332) 评论(0) 推荐(0)
摘要:51单片机点亮一个小灯 STM32中 STM32通过一个寄存器控制电平的输出ODR ;CRL CRH实现在端口的配置(用绝地地址,目前我们没有寄存器映射,上篇文章有写。) 配置PC2使LED点亮 下图为GPIOX_CRL的配置说明 (四位控制一个GPIOx的端口我们要控制PC2也就是GBIOC的第二 阅读全文
posted @ 2018-04-12 09:30 wenshinlee 阅读(1058) 评论(0) 推荐(1)