自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 stm32第五次学习

STM32的常见的定时器资源系统嘀嗒定时器SysTick这是一个集成在Cortex M3内核当中的定时器,它并不属于芯片厂商的外设,也就是说使用ARM内核的不同厂商,都拥有基本结构相同的系统定时器。主要目的是给RTOS提供时钟节拍做时间基准。看门狗定时器WatchDog实时时钟RTC基本定时器:TIM6、TIM7通用定时器:TIM2、TIM3、TIM4、TIM5在基本定时器的基础上,实现输出比较、输入捕获、PWM生成、单脉冲模式输出等功能。这类定时器最具代表性,使用也最广泛。

2021-03-05 15:49:11 549 1

原创 stm32第四次学习

STM32的中断系统中断、中断源、中断向量、中断优先级、中断服务函数....ARM Cortex M3内核支持256个中断,包括16个内核中断和240个外设中断,拥有256个中断优先级别。STM32的中断通道可能会由多个中断源共用。这就意味着,某一个中断服务函数也可能被多个中断源所共用。所以,在中断服务函数的入口处,需要有一个判断机制,用以辨别是那个中断触发了中断。STM32中有2个优先级的概念:抢占优先级和响应优先级,每个中断都需要指定这两种优先级。Cortex M3内核中有一个称为嵌套向

2021-03-05 15:47:31 407

原创 stm32第三次学习

HAL库中电平输入函数GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin);例:判断PC13引脚的输入信号,若为高电平,则将PB9引脚控制的LED灯的开关状态切换。if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13)==GPIO_PIN_SET ){HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);}STM32CubeMX配置基础配置和之.

2021-03-05 15:46:08 276

原创 stm32第二次学习

STM32的GPIO端口知识要点STM32芯片最拥有GPIOA、GPIOB...GPIOG等7组端口,每组端口最多拥有Pin0、Pin1...Pin15共16个引脚。STM32的每个IO端口都可以自由编程,但IO端口寄存器必须按32位字被访问。STM32的每个IO端口都由7个寄存器来控制。STM32的I/O端口可以由软件配置成8种模式:1-推挽输出 2-开漏输出 3-推挽式复用功能 4-开漏式复用功能 5-模拟输入(AD转换的模拟信号) 6-浮空输入 7-下拉输入 8-上拉输入GPIO电平输出

2021-03-05 15:44:37 210

原创 STM32学习第一课

STM32的GPIO端口知识要点STM32芯片最拥有GPIOA、GPIOB...GPIOG等7组端口,每组端口最多拥有Pin0、Pin1...Pin15共16个引脚。STM32的每个IO端口都可以自由编程,但IO端口寄存器必须按32位字被访问。STM32的每个IO端口都由7个寄存器来控制。STM32的I/O端口可以由软件配置成8种模式:1-推挽输出 2-开漏输出 3-推挽式复用功能 4-开漏式复用功能 5-模拟输入(AD转换的模拟信号) 6-浮空输入 7-下拉输入 8-上拉输入GPIO电平输出

2021-02-11 00:47:53 219

原创 嵌入式C学习第四课

结构体的参数传递参考文章:https://blog.csdn.net/lin37985/article/details/38582027一是传递结构体变量,这是值传递,二是传递结构体指针,这是地址传递,三是传递结构体成员,当然这也分为值传递和地址传递。以传引用调用方式传递结构比用传值方式传递结构效率高。以传值方式传递结构需要对整个结构做一份拷贝。下面看一个列子,student结构体中包含该学生的各种信息,我们在change函数中对其进行部分修改,再在主函数中输出其结果1.下面传递结构体.

2021-02-05 23:41:54 78

原创 嵌入式C学习第三课

内存操作内存分配数据放哪里栈空间:局部变量、函数形参、自动变量(调用后释放)堆空间:malloc、realloc、calloc分配空间数据段:.bss:保存未初始化的全局变量.rodata:常量.data(静态数据区):全局变量、static修饰的局部变量内存分配方式(1)从全局数据区分配(2)在栈上创建(3)在堆上创建常见的内存错误(1)内存分配未成功,却使用了它(2)内存分配虽然成功,但是尚未初始化就引用它(3)内存分配成功并已经初始化,但操作越过了内存的边界(4)...

2021-02-04 23:23:16 61

原创 嵌入式C学习第二课

typedef 类型别名typedef用于为现有类型创建一个新的名字,称为类型别名,可简化变量的定义。在嵌入式系统开发中, typedef常用于定义结构体别名和枚举类型了。struct _GPIO{ __IO uint32_t MODER; __IO uint32_t OTYPER; ......};上述指令定义了一个结构体 _GPIO。结构体结构体是一种工具,用这个工具可以定义自己的数据类型。与数组相比,结构体中各个元素的数据类...

2021-02-03 22:57:56 573

原创 嵌入式C学习第一课

嵌入式C学习第一课define 宏定义Define是C语言中的预处理指令,用于宏定义可以提高源代码的可读性。常见的格式为:#define 标示符 字符串其中,“标识符”为所定义的宏名;“字符串”可以是常数、表达式和格式串等。例如:#define PLL_Q 7 //定义标识符PLL_Q的值为7ifdef 条件编译条件编译命令可以实现:当满足某条件时对一组语句编译,而条件不满足时编译另一组语句的功能。常见的格式为:#ifdef 标识符 程序段1#else 程序段...

2021-02-02 17:54:22 311

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除