草庐IT

硬件设计——DDR

全部标签

(十七)51单片机——AD/DA转换

目录学习目标成果展示 硬件知识介绍硬件电路模型 电路ADDA运算放大器运放电路电压比较器反向放大器同向放大器电压跟随器DA原理T型电阻网络DA转换器PWM型DA转换器AD原理逐次逼近型AD转换器AD/DA性能指标XPT2046时序代码 AD DA总结 学习目标        今天我们需要学习的是AD/DA转换,也就是数字信号与模拟信号之间的转换。模拟信号转换为数字信号我们使用可调电阻、光敏电阻和热敏电阻来实现,在光敏电阻小于100时(较暗),D1灯会自动亮;而数字信号转换为模拟信号我们使用实现DA呼吸灯来展示。成果展示 ADDA硬件知识介绍AD(AnalogtoDigital):模拟-数字转换

Arduino程序设计(一) 流水灯+呼吸灯

LED灯程序设计前言一、LED灯的程序设计1——频闪灯二、LED灯的程序设计2——流水灯三、LED灯的程序设计3——呼吸灯总结参考文献前言本文主要介绍三种LED灯的程序设计,即频闪灯、流水灯和呼吸灯。本文使用的MCU芯片为ESP8266EX,程序编写使用ArduinoIDE的版本号为Arduino1.8.19。一、LED灯的程序设计1——频闪灯数字信号数字信号是以0、1表示的电平不连续变化的信号,也就是以二进制的形式表示的信号。在Arduino中数字信号通过高低电平来表示,高电平则为数字信号1,低电平则为数字信号0。使用输入或输出功能前,需要通过pinMode()函数配置引脚的模式为输入模式或

IMX6ULL开发板,系统移植——第一步Uboot移植

        此篇为笔者在学习Linux开发时所遇到的一些操作凝练,旨在想学习Linux开发的小伙伴能不被Uboot移植难住,从而快速进入学习Linux驱动开发。    另外说明一下,本教程使用的是EMMC版1、编译nxp官方uboot        在Uboot开发包目录下,编写shell脚本,命名为mx6ull_emmc.sh#!/bin/bashmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-distcleanmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-mx6ull_14x14_evk_emmc

数学建模:线性规划—投资的收益和风险模型 (Python 求解)

目录模型建立模型I:固定风险水平,优化收益模型II:固定盈利水平,极小化风险模型III:两个目标函数加权求和市场上有nnn种资产si{s_i}si​(i=1,2,⋯ ,ni=1,2,\cdots,ni=1,2,⋯,n)可以选择,现用数额为MMM的充分大的资金作一个时期的投资。这nnn种资产在这一时期内购买si{s_i}si​的平均收益率为ri{r_i}ri​,风险损失率为qi{q_i}qi​,投资越分散,总的风险越少,总体风险可用投资的si{s_i}si​中最大的一个风险来度量。购买si{s_i}si​时要付交易费,费率为pi{p_i}pi​,当购买额不超过给定值ui{u_i}ui​时,交易费

机器学习中的数学——距离定义(二):曼哈顿距离(Manhattan Distance)

分类目录:《机器学习中的数学》总目录相关文章:·距离定义:基础知识·距离定义(一):欧几里得距离(EuclideanDistance)·距离定义(二):曼哈顿距离(ManhattanDistance)·距离定义(三):闵可夫斯基距离(MinkowskiDistance)·距离定义(四):切比雪夫距离(ChebyshevDistance)·距离定义(五):标准化的欧几里得距离(StandardizedEuclideanDistance)·距离定义(六):马氏距离(MahalanobisDistance)·距离定义(七):兰氏距离(LanceandWilliamsDistance)/堪培拉距离(C

c - 在windows C中加载dll进行跨平台设计

我写了一个为linux平台设计的C代码。现在,我想让它跨平台,以便在Windows中使用。在我的代码中,我dlopen一个so文件并利用其中的函数。下面是我的代码的样子。但是我才发现,在windows下,加载和使用动态库的方式有很大的不同。void*mydynlibmydynlib=dlopen("/libpath/dynlib.so",RTLD_LAZY);void(*dynfunc1)()=dlsym(mydynlib,"dynfunc1");void(*dynfunc2)(char*,char*,double)=dlsym(mydynlib,"dynfunc2");int(*dy

c - 暂停/恢复所有用户进程——这可能吗?

我的PC上同时运行了很多应用程序,我在想是否可以暂停所有应用程序,我想这样做以定期运行另一个使用大量CPU的应用程序,所以希望它拥有所有处理器时间。问题是我想暂停所有运行我的东西的应用程序,这些应用程序经常使用CPU,然后当我的东西退出时,恢复所有应用程序和所有要恢复的工作......欢迎任何评论。 最佳答案 这是可能的,但根本不推荐。设置进程和线程优先级,以便您的应用程序获得更大的CPU资源。这也意味着它不会像您的方法那样终止桌面、任何网络连接、防病毒软件、开始菜单、窗口管理器等。 关

欧拉开发者大会 — openEuler 22.03 LTS 版本发布

欧拉开发者大会于4月13日-15日召开,发布openEuler22.03LTS版本       一年一度的欧拉开发者大会(openEulerDeveloperDay2022)拉开帷幕,于4月13-15日在线上和线下同步举办。本届大会由开放原子开源基金会下的欧拉开源社区发起并举办,也是欧拉正式捐赠之后的首次社区开发者大会。       大会以“一起创未来,欧拉更精彩”为主题,来自全产业链相关厂商、用户、开发者共同参会,推动openEuler在服务器、云计算、边缘计算和嵌入式四大场景的技术探索和创新,共建极具创新力的操作系统开源社区。       华为、英特尔、超聚变、新华三、麒麟、统信、SUSE

VScode 基础篇(Python 调试)——如何输入命令行参数(args、argv、parse_args)

VScode在编写Python时,在各种插件的加持下,十分方便。对于调试来讲,更是实现了一键调试!安装PythonExtension插件后,右上角的运行可以选择调试,一键开启调试但最近在编写脚本文件时,发现一个调试的小坑,记录下。一、调整Python调试配置在调试脚本的过程中,需要为脚本文件输入args,一个简单做法就是修改vscode的调试配置文件。这个可以点击vscode的左下角来唤出配置选项。唤出Python的调试配置选项之后选择添加配置(当然也可以在原有配置文件上修改,但不推荐)。点击后,可以看到默认生成了一个配置模板。这时,我们需要新增“args”项,并在之后填写命令行相关参数。注意

常用测试用例设计方法之判定表法详解

理论部分判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。条件桩(ConditionStub)动作桩(ActionStub)条件项(ConditionEntry)动作项(ActionEntry)设计用例的步骤1、列出所有的条件桩和动作桩。2、确定规则的个数。如这里有3个条件,每个条件有两个取值,故应有2×2×2=8种规则。3、填入条件项。4、填入动作桩和动作项,化简,合并相似规则。5、将每条规则转化为用例。相关例子购买电影票。条件桩1、刷华夏信用卡;2、周三下午;3、情侣。动作桩1、电影票8折;2、电影票7折;3、电影票5.6