- 博客(3)
- 收藏
- 关注
原创 BLDC踩坑之霍尔状态获取时刻
这是转子触发的霍尔中断如果在前,后面更新中断从新获取了,所以不影响,在后呢,相当于获取了两次,也不影响。只有可能,频率快到单片机还没吧中断函数执行完,比如本来是011,写到01时就被另一个中断打断比如更新中断,这是更新中断读取霍尔状态就是错误的!如果正好是和pwm的周期一样,那获取霍尔状态的时刻岂不是和在更新中断里一样!只要线圈pwm存在,磁场就会不断变化,只要磁场不断变化,霍尔输出就会不断变化,这样中断就会不断产生!所以,把霍尔引脚配置成中断引脚,在中断里里获取霍尔状态是不行,且没必要的!
2023-12-12 10:01:24 519
原创 STM32操作BSRR寄存器用/=和=的区别
有个问题,因为BSRR寄存器只能写1,写0是无效的,所以在想要只改变单独一个引脚电平且不影响其他引脚时可以直接写入"=",不必使用"|="BSRR寄存器的优点多多,所以官方HAL库操作GPIO都是使用的BSRR寄存器。因为没法实验验证到底哪个快!理论上"="要会快点,毕竟不用比较直接对位进行覆盖。但如果速度相差不大还是我觉得还是用BSRR |= (1<< n)吧!现在问题就来了,"="和"|="到底哪个更快呢?通常操作寄存器我们都习惯用"|="下面是官方库函数写寄存器的方法。
2023-10-13 13:50:41 144
原创 (学习stm32记录),对结构体指针和含有指针的结构体的一点点理解
我的理解是结构体为一种自己定义变量的一种变量,所以它的内存长度是不确定的。就可以让结构体指针指向(相同类型结构)体的数组的第i个元素,注意:但不能让它指向里面的成员如p=num[2].sex!先定义了结构体的构成,同时就确定了内存的长度,但这时不会分配内存,因为相当于只是定义了一种变量。就定义了结构体stu类型的指针,只可以用它指向相同结构的结构体哦!这时才定义了结构体num1,会把之前定义的内存长度分配给它。普通指针最好不要指向结构体,要用结构体指针指向结构体。带有指针成员的结构体,指针的操作为。
2023-09-08 17:22:25 321 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人