- 博客(19)
- 收藏
- 关注
原创 关于STM32F4系列软件在线仿真卡死
使用stm32f407软件仿真的时候发现代码无法正常运行,总是卡死在时钟那里,问题代码在于这里一直在等待时钟稳定,注释掉该文件这段代码就好。
2024-08-14 00:45:32
113
原创 pcb中关于“地”的设计
接地的目的主要有以下3点:1、接地可使我们的电路系统中的所有单元电路都有一个公共的参考0电位,也就是各个电路之间没有电位差,保证电路系统能稳定的工作。2、防止外部的电磁干扰。比如机壳接地;为瞬态干扰(ESD)提供了泄放通道;也可使因静电感应而累积在机壳上的大量电荷通过大地泄放;如果电路有使用屏蔽罩或电路的屏蔽体,选择合适的接地,就能获得更好的屏蔽效果!3、保证安全工作。当发生雷电(Surge)的电磁感应时,可避免电子设备损坏。
2024-06-26 22:52:12
342
原创 常见的两种有刷电机驱动方案
一般MCU的IO的负载能力较低,通常维持在几十mA,这样的负载能力很差,对于一些大功率设备,甚至完全无法驱动,尤其像电机这种大功率设备,因此我们需要MOS进行驱动。
2023-11-28 21:07:18
5791
原创 时钟周期、机器周期和指令周期
使用系统内部的定时器,频繁中断读取,但是中断的频繁调度也需要很多时间。用keil的debug功能,右下角可以计算时间,但是好像不是很准。用示波器捕捉io的反转电平时间差。
2023-11-28 20:58:22
87
原创 关于回调函数和函数指针的一些关系以及typedef的介绍
回调函数的作用:一般写程序是你调用系统的API,如果把关系反过来,你写一个函数,让系统调用你的函数,那就是回调了,那个被系统调用的函数就是回调函数。//callBackFunc是一个新的数据类型,定义一个参数为(char *name),返回值为int的函数指针。int play(callBackFunc fn, char* name)//参数2。int playBegin(char* name)//参数1。//视频播放开始....//视频播放结束....//视频播放中....
2023-11-28 20:51:46
39
原创 编码器的介绍与应用
是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。就是每转过单位的角度就发出一个脉冲信号(也有发正余弦信号,然后对其进行细分,斩波出频率更高的脉冲),通常为A相、B相、Z相输出。A相、B相为相互延迟1/4周期的脉冲输出,根据延迟关系可以区别正反转,而且通过取A相、B相的上升和下降沿可以进行2或4倍频;Z相为单圈脉冲,即每圈发出一个脉冲。
2023-11-28 20:50:13
76
原创 操作系统延时函数
vTaskDelay:至少等待指定个数的Tick Interrupt才能变为就绪状态。关于RTOS的学习还是不够深入,后续应当进行更为深刻的学习了解操作系统。vTaskDelayUntil:等待到指定的绝对时刻,才能变为就绪态。2.使用hal库自带hal_delay。osdelay和hal_delay。3.用for进行嵌套。1.使用_nop指令。
2023-11-28 20:48:31
40
原创 全局变量的调用
在某个.c文件中定义的全局变量,在中断中进行赋值,但并没有发生改变(有在.h文件中extern)。然而在main.c文件中定义的全局变量则可以在中断中改变。
2023-11-28 20:41:35
29
原创 c语言的代码规范
链接: https://pan.baidu.com/s/13Nwu4ZxkzNpO9QbMNA6yYA?14断言:对代码的保护,防护措施,出现问题立即终止。当年听课学的,更多还是应该多去看看企业的代码规范和著名操作系统的源码。代码的分层:业务逻辑层->硬件模块层->外设驱动层,只留接口。12.用指针必须判断非空,功能代码前面必须进行安全判断。5.栈,堆,ram,变量过多会溢出覆盖其他变量。4.尽少使用全局变量,否则拖慢速度,命名规范。1.尽量不要用tab键,编译器识别。10.注释风格/**/
2023-11-28 20:29:48
606
原创 射频放大电路
总结:大二工作需要简单接触了射频放大芯片,从皮也不懂,现在也能看明白一些了。现在很多射频放大电路都进行了集成,非专业需求,看懂原理图就能用。真正厉害的果然还是原厂的这一片批人。
2023-11-28 20:21:26
44
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人