STM32寄存器编程
文章平均质量分 73
STM32寄存器编程
编程圈子
编程圈子,谢厂节的博客
展开
-
STM32 学习2 程序编写及GPIO调试
一、新建Project:study1二、文件夹设置:三、Options四、通用和复用功能I/O(GPIO和AFIO)每个GPIO端口有两个32位配置寄存器。GPIO寄存器结构:五、编写study1.c内容并编译调试原创 2015-01-07 22:44:18 · 1964 阅读 · 0 评论 -
STM32 学习3 GPIO操作和点亮LED
一、基础知识GPIO寄存器32位配置寄存器:GPIOx_CRL32位配置寄存器:GPIOx_CRH32位数据寄存器:GPIOx_IDR32位数据寄存器:GPIOx_ODR32位置位/复位寄存器:GPIOx_BSRR16位复位寄存器:GPIOx_BRR32位锁定寄存器:GPIOx_LCKR工作模式:输入浮空输入上拉输入下拉模拟输入开漏输出推挽式输出推挽式复原创 2015-01-09 22:11:33 · 6920 阅读 · 1 评论 -
STM32 学习4 寄存器编程跑马灯示例
STM32 学习4 寄存器编程跑马灯示例一、说明新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入一、说明你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以原创 2021-09-19 00:32:19 · 431 阅读 · 0 评论 -
STM32 学习5 寄存器编程LED显示数字
STM32 学习5 寄存器编程LED显示数字一、使用宏定义GPIO要显示的位二、定义数码管显示数字三、主体程序本文对前一节程序稍加改动,用数码管显示0-9的数字。一、使用宏定义GPIO要显示的位// 定义一个宏可以设置显示或关闭显示// 高16位设置8bit全打开// 低16位通过求反关闭不显示的位#define onArray(set) (GPIOC_BSRR = 0xFF0000 | (~set & 0xFFFF))二、定义数码管显示数字int matrix[] = {0x3F原创 2021-09-20 00:05:14 · 779 阅读 · 0 评论 -
STM32 学习6 CMSIS库函数标准及库函数工程模板
STM32 学习6 库函数 CMSIS标准一、简介二、固件库文件夹介绍三、库函数工程模板一、简介CMSIS 是 Cortex MicroController Software Interface Standard,几ARM Cortex 微控制器软件接口标准。其主要目的是解决不同arm生产厂商库函数兼容性问题。二、固件库文件夹介绍在本系列博客第一篇已经介绍了库文件结构。https://xundh.blog.csdn.net/article/details/42472391#t19三、库函数工原创 2021-09-22 16:45:13 · 1425 阅读 · 0 评论 -
STM32 学习7 库函数点亮LED
LED.h#ifndef _led_H#define _led_H#include "stm32f10x.h"/* LED时钟端口、引脚定义 */#define LED_PORT GPIOC #define LED_PIN (GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7)#define LED_PORT_RCC RCC_APB2Perip..原创 2021-09-22 15:54:30 · 514 阅读 · 2 评论 -
STM32学习8 理解STM32的时钟树
STM32学习 12 理解STM32的时钟树一、STM32的时钟源二、内部RC振荡器与外部晶振的选择三、STM32使用时钟的流程一、STM32的时钟源STM32 有5个时钟源:HSI:高速内部时钟,RC振荡器,频率为8MHz。HSE:高速外部时钟,可接外部晶振、时钟源,频率范围为4MHz~16MHz。LSI:低速内部时钟,RC振荡器,频率为40kHz。LSE:低速外部时钟,接频率为32.768kHz的石英晶体。PLL:锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2,倍频原创 2021-08-22 23:21:47 · 552 阅读 · 0 评论 -
STM32 学习9 SysTick 定时器
STM32 学习8 SysTick 定时器原创 2021-09-25 23:51:06 · 1540 阅读 · 0 评论 -
STM32 学习10 位绑定
一、概念把对寄存器某一位的操作,映射到某个内存地址(只有最低位有效)。好处:代码效率更高,速度更快,更改的时候不需要多读一次寄存器。可以用作位绑定的内存区域:片内内存区域、SRAM区 :0x2000 0000 ~ 0x200F FFFF 共1M片上外设区域 :0x4000 0000 ~ 0x400F FFFF 共1M二、公式SRAM区映射的地址AliasAD原创 2015-01-09 23:33:21 · 4419 阅读 · 0 评论 -
STM32 学习11 蜂鸣器实验
STM32 学习12蜂鸣器实验一、蜂鸣器简介二、程序开发1. 位操作定义2. 引脚定义3. GPIO 初始化4. 主函数输出脉冲三、音乐盒程序开发1. 项目架构2. 主程序入口3. beep.h 头文件4. beep.c 乐谱文件一、蜂鸣器简介蜂鸣器主要有: 压电式蜂鸣器和电磁式蜂鸣器。压电式蜂鸣器,由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成,一般是无源是蜂鸣器。电磁式蜂鸣器:由振荡器、电磁线圈、此贴、震动膜片及外壳等组成,一般要接电源。通过改变单片机引脚输出波形的频率,就可以控原创 2021-10-10 23:07:44 · 1800 阅读 · 1 评论 -
STM32 学习12 库函数实现静态数码管显示
STM32 学习12 库函数数码管操作一、说明二、实现1. 封装数码管操作函数smg.hsmg.c2. 主函数一、说明前面已经多次学习到点亮LED的操作。我使用的这个开发板,数码管与LED是连接在一起的,本文对数码管的操作是对LED操作的函数的进一步封装。数据管可能采用共阳或共阴接法,二、实现1. 封装数码管操作函数smg.h#ifndef _smg_H#define _smg_H#include "system.h"/* 数码管时钟端口、引脚定义 */#define SMG原创 2021-10-14 23:52:35 · 2272 阅读 · 0 评论 -
STM32 学习13 串口通讯基础知识
一、基础知识STM32 有3个USART接口(通用同步/异步接收、发送端口,比UART增强了同步功能)异步通讯,发送的时间间隔是任意的,但接收端必须做好接收准备。发送端要有发送开始、停止位,传输效率较低;同步通讯,通讯双方先建立同步,调整同样频率,双方不停发送数据,又分为3种通讯方式:单工双工半双工STM32的USART串口,采用分数波特率发生器,最高速率=72M/16=4.5原创 2015-01-10 18:15:44 · 4202 阅读 · 0 评论 -
STM32 学习六 串口通信2 编程仿真
一、电路二、编程#include "stm32f10x_lib.h"#include void Delay_MS(u16 dly);#define GPIOA_ODR_A (GPIOA_BASE+0x0C)#define GPIOA_IDR_A (GPIOA_BASE+0x08)#define GPIOB_ODR_A (GPIOB_BASE+0x0C)#defin原创 2015-01-10 19:11:42 · 3628 阅读 · 0 评论 -
STM32 学习七 USART通信1
一、概念USART 通用 同步异步收发器,全双工数据交换,利用分数波特率发生器提供宽范围的波特率选择,支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和irDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTX/RTS)操作。它还允许多处理器通信 。 用多缓冲器配置的DMA方式,可以实现高速数据通信。全双工异步通信单线半双工通信使用DMA的可配置原创 2015-01-14 13:32:31 · 9053 阅读 · 1 评论 -
STM32 学习七 USART通信2 寄存器方式编程
一、程序编写:#include "stm32f10x_lib.h"#include void RCC_Configuration(void);void GPIO_Configuration(void);void USART_Configuration(u32);void Delay_MS(u16 dly);#define GPIOA_ODR_A (GPIOA_BASE+0x0C)原创 2015-01-16 09:14:36 · 2717 阅读 · 0 评论 -
STM32 学习八 USART通信3 库函数方式编程
STM32 库是ST公司针对STM32提供的函数接口,即API,开发简便、维护维护、阅读。CMSIS标准(摘自百度百科):为了解决不同的芯片厂商生产的Cortex微控制器软件兼容性问题,ARM与芯片厂商建立了CMSIS标准(Cortex MicroController Software Interface Standard)。以STM32F10XX序列处理为例,介绍CMSIS的原创 2015-01-17 10:26:09 · 1763 阅读 · 0 评论 -
STM32 学习九 通过USART实现printf重定向
把printf函数内容通过USART串口输出,可以方便调试STM32内部程序。示例代码如下:/******************************************************************************** Function Name : fputc* Description : 重定向fput,以实现重定向printf* Retu原创 2015-01-17 10:47:04 · 2841 阅读 · 0 评论 -
STM32 学习十 Flash下载与调试
一、启动模式启动模式选择引脚启动模式说明BOOT1BOOT0X0主闪存存储器主闪存存储器作为启动区域01系统存储器系统存储器作为启动区域11内置SRAM原创 2015-01-17 12:34:43 · 2471 阅读 · 0 评论 -
STM32 学习十一 RAM下载与调试
把代码放到RAM,不使用片内FLASH。RAM分两段分别放程序代码、数据区。修改为:RAM2.ini/******************************************************************************//* RAM.INI: RAM Initialization File原创 2015-01-17 13:21:40 · 2406 阅读 · 1 评论