- 博客(7)
- 收藏
- 关注
原创 STC8G1K08单片机项目
该项目通过单片机控制按键、RTC、ADC、开关机重启、激光灯,现将代码分享给大家,需要可参考,此部分代码已经验证功能并进行样机测试,可放心使用。IO配置,可使用stc官方stc-isp-v6.93B.exe程序中IO口配置工具进行配置,很方便。RTC采用dapu的芯片,采用软件IIC通讯,这部分后续上传。以上代码由于项目时间很紧,不规范。uart.c(采用状态标志方式,因为通信数据不多,如果多可以采用环形buff方式)
2024-11-11 10:18:35 144
原创 stm32 DMA学习笔记
绿色框为Flash和SRAM存储器,通过以上框图就可以知道DMA用于存储器和外设(蓝框和绿框),存储器到存储器数据转运(2个绿框之间),即外设到存储器,存储器到外设,存储器到存储器(Flash到SRAM)的转运操作。自动重装器:当传输计数器减到0,是否要自动恢复到最初的值,如传输计数器为5,减到0后,如果不使能自动重装器就停止DMA转运,如果使能,传输计数器又变成5,比如转运一个数组,只需要转运一轮就结束,就可以关闭自动重装器,如果是ADC扫描模式+连续转换,就需要一轮转运结束立刻开始下一轮。
2024-10-09 21:39:37 652
原创 stm32 ADC笔记
框1和框2:触发源,前者是规则组的触发源,后者是注入的触发源,都是硬件触发, 触发的作用是让ADC开始转换,可在ADC初始化结构体进行选择(见下图)。a.规则通道数据寄存器用于保存ADC转换结果,只有1个,但是对应了最多16个通道的ADC转换结果,如果数据读取不及时,容易出现数据覆盖问题,所以这个寄存器常配合DMA使用,快速搬移数据,防止覆盖,该寄存器输入为模数转换器的规则通道,输入为ADC转换结果。4.连续转换,扫描模式:指定通道数目为7,将序列1-7转换完置EOC标志,自动开始下一次转换。
2024-09-27 13:27:40 633
原创 stm32输入捕获理解
上图红框为IC的框图,最左边TIMx_CH1/2/3/4为4个通道引脚,异或门的输入接到通道1/2/3,当1/2/3输入引脚有任何一个引脚电平翻转,那么异或门就会产生一次电平翻转,输出通过数据选择器(梯形)到达输入捕获通道1,如果数据选择器选择上面异或门输出,那么TI1就是CH1/2/3共3个通道异或值,选择下面异或门就没用,异或门主要用于三相无刷电机。即可以让通道1的信号输入到通道2,通道2进来的信号也可以输入到通道1,还有个作用就是把1个引脚输入同时映射到2个通道,便于同时测量周期和占空比。
2024-09-25 17:24:20 407
原创 stm32输出pwm波理解
上图红色线为一个PWM波时间,那么其倒数就是PWM频率,从上面可以看出来PWM波频率其实就是计数器从0计数到ARR的时间倒数,CNT从0计到ARR的时间计算:假设时钟源频率CM_PSC=72m,分频系数为PSC=1,那么计一个数是2/72000000(因为PSC是0代表1,1代表2,ARR也是同理),ARR = 100,计ARR个数就是2*100/72000000时间,频率等于72000000/2*100,即PWM频率=CK_PSC/(PSC+1)*(ARR+1)。下图为通用定时器框图中紫色框放大图。
2024-09-25 10:50:49 515
原创 STM32串口学习理解(通俗易懂)
2.来到图片中间位置,发送器和接收器控制主要用于控制发送移位寄存器、接收移位寄存器的工作,以及各种标志位控制,硬件数据流控等(什么是硬件数据流控:假如发送的很快,接收来不及接收,会导致后面发的数据丢失,为了避免这个问题,增加了这个器件,发送端发完数据,接收端接收完成通过一根线告诉发送我接收完了,继续发,就不会出现数据接收不完丢失问题),控制器这里有多条线,我们关注主要的收发数据控制这里,即图中绿色线。今天再一次学习stm32,比之前学习感觉思路清晰一些了,先来看看串口的框图,上图从下往上看。
2024-07-13 22:22:49 417 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人