“volatile”,在 C 语言中该关键字用于表示变量是易变的,要求编译器不要优化。这些结构体内的成员,都代表着寄存器,而寄存器很多时候是由外设或 STM32 芯片状态修改的,也就是说即使 CPU 不执行代码修改这些变量,变量的值也有可能被外设修改、更新,所以每次使用这些变量的时候,我们都要求 C ...
分类:
编程语言 时间:
2020-04-23 00:25:42
阅读次数:
92
1.bsp_timer0.c文件内容: 1 /* 2 * bsp_timer0.c 3 * 4 * Created on: 2020年4月22日 5 * Author: Mr.W 6 */ 7 #include "./timer0/bsp_timer0.h" 8 9 10 /* 11 * 函数名:b ...
分类:
其他好文 时间:
2020-04-22 16:44:27
阅读次数:
117
微信公众号:小樊Study关注共同学习,问题或建议,请公众号留言!!! 作为一名程序员,在初步学习编程想必都绕不开一个最为基础的入门级示例“Hello World”,那么,在学习单片机时,最基础的入门示例是什么呢?没错,那就是“点亮一盏LED灯”本次将通过一个经典的跑马灯程序,带大家开启 STM32 ...
分类:
其他好文 时间:
2020-04-20 21:27:08
阅读次数:
104
1.ADC是12位的一种逐次型模拟数字转换器,所以进行存储时只能存储在16位数据寄存器中,不能低于12位。其中有16个外部信号源(ADCx_IN0--ADCx_IN15)和2个内部信号源(温度传感器、) 2.ADC时钟--由时钟控制器提供的ADCCLK时钟(RCC_CFGR寄存器设置ADC时钟分频) ...
分类:
其他好文 时间:
2020-04-19 22:16:43
阅读次数:
402
New Embitz 2.0 is coming soon, highlights: Hotplug menu, connect running target without stopping (and inspect with live variables and OS tools)New deb ...
分类:
其他好文 时间:
2020-04-19 19:37:33
阅读次数:
190
1:PWM脉冲宽度调制 STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 4路的 PWM 输出,这样,STM32 最多可以同时产生 30 路 PWM 输 ...
分类:
其他好文 时间:
2020-04-19 15:11:34
阅读次数:
99
五、程序编写1、管脚初始化CS:PG12推挽输出高电平WR:PD5推挽输出高电平RD:PD4推挽输出高电平DC:PF12推挽输出高电平BL:PB15背光灯低电平D0:PD14推挽输出D1:PD15推挽输出D2:PD0D3:PD1D4:PE7D5:PE8D6:PE9D7:PE10D8:PE11D9:PE12D10:PE13D11:PE14D12:PE15D13:PD8D14:PD9D15:PD102
分类:
其他好文 时间:
2020-04-18 10:18:08
阅读次数:
99
指令集架构 1. 指令和指令系统 指令:微处理器依靠指令来进行计算和控制系统,指令是微处理器能够直接识别的底层机器编码。 指令系统:微处理器在设计时规定了一系列与其硬件电路相配合的指令系统,称之为“指令集”或“指令集架构”(简称ISA) 2. 指令集架构: 计算机体系结构中与程序设计相关的一部分,包 ...
分类:
其他好文 时间:
2020-04-17 22:09:41
阅读次数:
130
STM32系统中的2种数据掉电保护方法! 在嵌入式设备开发中,往往需要保存一些掉电不易失性的数据,如果系统配置、用户定制信息等等,如果增加额外的ROM IC,比如(基于I2C的24C02等等)往往会造成额外的PCB空间增大,硬件成本增加,降低产品的性价比。如果单从实用性来讲,在stm32的系统中,诸 ...
分类:
其他好文 时间:
2020-04-17 15:36:46
阅读次数:
123
Cortex-M3 支持大量异常,包括 16-4-1=11个系统异常,和最多 240 个外部中断——简称 IRQ。具体使用了这 240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号,除了 SysTick的之外,全都连接到 NVIC 的中断输入信号线。
分类:
其他好文 时间:
2020-04-16 22:25:32
阅读次数:
94