- 博客(20)
- 收藏
- 关注
原创 stm32 编码器测量电机位置
时基单元的时钟是编码器来提供的,PSC就是编码器的分频系数,PSC=0,拧一次cnt+1,为1时,宁两次才+1,ARR是周期,如果设置为10,就是cnt=10之后清空,我想设置为100。编码器A相/B相/AB相产生的脉冲,作为时基单元的输入,去驱动时基单元的计数器CNT。小的旋转编码器和平时用的带编码器的电机都是一样的。我比较喜欢用A/B向来计数,所以选择了模式1。极性:选择上升沿(只需要设置这个)分频:这个信号输入后分频与否。
2024-12-30 08:46:44
302
原创 stm32定时器TIM输出PWM驱动电机调速
AIN1(AO1) 0 AIN2(AO2) 1 反转AIN1(AO1) 1 AIN2(AO2) 0 正转由图可见我AIN1和AO2接了,所以原理正好相反。
2024-12-30 06:23:19
348
原创 stm32定时器TIM输出PWM
主要用到的是输入捕获TIM配置,用到的是PA11,TIM通道4PSC=7,ARR=99,因为时钟频率是8MHZ,所以定时周期10KHZ=0.1ms=8MHZ/(7+1)*(99+1)counter mode 计数方向,选择上计数repetiton 重复计数器RCR=0auto-reload:自动重装寄存器,为了防止跑飞,使能选择通道模式所以:选择PWM模式设置CCR初始值,CCR决定占空比CCR预加载,使能后update发生后才生效正常输出的极性,HIGH正,LOW负。
2024-12-30 03:58:11
319
原创 FPGA频率计数器(还在更新ing)
周期测量法是先测量出被测信号的周期T,然后根据频率f = 1/T求出被测信号的频率。在这个过程中,由于计数器在测量时只能对整数个周期进行计数,因此当实际测量时间结束时,如果最后一个周期尚未完成,则无法计入,导致测量结果偏低;反之,如果多计了一个未完成的周期,则测量结果偏高。这种误差即为±1个被测信号周期的误差。频率测量法是在固定时间内对被测信号的脉冲数N进行计数,然后求出单位时间内的脉冲数,即为被测信号的频率。
2024-12-23 06:56:52
903
原创 记录解决steammcommunity443/80端口被占用无法启动服务
打开cmd>>powershell>>netstat -aon|findstr :80|findstr LISTEN。可以通过任务管理器的详细信息查到443被steamcommunity占据。因为之前弄网站,电脑下载了IIS,并且新建了几个网站,绑定的端口都是80。打开了IIS,改变了网站的绑定端口为8888。
2024-11-25 19:12:19
565
原创 stm32系统板-引导模式
12正极,56负极,通过跳线帽弄上拉下拉,13(BOOT0)连一起就是上拉,35连一起就是下拉,246其实连不连都行,但是画都画了。常用的是主闪存存储器,所以BOOT就直接作为一个普通的PB2引脚使用了,所以BOOT0下拉。有些用不到的地方可以用来当3V3的供电或者GND。
2024-10-28 23:01:50
246
原创 stm32最小系统核心板学习笔记-复位电路(更新ing)
如果没上拉电阻的话,按键按下去的那一瞬间电流很大,长按的话说不定按键或者别的东西就烧了。弱上拉就是让R2下面那个点是正/大于0.7VDD就是上拉,由图得最大值是50K欧。而加上电阻R2之后,按下按键有3.3V/10K即为0.3mA的电流通过,非常小。短按的话,由于瞬间电流很大,在触点会有微小的电火花。有供电有心脏,接下来需要一个开关,就是复位电路。开机通过reset引脚去控制。
2024-10-28 22:37:02
197
原创 stm32核心板学习笔记-时钟电路
取个10PF也可以,跟手册稍微出入一点,只要不是数量级的,影响不大,越小的电容,加工出来误差越大,所以扣不扣都行。高电平,只要你的最小值大于0.7Vdd,电压只要大于0.7*3.3,都认为是高电平,高电平就是1。咱们的板子上采用的是外部晶振,接在外面的是外部晶振,如果是内部晶振的话,不用接,里面就有。RF阻值越低越稳定,给它并联一个R6,并联之后的阻值
2024-10-24 17:38:40
381
原创 stm32核心板学习笔记-供电电路(更新ing)
3.0.1 核心板怎么来的 芯片引脚简介_哔哩哔哩_bilibili学习笔记stm32f103c8t6各位代表的含义:F换成L则是代表低功耗C=48脚8=64K一些常见芯片封装方式: 看手册的电气特性这一块:供电范围是2-3.3V但是电脑USB端口供电是5V ,所以需要降压主要记住VIN,VOUT,GND电压转换芯片的内部作用C5,C7(滤波电容)的作用:因为电容能走交流阻直流,电脑来了220V的交流电,虽说做了直流转换,但是5V会不可避免的有些波纹,这些波纹会造成电压不是很稳定,所以要把直流5V的波纹滤掉
2024-10-21 21:58:58
2342
原创 MemoryError: model buffer memory allocation failed
按照说明把TF卡格式化了一下但是还是报这个错(甚至还买了他们家的tf卡怀疑是卡的问题,结果到手发现和我用的tf卡一模一样,白花了30多块钱,心痛)不知道是不是内存不够,这个是模型的大小:1.82 MB (1,910,696 字节)解决方法:把固件换成了那个mini的,就可以成功导入模型了。K210模型缓冲区内存分配失败。用的是01studio的板子。
2024-09-16 18:45:38
662
2
原创 stm32学习记录TIM输出比较
通用定时器的输出比较部分:开始写代码:介绍库函数配置输出比较单元,输出比较单元有四个,一个函数一个单元(重要)给输出比较结构体赋一个默认值配置强制输出模式(不需要掌握)配置快速使能(不需要掌握)外部事件时清除REF信号单独设置输出比较的极性选择输出比较模式,单独更改输出比较模式单独更改CCR寄存器值的函数 (重要)这个函数仅高级定时器使用在使用高级定时器输出PWM时需要调用这个函数,使能主输出否则PWM将不能正常输出PWM.c全部代码因为这些注释粘贴到上面就乱码了,所以再粘一下截屏。
2024-07-13 13:01:12
344
原创 stm32定时器学习记录1
在stm32中,定时器的基准时钟一般都是主频72MHz基本计时器打开RCC内部时钟(基本每个步骤这个都是第一步)选择时基单元的时钟源配置时基单元(包括PSC,CNT,ARR)配置输出中断控制,允许更新中断输出到NVIC配置NVIC,在NVIC打开定时器中断的通道,并分配一个优先级运行控制再写一个中断函数当定时器使能后,计数器开始计数,当计数器更新后就会触发中断,进入中断函数tim库的一些主要函数介绍// 恢复缺省配置// 时基单元初始化。
2024-07-10 02:34:55
1872
原创 solidworks一直设置不了中文问题记录
一开始跟着网上的教程把swii>>lang>>chinese-simplied文件夹里的exe文件双击安装,但是重启软件一直没反应,我记得当时安装教程里解压了两次,好像有次是镜像什么的,怀疑是找错文件夹了,但是我整个soildworks文件夹就那一个swii文件。后来发现就是找错文件夹了,只不过这个正确的文件夹里面没有swii,lang文件夹就直接在根目录了,所以没有找到。软件是根据b站阿奇的图片教程安装的。然后根据下面的教程进行修改。然后就是下图这样,汉化成功拉。
2024-07-05 02:30:00
1020
原创 江科大3-4按键控制led代码学习记录
我们是这样接的,按下的时候传到单片机的是低电平信号,我们希望低电平信号被检测到,所以应该保证没有信号输入的时候,stm32检测到的是高电平,所以选择上拉输入。读取键码要从端口进行读取,所以回到GPIO的函数里寻找 ,如下四个是GPIO口的读取函数。第三个函数:读取输出寄存器的某一个位,输出模式下,看一下自己输出的是什么。PB1端口控制按键,且用的按键是四脚的,按键参考。第四个函数:读取整个输出寄存器。那个检查参数是否有效的函数详见。第二个函数:读取整个输入寄存器。至于为什么设置成上拉电阻。
2024-06-24 19:55:26
679
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人