- 博客(30)
- 资源 (20)
- 收藏
- 关注
原创 STM32关闭PWM输出时,让IO输出固定高或低电平的方法。
看到有很多人在网上询问停止PWM时如何获取固定输出,记录在此供参考。方法1: 设置占空比为0xffff 或0 后即可得到想要的0或1输出。方法2 : 配置回通用IO口,再设置为0或1.以上两种方法是网上铺天盖地搜到的方法,但是很多时候我们占空比不方便修改,需要保持固定的占空比,只是想让PWM输出或不输出时可以用下面介绍的方法。方法3:以TIM14的CHI为例/* 设置GPIO 强制输出0 /TIM_SelectOCxM(TIM14,TIM_Channel_1,TIM_ForcedAct
2022-06-18 17:27:16
12219
5
原创 FreeRTOS白话入门
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、何为RTOS真的很牛叉吗?二、RTOS主要干了些啥?啥都能干吗?实时是个什么概念?1.RTOS主要干了些啥?2.啥都能干吗?3.实时是个什么概念?学习步骤前言打算写一些关于FreeRTOS的白话入门文章,就是不打官腔。尽量朝着写得让小学生都能够理解的方向去努力,就像武侠小说一样,不需要非得具备很多的专业知识才能看的下去。一、何为RTOS真的很牛叉吗?百度一搜都会告诉你是个实时操作系统,一看到系统两字不由得让人觉得
2022-02-03 23:36:40
582
转载 FreeRtos学习笔记(10)任务切换原理刨析
FreeRtos学习笔记(10)任务切换原理刨析 STM32 单片机启动流程中介绍了SP和PC寄存器, STM32单片机bootloader扫盲中说过如何通过控制SP和PC寄存器从而控制程序从bootLoader跳转到APP,RTOS任务切换和BootLoader与APP之间的跳转...
2022-02-03 22:32:14
864
原创 stm32f030 使用16M晶体
大部分的开发板都是用8M晶体,代码也是用的8M晶体配置.一次开发过程中因为板子体积有限,选择了SMD3225的晶振,在LCSC检索发现8M的晶体比16M普遍贵3倍多。 所以将代码适配为16M.修改的地方只动了两个地方;static void SetSysClock(void)将以下代码 /* PLL configuration = HSE * 6 = 48 MHz */ // PLL时钟源 H
2021-05-31 22:43:31
747
2
转载 STM32F030单片机由外部时钟改为内部时钟的步骤
STM32F030F4P6单片机由外部时钟改为内部时钟的步骤一.看程序运行的时候初始化时钟部分:二.查看systeminit定义如下:这就是打开的函数内容这就是使用外部时钟的配置,也就是库函数的默认配置):static void SetSysClock(void){__IO uint32_t StartUpCounter = 0, HSEStatus = 0;/* SYSCLK, HCLK, PCLK configuration ---------------------------------
2021-05-31 22:34:05
2348
原创 PADS生成PDF文件提示:发生严重的运行错误,然后只能关闭。
我的理解是这个错误主要是一些2d线或一些导入的图片未完全闭合。就类似2d线转板框那样,不是闭合的就会报错。 这个时候需要对其进行修复。按以下步骤操作即可1、打开PCB源文件,单击【文件】选项,选择【生成PDF】选项2、添加好【选定的层】以及【选定层上的项目】想要输出的内容。3、使用无模命令,输入:I,然后【回车】4、单击【修复所有】选项,此时修复完毕就没有问题了。5、直接单击【生成PDF】选项,输入文件名然后选择保存路径...
2020-11-28 13:07:43
3097
原创 LDO的线性调整率与负载调整率
线性调整率是指LDO的输入电压变化对输出电压的影响,在上述芯片的例子中输入电压从Vout+1V 增加到5.5V,输出电压的变化是0.02%/V (每一V输入电压的变化带来0.02%的输出电压变化)负载调整率是指LDO负载变化对于输入电压的影响,以上述芯片例子中输出负载从1mA瞬态变化到250mA, 输出电压的变化是0.001%/mV(每一mA负载电流的变化带来0.001%的输出电压变化, 那么250mA所有引起的变化时0.25%....
2020-11-28 12:38:20
5377
原创 win10开启/关闭管理员权限方法。
在搜索框输入 CMD 然后以管理员运行输入 net user Administrator /active:yes 回车输入 net user Administrator /active:no 关闭按win+L 选择登陆。
2020-11-28 12:36:40
1468
原创 Cannot load driver ‘C:\Keil_v5\ARM\Segger\JL2CM3.dll 报错解决方法。
Cannot load driver 'C:\Keil_v5\ARM\Segger\JL2CM3.dll 报错解决方法。昨天在我的win10电脑上突然又弹出这个提示,期间我一直没有更新过keil和jlink驱动,很是莫名。Cannot load driver 'C:\Keil_v5\ARM\Segger\JL2CM3.dll上面的盘符可能随安装不同而不同。以前也发过类似的求助贴,也尝试过百度,最终还是没有解决。网上各种各样的说法都有,但是没有解决我的问题。在xp和win8 win10 我都出现了这
2020-11-28 12:32:24
18990
11
原创 MM32F031 ADC 学习笔记
datasheet中描述最高12 位可编程分辨率的SAR ADC,多达10 路外部输入通道。 这句话怎么理解呢?也就是说有10个IO可以设置为ADC口线了。内部两路是属于内部通道了。1. 首先ADC转换要明确目标,我要转换谁? 这个由通道转换选择寄存器(ADC_ADCHS)来选择要转换的通道,将相关的bit置位就使能,将相关的位复位就失能。 例如将bit0...
2020-01-06 12:57:52
1831
原创 PADS软件基础与应用实例pdf 带书签 完整版免费下载
内容提要:全书共11个项目,主要内容包括:PADS软件的概述和安装;PADSLogic认知一:绘制单级共射放大电路原理图;PADSLogic认知二:元件库管理;PADSLayout认知一:元件库管理;PADSLayout认知二:单管放大电路PCB的设计;PADSLayout认知三:相关文件输出;开关电源转换电气PCB的设计;PADSRouter认知四;布线操作等。下载地址:...
2019-03-24 22:29:08
1545
2
转载 PADS规则设计-对某一网络/元件单独设置规则
本文转载,原文网址https://www.cnblogs.com/brianblog/p/9894867.html, 在PADS规则设计中可能会遇到某个走线与另一个走线之间的间距,普通规则设计中当单独点击网络设计规则后当间距>默认规则时可以起作用 ,要设置的安全间隔小于了默认规则的安全间距,这样的设计pads是不赞同的。如下图所示我需要网络$$$6396对GND之间间距为5mil(默认为30...
2019-03-05 09:22:15
2784
原创 __packed 关键字 的作用
在移植机智云的代码时,因为结构体里用了太多的变量,为了节省ram空间 所以加了个__packed关键字修饰。举个例子:struct { char a; //1byte int b; //4byte char c[2] //2byte double d; //8byte}Struct_A;在计算机内存中,结构体变量的
2017-10-05 21:39:45
12160
1
原创 搭建STM32 的工程文件框架
搭建STM32的工程文件框架当前网上比较多的方法都是将库按类放置在不同的文件夹,然后再在keil里c路径里面添加n多路径,这样当换了个编译器时就需要小心的修改添加这些相关的文件路径。个人认为应该在源文件里尽可能的包含文件路径,减少对编译器的设置。 建立以下几个文件夹:List文件夹存放编译的中间文件,RVMDK存放MDK的工程文件,SI4Prj存放sourceinsight
2017-10-05 15:56:19
1815
转载 PADS Logic Decal、Layout Decal绘制
PADS Logic Decal、Layout Decal绘制绘制Logic Decal图形:1、Gate Decal与Part Type的区别:Gate Decal:即元器件在原理图中所展现出来的形状Part Type:将元件图形、电气特性都进行定义后所形成的可供调用的元件注:单纯的Gate Decal是无法调用的,必须经过Part Type定义使用Tool—
2017-09-29 22:48:10
1286
转载 退耦和滤波[转]
耦合---电路级间[前后)直接的、间接的(隔离)信号传递。 滤波---整流电路中滤除交流成份(谐波成份),以获得较纯直流电流。 退耦---滤除电路级间有害的杂波和交流份量。滤波是退耦的手段之一,退耦电容或滤波电容一般与电源或者讯号电压并联。(原文作者不详,如有争议,请告知) 高速电路板上使用最多的是什么东西? 去耦电容! 高手和前辈们总
2016-05-18 22:35:03
981
原创 USB-JoyStickMouse移植到HID
1. 修改usb_conf.h文件#define EP_NUM (3) 改为3个端点#define ENDP2_RXADDR (0x128) 分配端点2输出ram偏移 /* #define EP1_IN_Callback NOP_Process*/#define EP2_IN_Callback NOP_Process
2016-05-08 22:55:17
1939
原创 STM32 USB 之从0开始移植笔记
STM32 USB之从0开始移植笔记 -----------------------------------动机-----------------------------------写在前面的话:最近逛淘宝无意间发现RC522居然只要10元左右就可以包邮买到,真是太便宜了,就忍不住买了个回来玩玩。到货移植到我的板子上OK后突然发现我的USB口紧张了
2016-05-08 21:07:13
15919
转载 win8 写入注册表
注册表写入失败,看到一网友的回帖,记录在此备忘。代码在win8,64位系统上刷新注册表显示不出来,是因为它写到了Wow6432Node键所对应的键下。Microsoft® Windows® 64 位技术白皮书网址:https://www.microsoft.com/china/ ... cover.mspx?mfr=true知识:/*********************
2015-04-16 20:24:58
773
转载 windows下文件的监控--ReadDirectoryChangesW函数的使用
windows下文件的监控--ReadDirectoryChangesW函数的使用2012-07-13 20:11 3276人阅读 评论(3) 收藏 举报windowsfilenullactionwinapi存储目录(?)[+]最近在做一个项目,其中涉及到监控指定目录下所有文件和子目录内的修改信息。经过一番努力,总算实现这一功能,在此特别感谢
2015-04-13 21:56:42
710
转载 多线程问题cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (__stdcall *
多线程问题cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (__stdcall *2011-12-20 22:05 3088人阅读 评论(0) 收藏 举报多线程winapinullclassc问题:用VC创建新线程易出的问题error C2664: 'Creat
2015-04-13 21:54:30
814
原创 ReadDirectoryChangesW() 报错的解决方法
在做文件夹新增判断时用到了这个函数error C2065: 'ReadDirectoryChangesW' : undeclared identifier需要在stdafx.h文件中在所有的 #include 前面加入#define _WIN32_WINNT 0x400因为在winbase.h头文件中判断是否定义了WIN32_WINNT>=0x400
2015-04-13 21:12:39
1221
转载 WIN8下VC6单步调报错解决方法
WIN8下VC6单步调报错解决方法((OLE32.DLL): 0xC0000005: Access Violation)win8下安装vc6之后单步调试提示First-chance exception in 程序名.exe (OLE32.DLL): 0xC0000005: Access Violation做如下设置即可解决:1、菜单Tools->Options中的Deb
2015-04-13 21:09:26
683
转载 Win8.1系统拖拽文件得不到路径的解决办法
vc6写的一个拖拽文件得到路径的代码在win8上运行出错,找到了这个例子。记录备忘。原文地址 http://blog.youkuaiyun.com/ggz631047367/article/details/37691897由于UAC的限制,WM_DROPFILES只能由权限较低的APP拖拽到权限较高的APP,反之如果从权限较高的APP拖拽到低权限的APP上,WM_DROPFILES不会被发
2015-04-11 21:43:09
2318
转载 MFC中获取各个窗口(对话框)之间的指针、对象、句柄
MFC中获取各个窗口(对话框)之间的指针、对象、句柄MFC在很多的对话框操作中,我们经常要用到在一个对话框中调用另一个对话框的函数或变量.可以用如下方法来解决. HWND hWnd=::FindWindow(NULL,_T("Sphere")); //得到对话框的句柄 C***Dialog* pWnd= (C***Dialo
2015-02-02 14:38:56
949
转载 轻松实现一个操作ini文件的类
作者:lixiaosan(优快云) 前言: 相信很多朋友在编写自己的程序中,都需要把一些数据先期导入到程序中进行初始化。那么这个时候,比较好的做法就是把你所有的数据写入一个ini文件,然后在程序去读ini文件中的数据对行初始化。 一.INI简介 那么什么是ini文件呢?ini文件是Initializatio
2015-02-02 14:30:00
750
转载 关于函数strtok和strtok_r的使用要点和实现原理
关于函数strtok和strtok_r的使用要点和实现原理(一)strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网络,我稍加修改作为例证。当然,本人水平有限,有不妥之处
2015-01-29 15:11:31
547
转载 关于函数strtok和strtok_r的使用要点和实现原理
关于函数strtok和strtok_r的使用要点和实现原理(一)strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网络,我稍加修改作为例证。当然,本人水平有限,有不妥之处
2015-01-29 15:11:10
636
原创 做个笔记 usb的批量传输备忘
用中断传输时无所谓,host发送intoken后直接返回数据就可以,包括可以是端点的大小整倍。但是批量输入时就不行了,但数据为端点大小的整倍时就要发送一个小于端点大小的byte给host才行,否则host会一直请求数据。今天试验了下批量输入时不发送0封包给host时,HOST好奇怪间隔15s左右才停止请求。通过上位机观察此时刚好收到了4096个byte 一次批量输入为8byte刚好为512
2013-10-31 23:11:05
840
1
转载 VC API常用函数简单例子大全(1-89)
尝鲜code奸我千百遍,我待code如初见博客园首页博问 闪存 新随笔联系订阅 随笔- 161 文章- 0 评论- 7 VC API常用函数简单例子大全(1-89)第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄函数的定义:HWND WINAPI
2013-10-18 23:11:04
4598
PADS软件基础与应用实例pdf 带书签 完整版免费下载
2019-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人