- 博客(22)
- 收藏
- 关注
原创 STM32 DAC学习日记
STM32F103 的 DAC 模块(数字/模拟转换模块)是 12 位数字输入,电压输出型的 DAC。DAC 可以配置为 8 位或 12 位模式,也可以与 DMA 控制器配合使用。DAC 工作在 12 位模式时,数据可以设置成左对齐或右对齐。DAC 模块有 2 个输出通道,每个通道都有单独的转换器。在双 DAC 模式下,2 个通道可以独立地进行转换,也可以同时进行转换并同步地更新 2 个通道的输出。DAC 可以通过引脚输入参考电压 Vref+以获得更精确的转换结果。
2024-10-31 22:18:38
1127
原创 STM32 ADC学习日记
ADC 即模拟数字转换器,英文详称 Analog-to-digital converter,可以将外部的模拟信号转换为数字信号。STM32F103 系列芯片拥有3 个 ADC(C8T6 只有 2 个),这些 ADC 可以独立使用,其中ADC1 和 ADC2 还可以组成双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量16 个外部和 2 个内部信号源。
2024-10-09 21:28:23
1761
原创 STM32DMA学习日记
DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。是计算机的4种I/O方式中的一种。驱动函数关联寄存器功能描述**__**RCC_AHBENR使能DMAx时钟DMA_CCR初始化DMA开始DMA传输用来连接DMA和外设句柄使能DMA发送,启动传输DMA_ISR查询DMA传输通道的状态。
2024-09-29 19:51:58
923
原创 STM32低功耗实验学习日记
我们将介绍 STM32F103 的电源控制(PWR),并实现低功耗模式相关功能。我们将通过四个实验来学习并实现低功耗相关功能,分别是 PVD 电压监控实验、睡眠模式实验、停止模式实验和待机模式实验内核指令,使用函数的格式__WFI()和__WFE()来调用。__wfi和__wfe是编译器内置的函数,函数内部调用了相对应的汇编指令。驱动函数关联寄存器功能描述(…)SCB_SCR进入睡眠模式(…)进入停止模式(…)进入待机模式(…)PWR_CSR使能WKUP管脚唤醒功能PWR_CR。
2024-09-27 17:57:49
2023
原创 STM32 RTC实时时钟学习总结
STM32F103 的实时时钟(RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相对应的软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统的当前时间和日期。RTC时钟最大的特点就是,可以用作实时时钟。因为普通定时器在MCU掉电后无法运行,而RTC可以通过后备电源供电使其保持运行。
2024-09-25 20:31:29
1421
原创 USMART调试组件学习
USMART 是由正点原子开发的一个灵巧的串口调试互交组件,通过它你可以通过串口助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字(10/16进制,支持负数)、字符串、函数入口地址等作为参数),单个函数最多支持 10 个输入参数,并支持函数返回值显示。实现效果USMART 的特点如下:可以调用绝大部分用户直接编写的函数。资源占用极少(最少情况:FLASH:4K;SRAM:72B)。支持参数类型多(数字(包含 10/16 进制,支持负数)、字符串、函数指针等)。
2024-09-24 21:19:53
1156
原创 STM32 FSMC驱动SRAM
正点原子战舰 / 探索者开发板 板载一颗 1M 字节容量的SRAM芯片:XM8A51216,满足大内存使用需求。16位宽512K(512*16,即1M字节),使用8080并口时序。
2024-08-29 21:57:19
1607
原创 STM32 LCD与FSMC学习
显示器举例优点缺点断码屏数码管、计算器、遥控器成本低,驱动简单,稳定色彩单一,显示内容少点阵屏户外广告屏任意尺寸,亮度高贵,耗电,体积大LCD屏显示器、电视屏、手机屏成本低,色彩好,薄,寿命长全彩稍差,漏光,拖影OLED屏显示器、电视屏、手机屏自发光,色彩最好,超薄,功耗低比较贵,寿命短。
2024-08-27 02:24:43
1009
原创 OLED与8080并口
OLED可应用多种通信协议,8080并口,IIC,SPI等,通过协议规定的时序与命令向SSD1306写入,驱动OLED进行显示8 行,总共 64 行(y 坐标),从高到低对应行数从小到大,如表 24.3.2.1 所示:[外链图片转存中…(img-MRvK1pnw-1724453272197)]上表中 G 代表 OLED_GRAM,G[0][0]就表示 OLED_GRAM [0][0]。其中 x 的范围为:0~127;y 的范围为:0~63。
2024-08-24 06:49:38
1546
原创 stm32 通用定时器原理及具体实现代码
TIM2/TIM3 /TIM4 /TIM5为F1系列的通用定时器。16位递增、递减、中心对齐计数器(计数值:0~65535)16位预分频器(分频系数:1~65536)可用于触发DAC、ADC在更新事件、触发事件、输入捕获、输出比较时,会产生中断/DMA请求4个独立通道,可用于:输入捕获、输出比较、输出PWM、单脉冲模式使用外部信号控制定时器且可实现多个定时器互连的同步电路支持编码器和霍尔传感器电路等。
2024-08-18 17:14:45
1711
原创 STM32基本定时器原理笔记
TIM6/TIM7为F103系列的基本定时器16位递增计数器(计数值:0-65535)16位预分频器(分频系数:1-65536)可用于触发DAC在更新事件(计数器溢出)时,会产生中断/DMA请求。
2024-08-16 17:28:42
1236
原创 C语言实现操作系统吸烟者问题与简单的PV操作
只能实现简单的PV操作,并不能还原真正的进程间通信,另外一定要记得在main函数中初始化semaphore的list,否则block函数会报错(找了一晚上的错才找出来的。利用多线程编程实现简单的吸烟者问题。
2024-05-21 21:18:10
435
1
原创 5.5操作符练习
两个相邻的操作符先执行哪个?取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为。的整型算术运算总是至少以缺省整型类型的精度来进行的。复杂表达式的求值有三个影响的因素。3.访问一个结构的成员。
2024-05-05 21:45:43
243
2
原创 4.27操作符练习
(2).编写代码实现:求一个整数存储在内存中的二进制中1的个数。(3).不能创建临时变量(第三个变量),实现两个数的交换。(1).将某数的某位置从0改成1,或者将1改为0。移位操作符移位后需要重新赋值,不能移动负数位。左边用原该值的符号位填充,右边丢弃。注:他们的操作数必须是整数。
2024-04-27 23:38:34
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人