已经简单的学习了GPIO,NVIC,EXTI,SYSTICK这几个方面的大概;通过点亮LED灯,通过按键控制灯的亮灭,按键中断,LED延时等等,虽说只是些小程序,但这些小程序其实是依靠了ST和ARM成熟的技术支持才得以实现出现的,下面就看看他们具体做了什么?ARM处理器相关函数:启动文件:初始化堆栈指针初始化程序计数器(Reset_handler)初始化中断向量表配置系统时钟调用C库函数_main
在各类通信中,常使用memcpy将接收到的字节数组(如:unsigned char buffer[100]),直接复制到结构体当中,无须解码,直接使用结构体中的变量就完事了。但,使用MDK5作为IDE, 对STM32芯片进行编程完成类似操作时,确并不如意。相关代码如下:// 如果有一些似曾相识的感觉,那应该是上一篇讲STM32用中断实现串口通信的文章 #include "usermain.h" #
转载 2024-05-07 22:01:01
1109阅读
1.GPIO初始化函数 第1个参数设置GPIO端口,第二个为结构体设置模式 GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 2.读取输入电平函数  uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);  读取某个GPIO输入的
stm32f10x_con.h      配置文件:加载哪个外设、使能assert 对参数进行检查,如果使能了assert 需要在main文件中添加 _assert_faild 函数。 使能assert会增大编译出执行文件的大小,调试完后可以将assert 屏蔽。stm32f10x.h头文件中包含了stm32f10x_conf.h 。   stm3
前言在中国,熟悉单片机的人士大多会听说过STM32。这是意法半导体(STMicroelectronics, 简称ST)的32位微控制器(MCU)家族,基于ARMCortex-M内核。2007年,STM32F1诞生。这是业界首款搭载ARM Cortex-M3内核的32位MCU,采用180nm闪存工艺,配有128KB闪存和20KB RAM,运行主频为72MHz,在当时属于相当高的配置。随后的10年内,
第一次接触了memset() 函数。 感觉的确是一个能够高效的实现对一个array 进行一次性初始化的fancy way。 下面给出介绍:memset() 函数定义在头文件<<cstring>>中, prototype 如下: void * memset ( void * ptr, int ch, size_t num );函数的作用是: fill the first nu
关于GPIO库函数的重点函数:P122 GPIO_Init() :根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器; GPIO_ReadInputDataBit():读取指定端口管脚的输入; GPIO_SetBits():设置指定的数据端口位; GPIO_ResetB...
转载 2014-08-16 16:16:00
239阅读
2评论
(1)打开keilMDK主界面能够看到project中有一个默认的project,点击这个project名字,然后选择菜单Project->Close Project,就关闭掉这个project了!这样整个 MDK 就是一个空的了,接下来我们将建立我们的project模版。(2)在建立project...
转载 2014-09-02 12:24:00
113阅读
针对STM32掉电保留函数,FLASH读写
转载 2014-12-12 17:12:00
132阅读
2评论
我们要想深刻理解某个东西,充分利用某个东西,甚至对其作出预言,就需要为它建立一个模型。本文以STM32F429执行速度为切入点,讲了两个方面:1、STM32F429执行速度模型2、建立模型的过程和意义您仔细读完本文的收获是:1、一个完整的STM32执行速度模型,可指导软件开发。2、理解建模过程,提升解决问题的能力。影响指令执行速度的因素很多,包括核心频率,存储器频率,外设频率,电压,代码位置,指令
STM32例子-------流水灯(标准库函数)工程在这里分为三个程序。main.c ;LED.h ;LED.c
原创 2021-06-07 17:53:50
679阅读
memest原型 (please type "man memset" in your shell)  void *memset(void *s,  int c, size_t n); memset:作用是在一段内存块中填充某个给定
STM32 学习6 库函数 CMSIS标准一、简介二、固件库文件夹介绍三、库函数工程模板一、简介CMSIS 是 Cortex MicroController Software Interface Stan
原创 2021-09-22 16:45:13
315阅读
在将模板文件添加到工程中后, 1、点击魔术棒,选择C/C++,添加头文件的路径; 2、C/C++里面的define内填入:STM32F10X_MD,USE_STDPERIPH_DRIVER; 3、Output-->select。。选择Output文件夹(为了好看) 根目录:
转载 2016-07-29 16:01:00
363阅读
2评论
在keil中新建STM32的工程文件,该工程基于STM32F1。同样也是根据正点原子的文档进行操作。1.1.新建一个文件夹,自己根据所要进行的项目进行命名“超声波测距”,同样在内部新建“USER”;2.打开keil,从“Project”选择“New μVision Project...”,如下图:3.将项目定位到“超声波测距”的“USER”目录下,然后按照自己的需求进行命名; 4.然后会弹出选择框
原创 2022-06-17 20:59:22
587阅读
1点赞
LED.h#ifndef _led_H#define _led_H#include "stm32f10x.h"/* LED时钟端口、引脚定义 */#define
原创 2021-09-22 15:54:30
332阅读
step1:开启时钟,包括gpio的时钟和afio的时钟,IO口的时钟和复用引脚的时钟都在rcc_apb2perphclockcmd(),也就是都在apb2总线外设上面。 step2: 定义需要用到的结构体变量,也就是使用gpio_inittypedef(通用io口),exti_inittypede ...
转载 13天前
0阅读
前题: 反复阅读了<<M3权威指南>>和<<stm32不完全手册>>的相关章节。 至于中断的什么优先级,什么优先级分组,使能之类的原理,就不再赘述。这里主要是记载
转载 2019-04-20 14:30:00
112阅读
2评论
1.使能外设时钟输入:RCC_APB2PeriphClockCmd函数,查看函数定义,根据函数定义填写参数:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);2.配置端口模式输入函数GPIO_Init,跳转到函数定义,查看函数定义得知函数体的第二个参数是结构体,先定义结构体并且填写结构体的各个参数,然后填写函数参数: GPIO_InitType
原创 2023-12-06 23:10:54
170阅读
STM32库函数编程、Keli/MDK、stm32f103zet6
原创 2022-12-21 08:41:26
749阅读
  • 1
  • 2
  • 3
  • 4
  • 5