![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
实训课
文章平均质量分 71
CW32生态社区
这个作者很懒,什么都没留下…
展开
-
【产品方案】基于CW32F003E4P7的数字电压电流表产品方案
其中,电压标定点为0V、5V、15V。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)=∑f(x,y)/m,m为该模板中包含当前像素在内的像素总个数。此外,在电子设备的维修与调试中,数字电压电流表也发挥着重要作用,通过测量电路中的电压,技术人员可以判断电子元件、电路板的工作状态,快速定位故障点,提高维修效率。原创 2024-06-24 14:40:59 · 611 阅读 · 0 评论 -
CW32数字电压电流表软件进阶教程-3.电压电流标定
在电压电流表测量可以使用“电压电流标定板”“万用表”等配合适合,对采集的电压电流进行标定处理。标定点越多,测量越精确。上图中的斜率k:k =(Ymax-Ymin)/(Xmax-Xmin)(因为第一点为“零点”,故上面的Ymin = 0) 所以,上图中任一点的AD值对应的物理量:y = k×(Xad- Xmin)+0② 上面的算法只是在“零点”和“最大点”之间做了标定,如果使用中间的AD采样值会带来很大的对应物理量的误差,解决的办法是多插入一些标定点。下一排显示当前电压值*.**V或**.*V。原创 2024-05-31 11:28:10 · 327 阅读 · 0 评论 -
CW32数字电压电流表软件进阶教程-2.电压电流值做均值滤波
会发现实时显示更新的数据是当前采集值,并未做数据滤波处理。由于采集到的原始数据有一定的波动,因此在显示更新速度较快时,数字有跳动现象。其中,原始数据为每1MS采集一个数据点,共采集100次,即100MS内的定时数据值。单点数据采集在定时器BTIM1中断函数中完成。因此,在数据处理前,可以增加常见的均值滤波算法。均值滤波原理在实验七中已有讲述。在上述例程中,可以看到使用了。在实验运行7.1章节例程时。原创 2024-05-31 11:26:11 · 170 阅读 · 0 评论 -
CW32数字电压电流表软件进阶教程-1.电压电流同时显示
本项目设计的采样电流为3A,选择的采样电阻为100mΩ。AIN接入CW32芯片内部的AIN11通道,PB05端口上。电流计算方法为(A为单位):AIN电压/0.1欧。VIN=ADC转换值/4096*1.5V.,可以对电压电流进行同时采集显示。原创 2024-05-29 17:04:39 · 260 阅读 · 0 评论 -
CW32数字电压电流表软件教程-实验七:基本数据处理算法(均值滤波)
线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)=∑f(x,y)/m,m为该模板中包含当前像素在内的像素总个数。在之前未加滤波函数时,数码管上显示的电压数据是不稳定、跳变的,而加了滤波函数之后,数码管显示的电压数据可以稳定下来,并且有一定的抗干扰能力。至于电压准确性的问题,在后续章节的数据标定和校准中说明。原创 2024-05-29 17:02:43 · 164 阅读 · 0 评论 -
CW32数字电压电流表软件教程-实验六:串口蓝牙发送
串口通信是一位一位地传输,每传输一个字节总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平),后面由8位数据位组成,如果开启了校验位,则最后一位数据位是校验位,最后是停止位。通过查看上文的CW32时钟树可知,串口2挂载在高级外设时钟 PCLK上,而此前的时钟配置已将PCLK配置成了6MHz。由于定时器中断为1ms,而串口发送占用的时间较长,所以我们1000ms使用蓝牙发送一次信息,这里的写法并未使用定时器。在完成串口的配置后,还需要写一个串口发送函数。原创 2024-05-29 16:59:35 · 401 阅读 · 0 评论 -
CW32数字电压电流表软件教程-实验五:ADC采样及显示
CW32F003采用的是逐次逼近型的12位ADC,逐次逼近型ADC是一种常见的ADC工作原理,它的思想是通过比较模拟信号与参考电压之间的大小关系来逐步逼近输入信号的数字表示。具体来说,在每个逼近阶段,量化器将输入信号与一个中间电压点进行比较,将该电压点上方或下方的参考电压作为下一个逼近阶段的参考电压。由于变量为整形,最终输入给显示函数 Display 的值为513,在 Display 函数里对输入的值进行判定,如果输入值大于1000,则数码管只能显示xx.x V,所以我们只取输入值的千百十位;原创 2024-05-29 16:53:25 · 879 阅读 · 0 评论 -
CW32数字电压电流表软件教程-实验四:数码管动态显示
明确了原理,我们要使电压电流表的三个位同时显示不同的值需要用到CW32的定时器功能,在定时器的中断服务程序里面执行显示刷新的动作。在配置定时器之前需要注意是否将系统时钟树配置完成,定时器利用了高级外设时钟 PCLK,在之前的时钟配置中,我们将高级外设时钟 PCLK的频率配置成了6MHz,这将影响我们对定时器的预分频和装填计数值的配置。在上一节的数码管显示数字的数码管显示模块Seg_Dis.c文件中,我们还需要添加三个函数和定义一个数组 Seg_Reg 来完成动态显示的功能。图5-1 数码管动态显示效果图。原创 2024-05-29 16:45:15 · 348 阅读 · 0 评论 -
CW32数字电压电流表软件教程-实验三:数码管显示数字
比如要显示数字5,则段码值为0x6d,二进制表示为01101101,这说明G置1,F置1,E置0,D置1,C置1,B置0,A置1,最高位则是DP的值。接着以循环的方式结合switch语句对A、B、C、D、E、F、G的亮灭情况进行单独计算,先将段码值确定后再进行位码的选择,可以避免因单片机执行程序的时间而造成显示效果的不足。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。数码管的显示原理是由多个发光的二极管共阴极或者共阳极组成的成“8”字形的显示器件。原创 2024-05-29 16:27:15 · 599 阅读 · 0 评论 -
CW32数字电压电流表软件教程-实验二:按键检测
通过程序的控制,就可以实现不同的功能与设置。高低电平很好理解,这里说明浮空的意义,浮空就是不对该IO进行任何电气属性的连接,此时该IO上的电平是未知的(虽然从直观感受上来看此时IO电压应该是0,但是空气中会有噪声,电路板上也会有噪声,某些电磁干扰也会充当噪声,所以浮空输入的IO电压实际上是未知的)。当开关闭合,IO电压等于VCC电压,当开关断开,IO电压未知,此时IO电压可能会受到不明来源的干扰,如果使用该电路作为IO扫描的电路方案,抗干扰能力会不好,容易造成误触发,故此应用场景下不考虑使用该电路。原创 2024-05-29 16:20:34 · 696 阅读 · 0 评论 -
CW32数字电压电流表软件教程-实验一:LED原理与驱动
LED 驱动指的是通过稳定的电源为 LED 提供合适的电流和电压,使其正常工作点亮。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。LED的内部是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,整个晶片环-氧树脂封装起来。LED1的正极经限流电阻R5接到电源正极,LED1的负极连接到单片机的GPIO口上,通过LED灯的驱动原理,只需要将相应GPIO(PC0)配置为低电平即可点亮LED1。原创 2024-05-29 16:13:06 · 838 阅读 · 0 评论 -
CW32数字电压电流表-产品制作注意事项
在安装时,先将一侧PCB的“小耳朵”插入外壳侧面孔洞,再在另外一侧使用镊子插入外壳与PCB的缝隙中制造出一个斜面,将PCB压入外壳(参考上图),确保PCB两侧的“小耳朵”可以将表头模组固定在外壳中。上图为两种型号的电压电流表头,均购自淘宝,我们可以看到因为数码管高度的不同,上方的表头的数码管在焊接时需要使数码管距离PCB一定高度(参考上图),具体高度依据采购的数码管尺寸而定。将数码管先插入泡沫,再将“数码管+泡沫组合体”插入PB,此时仅需要将数码管插入PCB,不需要进行焊接。微信小程序,现已上架完整的。原创 2024-04-24 18:08:18 · 314 阅读 · 0 评论 -
CW-DAPLINK 调试工具
若使用的是Windows10系统,CW-DAPLINK是免安装驱动的,对于部分Windows7或Windows8系统,会存在CW-DAPLINK虚拟串口不可用的情况,这时需要手动添加驱动。驱动可在芯源半导体官方网站上下载。CW-DAPLINK调试器及附件如图2-34所示,从上到下依次为USB 连接线(TYPE-A转TYPE-C)、CW-DAPLINK调试器、SWD连接线。CW-DAPLINK 采用ARM 内核MCU 设计,集成高性能ARM Cortex-M3 内核,外观结构如图2-35和图2-36所示。原创 2024-04-24 18:06:47 · 649 阅读 · 0 评论 -
Cortex-M0+内核介绍
作为ARM Cortex-M处理器系列的最新成员,32位Cortex-M0+处理器采用了低成本90纳米低功耗(LP)工艺,耗电量仅9μA/MHz,约为主流8位或16位处理器的1/3,却能提供更高的性能。这类低功耗和高性能的结合为仍在使用8位或16位架构的用户提供了一个转型开发32位器件的理想机会,从而在不牺牲功耗和面积的情况下,提高日常设备的智能化程度。ARM Cortex-M0+是2012年3月14日ARM公司发布的一款低功耗效率、能效最高的ARM处理器,可用于存在设计约束的嵌入式应用。原创 2024-04-24 18:04:40 · 429 阅读 · 0 评论 -
CW32F003E4芯片入门学习:4.工程模板创建(使用例程或模板)
将CW32F003_StandardPeripheralLib_V1.4\Examples\Template下的Template文件夹拷贝出来重命名为CW32_Tem_Pro。启动文件路径:CW32F003_StandardPeripheralLib_V1.4\IdeSupport\MDK\startup_cw32f003.s。打开CW32_Tem_Pro\MDK下的Project.uvprojx,可以看到很多文件带有黄色感叹号的标志,这些文件都是需要重新添加.将原来的文件先删除,再重新添加。原创 2024-04-24 18:02:23 · 169 阅读 · 0 评论 -
CW32F003E4芯片入门学习:3.工程模板的创建(不使用例程或模板)
选择cw32_lib,点击AddFiles,找到CW32_new_pro\Libraries\src目录,把所有.c选中,点击Add->Close->OK,完成添加。打开keil,选择Project->New uVision Project,选择CW32_new_pro文件夹目录,输入项目名称,例子使用CW32_new_pro。用AC6编译有中文的代码会报-Winvalid-source-encoding的警告。CW32要用AC5编译器,用AC6编译会报错,可能是这样的错误,还有一堆的警告。原创 2024-04-24 17:57:32 · 498 阅读 · 0 评论 -
CW32F003E4芯片入门学习:2.器件包安装
也可在CW32生态社区QQ群内向我们反馈,等待我们将PACK包更新到最新。解决办法:使用低版本的KEIL MDK软件,或使用低版本的PACK包。之后弹出这个页面,单击“Next”按钮进行安装,如图1-2-3所示。pack包在压缩包里,直接双击安装即可,如图1-2-2所示。原因可能是 KEIL 版本更新,对器件包格式有新的限定。安装CW32的pack包,可以从武汉芯源官网下载。注:其他CW32芯片包的安装方式均相同。1.1.3 可能遇到的报错及解决办法。1.1.2安装pack包。原创 2024-04-24 17:54:27 · 248 阅读 · 0 评论 -
CW32F003E4芯片入门学习:1.开发环境安装
之后可以填写自己的邮箱地址,点击Send verification code去获取验证码,如图2-2-1所示。将复制的License粘贴到Keil里面的New License ID Code(LIC)下,然后点击Add LIC,如图2-5-11所示。如图2-4-5所示。点击后,网页就会变成此页面,表示激活成功,将发送验证码到你的邮箱,如图2-5-9所示。输入注册的账号和密码,然后点击Log in进行登录,如图2-3-1所示。点击确定之后会弹出一个网页,然后填写一些自己的信息,如图2-5-5所示。原创 2024-04-24 17:52:19 · 718 阅读 · 0 评论 -
从0到1,开启产品级智能硬件设计之路!
一般情况下,只要用心跟着教程学,完成案例设计和任务书目标,认真做好课程报告,有志者事竟成,但我们不保证你一定能学会,师傅引进门,修行看个人~如果有一个案例课程的机会,能够将自己的知识学以致用,能够在实践中查漏补缺、提升自己,岂不美哉!对于初学者,建议购买开发套件,其中涉及贴片的器件已经由工厂通过回流焊工艺的完成SMT生产,另外提供多种插件,初学者也能尽快上手项目开发。在教学环节中,会涉及到实际的产品制作(可选),需要大家自费解决,预估50元以内,到时也会有羊毛教你薅,甚至几乎不花钱!数码管/按键/串口;原创 2024-03-15 17:27:40 · 1072 阅读 · 0 评论