- 博客(60)
- 收藏
- 关注
原创 FreeRtos的任务挂起与恢复--------参考正点原子
5、判断待挂起任务是否为当前任务:如果挂起的是任务自身,且调度器正在运行,需要进行一次任务切换,如调度器没有运行,判断挂起任务数是否等于任务总数,是:当前控制块赋值为NULL,否:寻找下一个最高优先级任务。1、获取所要挂起任务的控制块:通过传入的任务句柄,判断所需要挂起哪个任务,NULL代表挂起自身。2、判断任务是否在挂起列表中:是:就会将该任务在挂起列表中移除, 将该任务添加到就绪列表中。3、插入挂起任务列表:将待挂起任务的任务状态列表向插入到挂起态任务列表末尾。挂起:挂起任务类似暂停,可恢复;
2024-03-20 08:42:20
722
原创 C语言自学笔记9----用户自定义函数
好吧,这取决于您要解决的问题。在这种情况下,传递参数并从函数返回值更好(示例4)。main()函数内部A_ADD_B();的括号中的空括号表示没有参数传递给函数。函数的返回类型为void。因此,该函数不返回任何值。A_ADD_B();//返回类型为void,表示不返回任何值。//返回类型为void,表示不返回任何值。//返回用户输入的整数。//没有传递任何参数。//从函数返回int。
2024-03-13 17:31:45
511
原创 FreeRtos自学笔记4----参考正点原子视频
3、判断所需要删除的任务:删除任务自身,需先添加到等待删除列表,内存释放将在空闲任务执行,删除其他任务,释放内存,任务数量–4、更新下个任务的阻塞时间:更新下一个任务的阻塞超时时间,以防被删除的任务就是下一个阻塞超时的任务。1、获取所要删除任务的控制块:通过传入的任务句柄,判断所需要删除哪个任务,NULL代表删除自身。2、将被删除任务,移除所在列表:将该任务在所在列表中移除,包括:就绪、阻塞、挂起、事件等列表。被删除的任务将从就绪态任务列表、阻塞态任务列表、挂起态任务列表和事件列表中移除。
2024-03-08 18:39:17
399
原创 自我学习--关于如何设计光耦电路
1.首先明确R2,R3的串联电路不仅仅是为光耦提供驱动电源,更是为了“反向保护光耦前端”,有技术手册我了解EL357N光耦前端反向电压最大值为6V,超过6V则会损坏光耦;如果光耦后端导通,且流过R4电流为1mA时,那么5V电压将全部压在R4上,单片机读取带低电平,R4取4.7KΩ,为保证电路稳定,将R4取10KΩ。
2023-12-21 18:09:48
3509
3
原创 单片机CAN总线的设置与应用(CAN基础知识和以华芯微特SWM211C8T7为例)
CAN是“Controller Area Network”的缩写,意思为“控制器局域网”,是一个ISO(国际标准化组织)串行通信协议。
2023-03-08 10:20:07
1623
原创 射极跟随器--输出增强电路
与共发射极电路类似,射极跟随器主要用于驱动电机与扬声器等阻抗低的负载电路;共发射极放大电路输出阻抗高,射极跟随器电路输出阻抗低,一,NPN射极跟随器由图可见,类似共发射极放大电路,不同的是集电极没有电阻,输出从发射极取出,因为没有从集电极取出信号,故取消集电极电阻,且取出的信号与输入信号一致;且图中偏置电路中两个偏置电阻分压,所以基极电压7.5V,而我们设计电路基本都采用平分电压,从而算出发射极电压,比基极电压少0.6V,设发射极电流10mA就可以算出发射极电阻,射极跟随器输出阻抗几乎为0;输入阻抗
2022-05-01 22:19:05
9116
原创 晶体管共发射极应用电路
一,NPN晶体管与负电源电路;图为使用了NPN晶体管与负电源的共发射极放大电路。只有在负电源的情况下,才能使用该电路。基本电路结构没有变化;正电源为GND,负电源为-15v;注意电容极性;图中发射极直接电容接地,所以图中电路增益为所用晶体管最大增益,如果不需要那么大的增益,可将发射极电容去除,调节发射极与集电极的电阻值来调节增益;二,PNP晶体管与负电源电路图为PNP晶体管负电源电路,与NPN负电源电路结构相似,电源相反,注意电容极性;且图中发射极电阻为3K与510Ω并联值三,NPN晶体管与
2022-04-30 14:41:35
3131
原创 晶体管之基本放大电路NPN共发射极电路
如图是我手绘的基于三极管2sc2458的共发射极放大电路;首先三极管分为NPN与PNP两种;图中为NPN三极管,并且有图我们可以看出输入与输出在地与发射极的地连接在一起,故称之为共发射极放大电路;一,偏置电路图中偏置电路为VCC 到R1到R2到地;所谓偏置就是偏离的意思;偏置电压为直流电压;我理解就是用R1与R2串联电路分压,使得三极管基极B存在电压,使得三极管基极B与三极管发射极E存在正向导通的电压,使得三极管工作;二,耦合电容输入端的耦合电容C1 10μF,输出端的耦合电容C2 10μ.
2022-04-27 00:16:44
6520
原创 stm32与三极管8050NPN集电极开路驱动电路---1
准备做一个检测水位高低来加水的电路,利用单片机STM32引脚来检测水位高低以及作为水泵启动的信号; 首先做水泵的驱动电路,材料是:STM32最小系统,电源220AC转DC5V,DC14V,三极管8050NPN,电阻,DC12水泵; 将DC5V接入单片机最小系统;将水泵接入如下电路!
一前期准备准备一个XY12864中文显示屏,有些屏幕是不带中文字库的,有些屏幕是带有中文字库,我选择的是ST7920中文驱动器二绘制电路板第一张就是基础的stm32最小系统图,USB转5v,然后转3.3v,图中还有DBT-18蓝牙模块,暂时没做处理,我加入蓝牙模块是为了发送数据,这是xy12864屏幕引脚图和我使用STM32引脚控制的连接图,其中3号引脚V0是连接10k电位器三ST7920使用电源5vRS RW 功能说明L L :MPU
2021-10-21 15:47:03
1943
2
原创 stm32关于温度采集数码管显示-------程序(由配置初遍)
stm32关于温度采集数码管显示-------程序 下图程序对比上一篇基本配置都写出来来程序是基本配置,因为程序中死程序是因为时钟冲突导致,所以程序还需调整以下程序均是根据程序初次修改的...
2020-05-25 15:07:26
1916
原创 stm32关于温度采集数码管显示-------程序设计前期思路
上接硬件设计,硬件设计中我们一共使用了20个引脚,一,PC13做一个500ms闪烁的灯,不受任何限制,当pc13灯不断闪烁时,认为程序正常运行;当PC13灯常亮或者常闭时认为程序进入死程序,需要修改程序的时钟匹配,一般程序死掉,因为时间设置冲突,一般同一时间两件事共同需要CPU处理就死掉了。将PC13设置为推挽输出,将电平反转程序,要做一个500ms时钟;RCC将所需要的时钟树打开,TIM做时钟基准,此时a=50,b=200,因为参数设置为10000时是1S中断,所以当a=50,b=200时,
2020-05-22 19:31:09
2603
3
原创 stm32关于温度采集数码管显示--------硬件连接
关于STM32F103C8T6单片机与MAX6675测温,4位数码管显示温度的,MAX485通讯,ADC采集电压识别从机地址的文章。在淘宝上卖的STM32F103C8T6的最小单片机系统,依据引脚画的引脚图,在淘宝上买的最小系统图的硬件上,PC13下拉一个LED灯接地,在编写程序时,可以做一个一秒钟闪烁的灯,来显示程序的运行与中断,如果灯一直闪烁则表明程序一直在运行,如果灯一直亮或者一直灭则表明死程序了,将PA1引脚与13个电阻相连,在程序中将PA1引脚设为ADC1采集电压,其中R16 不接电阻,手
2020-05-09 15:34:49
2690
原创 STM32自学笔记 第十三篇,232通信1
由第一张图我们可以看到,RS232的引脚定义,RS232由两组通信通道,途中只使用一组通道1;而第二张图就是说第一张图那个九针接头引出的10号与11号线的解法,很显然是交错式的,其实就是我输出信号连接到你的输入信号的道理,rs232传输距离近,且是三线连接,而且在传输线上不允许有挂靠多个RS232芯片,rs232适合近距离点对点的传输...
2020-03-11 22:39:47
266
原创 STM32自学笔记 第十二篇,485通信2
由引脚定义可知:引脚2,/RE接收端的使能端(低电位使能,高电位失能)引脚3,DE发送器的使能端(高电位使能,高电位失能)我们可以利用GPIO的一个引脚同时连接引脚2,引脚3,当引脚输出高电平时485做发送器;当引脚输出低电平时485做接受器;利用485总线传输数据,可以在总线上挂255个485总线,例如我们挂靠三个485芯片,在一条总线上,每个单片机对应一个485设置一个为主机,两个...
2020-03-10 22:47:38
683
原创 STM32自学笔记 第十二篇,485通信1
485芯片是用于半双工通信设备,具有单电源5V工作,距离传输远,并且输出两根线,在总线上理论上可以放置255 的芯片进行接收和发送工作,首先半双工通信是,当发送文件时接收端口失能,当接收文件是发送端口失能。首先要明白两个意思,接收器发送器,第一点引脚1引脚4,是接单片机通信段,而引脚6,引脚7是接外部总线或主机或从机。第二点当作为发送端时,是单片机通过引脚四给485发送信号,再由485通...
2020-03-10 09:38:07
540
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人