- 博客(25)
- 收藏
- 关注
原创 HRTIM-高精度定时器
高分辨率定时器可以生成多达12个具有高精度定时的数字信号。它主要用于驱动电源转换系统,如开关模式电源或照明系统,但只要需要非常精细的时序分辨率,它就可以用于通用目的。其模块化架构允许生成独立或耦合的波形。波形由自包含的定时(使用计数器和比较单元)和广泛的外部事件(如模拟或数字反馈和同步信号)定义。这允许产生各种各样的控制信号(PWM、相移、恒定Ton等),并解决大多数转换拓扑问题。出于控制和监控目的,定时器还具有定时测量功能,并与内置的ADC和DAC转换器相连。
2025-02-21 14:57:23
677
原创 STM32G4系列ADC采集与配置
本节介绍最多5个ADC的实现:ADC1和ADC2紧密耦合,可以在双模下运行(ADC1为主)。ADC3和ADC4紧密耦合,可以在双模下运行(ADC3为主)。ADC5独立控制每个ADC由一个12位逐次逼近模数转换器组成。每个ADC最多有19个多路复用通道。各种通道的A/D转换可以以单模式、连续模式、扫描模式或不连续模式进行。ADC的结果存储在左对齐或右对齐的16位数据寄存器中。ADC映射到AHB总线上,以实现快速数据处理。模拟看门狗功能允许应用程序检测输入电压是否超出用户定义的高阈值或低阈值。
2024-11-18 20:06:00
1659
2
原创 keil的逻辑分析无法加信号
重点来了,如果要看定义的变量的变化,一定要把断点打到main函数开头,然后运行到断点处,这个时候再点击右键变量加入到逻辑分析仪中。如果一进debug程序没运行就把变量加入到逻辑分析仪中会遇到下面这种情况,因为定义的变量程序要走过去才能识别记录,首先点击魔术棒电机DEBUG选项,然后勾选上下图 use Simulator选项。所以我们把断点打到main函数开头,运行到断点,再加就会加进去。然后右键点击变量,设置为位,然后运行就可以看波形。然后点击下图选中按钮进入调试状态。
2023-10-11 15:43:37
1025
原创 AD7799
均为适合高精度测量应用的低功耗、低噪声、完整模拟前端,内置一个低噪声16位/24位Σ-Δ型ADC,其中含有3个差分模拟输入,还集成了片内低噪声仪表放大器,因而可直接输入小信号。当增益设置为64、更新速率为4.17 Hz时,AD7799的均方根(RMS)噪声为27 nVAD7798的均方根(RMS)噪声为40 nV。片内特性包括一个低端电源开关、基准电压检测、可编程数字输出引脚、熔断电流控制和一个内部时钟振荡器。输出数据速率可通过软件编程设置,可在。
2023-06-05 10:13:30
9714
1
原创 ADS8361
FEATURES:● 2个同时输出16位DAC ● 4个完全差分输入通道 ● 每通道2μs的吞吐量 ● 四个通道总吞吐量为4μs ● 低功耗:150mW ● 内部参考电压 ● 灵活的串行接口 ● 可将12位ADS7861升级为16位 ● 引脚与ADS7861兼容 ● 工作温度范围: -40℃ 到 +125℃APPLICATIONS:● 电机控制 ● 多轴定位系统 ● 三相功率控制DESCRIPTION:ADS8361是一款双通道、16位、500kSPS模数转换器(A/D),具有四个完全差分输入通
2023-06-04 12:40:19
2475
原创 AD5410高精度、高速率12位电压输出数字-(DAC)
输出电流范围可编程为4mA至20 mA、0mA至20mA或者0mA至24mA的超量程。该器件采用10.8 V至40V(AD5410/AD5420AREZ)或10.8V至60V(AD5410/AD5420ACPZ)范围的电源供电。当该引脚连接到地时,将禁用内部电源,并且必须连接外部电源到DVCC引脚。使该引脚高电平触发将输出电流设置为零刻度值,具体取决于所编程的输出范围,即0 mA至20 mA、0 mA至24 mA或4 mA至20 mA中的零点值,可能是0 mA或4 mA。对于数据寄存器,输出电流也会更新。
2023-06-02 17:54:35
1303
原创 无刷直流电机和电调如何工作
对线圈施加电流就会产生磁场,磁感线和磁极的方向取决于电流方向,施加电流,线圈将产生磁场,吸引转子的永磁体,如果我们依次激活每个线圈,由于永磁体和电磁体之间力的相互作用,转子将持续旋转,为了提高电动机的效率,我们可以将两个相对的线圈作为单个线圈缠绕,从而产生与转子磁极相反的磁场,获得双倍吸引力。为了使转子完整地旋转360度需要6个步进或6个时间间隔,看下电流波形我们可以注意到,在每个时间间隔中有一个相的电流为正相位,一个相的电流为负相位,而第三个相被关闭,无刷电机可以是内转子也可以是外转子。
2023-05-29 21:31:59
2654
原创 STM32f103--DMA配置
当设置了DMA_CCRx寄存器中的MEM2MEM位之后,在软件设置了DMA_CCRx寄存器中的EN位启动DMA通道时,DMA传输将马上开始。当DMA_CNDTRx寄存器变为0时,DMA传输结束。从外设(TIMx[x=1、2、3、4]、ADC1、SPI1、SPI/I2S2、I2Cx[x=1、2]和USARTx[x=1、2、3])输时的开始地址是DMA_CPARx或DMA_CMARx寄存器指定的外设基地址或存储器单元。DMA传输,需要在关闭DMA通道的情况下,在DMA_CNDTRx寄存器中重新写入传输数目。
2023-05-28 17:13:50
1462
原创 串口屏的学习与使用
第一次用的话需要添加字库,下边操作步骤,gb2312是带中文,选择这个,其他随意,然后生成字库保存地方。举个例子,单片机检测屏幕按键按下,然后执行操作,操作完发送屏幕更新,模拟这个过程。2选择路径和命名后选串口屏型号,具体型号看你使用串口屏背面即可,背面印刷的有。设置波特率,不要空格,前初始化事件就是上电之前也就是初始化页面之前执行的代码。点击下载:用一个usb转串口,串口屏的TX接RX,RX接TX。右下边属性,右边页面,左边工具箱,下边事件输入。点击工具箱文本,会出来一个文本,点击属性对他编辑。
2023-05-28 11:00:04
2096
原创 STM32f103--ADC配置
2.对于规则通道,选中EXTI线路11或TIM8_TRGO作为外部触发事件,可以分别通过设置ADC1和ADC2的ADC1_ETRGREG_REMAP位和ADC2_ETRGREG_REMAP位实现。注意: 在双ADC模式里,当转换配置成由外部事件触发时,用户必须将其设置成仅触发主ADC,从ADC设置成软件触发,这样可以防止意外的触发从转换。2.在某些双ADC模式中,在完整的ADC1数据寄存器(ADC1_DR)中包含了ADC1和ADC2的规则转换数据。通过设置ADC_CR2寄存器的ADON位可给ADC上电。
2023-05-27 16:41:56
4741
原创 无人机学习
二极管:开关闭合的时候也就是MOS管导通,电机一直在转,当MOS管断开,电机里有线圈,有线圈我们可以把电机理解为电感,MOS管断开的时候线圈还有电流,也就是电机上还有电流,处理这部分电流加个二极管,在MOS管闭合的时候与电机形成回路消耗这部分电流。三、电容一般容量和耐压不同,0805最大工作电压和最大负载电压是400V和800V,0603最大工作电压和最大负载电压是200V和400V,所以两者的耐压不同。二、电阻相同阻值功率不同,0805功率是1/8W,0603功率是1/10W,所以两者的功率不同。
2023-05-27 13:58:39
1518
原创 STM32f103--DAC输出配置
不能直接对寄存器DAC_DORx写入数据,任何输出到DAC通道x的数据都必须写入DAC_DHRx寄存器(数据实际写入DAC_DHR8Rx、DAC_DHR12Lx、DAC_DHR12Rx、DAC_DHR8RD、DAC_DHR12LD、或者DAC_DHR12RD寄存器)。入寄存器DHR1[11:0]位),将DAC通道2数据写入寄存器DAC_DHR12LD[31:20]位(实际是。入寄存器DHR1[11:0]位),将DAC通道2数据写入寄存器DAC_DHR12RD[27:16]位(实际是。
2023-05-27 13:57:31
5631
原创 AD9910扫频仪
RAM调制模式中,用作RAM样本目标的特定DDS信号控制参数的选择也是通过八个独立的RAM profile寄存器可编程实现的。在RAM调制模式中,生成时间相关的幅度、相位或频率信号的能力使得可以调制控制DDS载波信号的任何参数之一。每次FM增益字值的增加将使16位数据字相对于FTW寄存器中的32位字向左移动,将16位数据字对FTW寄存器定义的频率的影响增加了两倍。表5的行按优先级递减的顺序列出了特定DDS信号控制参数的数据源。斜坡的上界和下界、上升部分的步长和步速,以及下降部分的步长和步速都是可编程的。
2023-05-23 16:03:37
4132
原创 蓝桥杯 国赛 第十届国赛
然后就是串口发送error,刚开始我是一边接收一边判断,但是不好判断错误命令,然后改成接收完判断,好判断错误的命令,但是不好判断什么时候结束,我就规定换行的时候结束。但是这样不知道为啥会打印两遍,然后把\\r\\n放到数据里边就好了。//打印error\r\n的时候数组大小9个刚好,但是这样不知道为什么会多打印出来输入的错误命令,把数组大小换成10个就好了,这种不好,占内存,有三种方法。//判断命令结束条件 \r\n最后两个 所以写入命令的时候要打回车(没有写判断其他无回车换行的命令代码,麻烦。
2023-05-22 20:57:26
311
原创 蓝桥杯单片机组第12届国赛
/矩阵按键***************可以换成2×2(如果 data超出)********完美代码****************//计算距离平均值的时候保留一位小数需要乘10,不在算出平均值的时候乘,直接对dsitance乘,这样可以把小数点后的一位显示出来。//求最小值的时候把第一次测的值赋值给最小值,依次再作比较,这样防止定义最小值的时候为0,最小值一直为0的情况。//=因为没有触发采集距离的时候,数据位不显示,但是平均值那个小数点会显示,所以加一个小数点标志位。
2023-05-22 20:32:01
1061
1
原创 蓝桥杯单片机超声波测量距离
/=============================超声波函数=========================================================================distant=(TH1*256+TL1)*0.017;//声速340m/s,我们显示单位是cm,一来一回除于2。
2023-05-21 20:16:05
218
2
原创 蓝桥杯单片机测频率
T0模式一和模式2都可以。我们定时一个1ms的定时器中断,进200次中断后也就是200ms,测频率就是测1秒P34引脚的买脉冲个数,所以我们可以200ms时候把计的数1取出来然后乘5,就是我们测的频率。只需要加上一个 if() 判断条件即可。//======测量频率===============================================//======测量频率===============================================//T0计数,不开中断。
2023-05-21 20:01:04
833
1
原创 蓝桥杯单片机13届国赛
/ pwm 输出的时候会影响 P05 管脚,所以在 led_handle 函数中,离开的时候把通道改了,让他不影响其他功能,例如加一句select573(0)// number 用来存储继电器开关次数并且写入eeprom里,在湿度界面显示并且验证长按是否把number清零和继电器吸合number是否加1。// eeprom_val用来读取eeprom看是否存储正确,在湿度参数下显示用来验证number是否正确存入。// 考试时不用把number和eeprom_val显示出来,练习只用来验证,考试可去掉。
2023-05-20 16:48:47
1600
3
原创 蓝桥杯单片机组14届模拟题1
/改来改去把data整爆了 回不去了 正常data105个,现在100个都不行 其实是头文件错综复杂的包含错误。写51程序的时候就正常写就行,分太多变量几个文件都要用,头文件包含错误的话不好找错误,找了好久。//超声波测距刚开始出现小问题 判断接收成功条件是 while(TF1==0 && RX==1);写的多了写的时候就不思考了哈哈哈,//例如在主循环里调用了一个函数,而在中断服务中,你又一次调用了同样的函数。//函数加了串口的一些功能 电脑给单片机发送指令 单片机执行并且把命令回显到串口助手。
2023-05-19 19:13:16
197
1
原创 蓝桥杯单片机14届模拟题2
题目如下,按键扫描用的是中断扫描,自从学会了中断扫描的方法之后用了还想用,因为消抖很好。还有就是我总结了一些细节问题:主要太马虎了,写的时候会因为一个小错误浪费世间,所以每次写的时候把遇到的问题写下来,供自己回顾记忆,都很简单,看看笑笑就好://main写成了mian//按键扫描的时候规定按键按下为0,// case 0:h0=0;h1=1;break;// case 1:h1=0;h0=1;break;// 扫描那一行就把哪一行拉低,因为按下为零是我们判断条件 也试了设置为按下
2023-05-19 19:03:10
333
1
原创 第十四届蓝桥杯单片机组省赛
完整代码,全部功能已实现,测频率 T0计数 T1定时矩阵按键采用2×4,中断扫描法写的,强烈推荐终端扫描的方法,一点都不抖,而且可以决定是按下按键执行我们需要的功能还是松手按键执行功能,还可以实现长短按功能
2023-04-30 13:14:04
1207
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人