- 博客(38)
- 收藏
- 关注
原创 长尾式差分放大电路调零
长尾式放大电路用了两个参数相同的三极管,但实际上并没有完全相同的三极管,所以为了提高差分放大电路的对称性(一边电流增加多少,另一边电流减小多少,即能在电阻Re上产生的压降不变(后面做虚地处理)),在下图中加入可调电阻。可调电阻尽量选小一些:①过大的可调电阻会影响动态的放大倍数,②在选三极管时选的是参数接近的三极管,所以用小的可调电阻微调即可。
2024-06-22 10:22:01
656
原创 模电电流源相关知识总结
上述三种电流源的公式推导都是忽略了基极电流(此时认为IR=Ic0),而实际中,如果在基本电流源中采用横向PNP型管,则β只有几倍到几十倍。产生原因:镜像电流源在要求Ic1很大的时候,对应的IR也很大,即功耗和发热都严重,所以诞生思路:用较小的IR控制较大的Ic1,即比例电流源。说明:要求Ic1很小,上图中:Ubeo=Ubeo+IE1*Re,可算IE1,而Ubeo和Ubeo接近。电路图很好理解,T0和T1两个晶体管参数相近,即当施加相同的Ube时,对应的Ic也相同。可用图中的电阻R来控制电流源的电流。
2024-06-20 19:56:17
1599
原创 三极管做简易音频放大器步骤
需要确定一个静态工作点(电源V2和Rb,Rc共同实现了三极管处于放大状态,Rb稍大点,静态工作点的选择,决定了Q点的位置,不同的Q点,相同的输入信号,就会造成ic的变化。极管的基极,那么三极管将不会打开!分析1:输入的信号无法打开NPN三极管,所以需要直流电源使三极管一直处于放大状态,即此时。Rc稍小点),而静态工作点的选择又极其重要!注: 可能看到这里你会有一个疑问,直流信号和输入信号之间不会相互影响嘛。已知:使用NPN三极管,输入的信号为0mV到几十mV,设计一个简单的音频放大器。
2024-04-09 22:15:59
2102
8
原创 PN结相关知识
先看P区,P区中空穴为多子,而由于内电场的作用,使P区中的空穴几乎无法向N区移动,但其中还有由于本征激发产生的少子——自由电子,所以总有那么一两个能量高的自由电子,越过空间电荷区这个“势垒”,跑到N区,而与之对应的,也有从N区的空穴跑向P区。),P区中多子(空穴)被外加电场推向空间电荷区,N区中多子(自由电荷)也被推向空间电荷区,造成的结果是空间电荷区变窄,扩散运动加剧,漂移运动减弱,加到一定电压后,产生扩散电流,即导通。我们把空间电荷区的部分叫做势垒区,把PN结中除了势垒区的部分叫做扩散区。
2024-04-03 12:01:26
862
原创 FreeRTOS的 vTaskDelay() 函数和 vTaskDelayUntil() 函数
vTaskDelay() 函数:相对延时,即相对于当前时间进行延时vTaskDelayUntil() 函数:绝对延时,即相对于上一次的唤醒时间进行延迟这两个函数延时都是延时节拍数的!以上1000的单位为Hz。
2024-01-03 21:03:15
744
原创 FreeRTOS 其他任务 API 函数(主要用于调试)
define portSTACK_TYPE uint32_t(每个字节8位,32位数字就是4个字节)有一点需要注意的是申请内存的操作:(其申请内存的操作和C语言一样)返回值约接近于0,那么越接近于栈溢出!
2024-01-01 17:13:51
565
原创 STM32 delay_xms()和vTaskDelay()的区别
在正点原子FreeRTOS的视频中(讲解中断实验)说到,在portDISABLE_INTERRUPTS();关闭中断时,如果使用 vTaskDelay();进行延时,可能会使中断重新打开!(这里的中断指优先级等级低于 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 宏定义的中断,比 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 高的优先级无法屏蔽!
2023-12-28 22:15:23
657
原创 STM32 NVIC结构体中成员偏移量的具体计算
前面所说,每32位寄存器由4个8位寄存器组成,而每8位的寄存器对应着一个地址,即对于 NVIC_Type 的前两个成员来说,就对应了128个地址(128=(8+24)*4)!这就是为什么第三个成员的偏移地址为128的原因了(128的十六进制为0x80)。需要知道的一个前提是 NVIC_Type 中的成员是32位寄存器,但其实每个32位寄存器都是由4个临近的8位寄存器组成的。第三个成员为 __IO uint32_t ICER[8];以 NVIC_Type 中的成员和地址偏移为例:(
2023-12-28 20:16:18
530
原创 FreeRTOS的静态方法创建任务和删除(标准库)
本文以FreeRTOS的静态方法创建任务和删除(标准库),使用的电路板为STM32F103C8T6
2023-12-26 15:46:17
965
原创 STM32标准库使用串口2-匿名上位机V7的两种方式(不用DMA和使用DMA)
STM32标准库使用串口2-匿名上位机V7的两种方式(不用DMA和使用DMA)
2023-11-08 14:32:47
308
1
原创 INA226采样电流时遇到的bug
INA226读取到的电流和PCB布局有关:采样电阻和理想二极管在顶层,INA226采样在理想二极管正下方的底层,理想二极管属于噪声源,会对INA226采样造成影响。当我打开学生电源,负载仪调至OFF时,学生电源显示为0.2A,而在keil的debug中读取的电流为0.9A;负载仪调至ON时,学生电源显示为1.2A,debug中读取电流为4A。将理想二极管飞线即可正常读取。
2023-10-31 16:55:32
1286
1
原创 VSCode配置STM32环境笔记
Cortex-Debug:配置cortex-debug.armToolchainPath和cortex-debug.openocdPath路径。Embedded IDE:需要配置AC5或者AC6编译器路径,Keil MDK-ARM。注:当你安装了以上拓展时,在你的拓展里还会出现一些“附带品”,这些“附带品”并不影响使用。调试的时候需要设置下launch.json中的configfiles中的target。Chinese(Simplified)(简体中文)koroFileHeader(补足头文件使用)
2023-10-23 00:56:43
305
原创 stm32寄存器实现定时器闪灯
查阅寄存器文档链接:https://pan.baidu.com/s/1Tb_-s-itp4_eatxsewLLlg。代码链接:https://pan.baidu.com/s/1jQQ5ZRt5Lxrqv-4y8gEyFA。
2023-10-19 16:04:15
61
1
原创 STM32F103C8T6写ADC1(通道八,通道九)+DMA 采样时遇到的bug!!!(很恶心的bug。。。)(无法读取正确的电平)
遇到这个bug以后仔细想想,①和②虽然都是初始化, 但②是对使用ADC外设的初始化,重在使用;①是通道初始化,是进一步细致的初始化。②的初始化顺序就应该在①的前面,怎么一想,这个奇奇怪怪的bug也就勉强能说得通了(心理安慰)(心理安慰),比如DSPF28335对上电顺序还有要求嘞:内核电源先上电,3.3V才能上电,否则I/O引脚就会产生不稳定的状态!在写ADC+DMA采样时,遇到了一个很恶心的bug,就是初始化代码的位置顺序会影响代码运行的正确性!读取电压时,显示读取的内容固定是20V左右。
2023-10-09 22:23:57
300
1
原创 在Keil MDK的debug中,有些语句没有被编译到
如果语句被正常编译,前面会出现一个灰色块,像序号1那样。如果语句没有被编译,前面就显得有些白色。那么为上面没有被编译呢?将箭头3所示改低即可。将编译器版本降低即可。
2023-09-22 20:06:56
774
2
原创 链表写一个简单的学生管理系统(DEV C++)
这个代码我写了两份,一份比较简单的,没什么创新点;另一份我个人还算满意,用的是链表。第二份代码链接我放到了下面,需要自取。链接:https://pan.baidu.com/s/1kBiHVqVh2kq-VKX6A40t_w。
2023-08-08 21:52:37
93
原创 立创EDA专业版(网页,全在线模式)开源导入立创EDA专业版(PC端,半离线模式)
立创EDA专业版(网页,全在线模式)开源导入立创EDA专业版(PC端,半离线模式)图文教学
2023-07-30 17:31:06
13600
12
原创 Keil报: warning: #223-D: function “某某某“ declared implicitly 的警告,三个解决方法
③(我个人遇到的比较奇葩的原因)(emmm。使得尽管在A.h中包含了B.h中的函数,但仍然警告。②看函数定义有没有出错,函数定义有一点不同就会出现上述原因,解决:①看有没有 include 相关头文件。原因:找不到“某某某”函数。
2023-07-06 13:33:34
27340
19
原创 STM32 DMA 讲解,关于两个数据宽度,BufferSize,DMA模式使用和注意事项
STM32 DMA 讲解,关于两个数据宽度,BufferSize,DMA模式使用和注意事项,很清晰的喔
2023-07-04 14:47:09
6916
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人