- 博客(152)
- 资源 (5)
- 问答 (4)
- 收藏
- 关注
原创 AD21引脚映射
AD21引脚映射问题复现解决方法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入问题复现在使用AD21引脚映射时,首先右键要点击要映射的硬件元件,选择引脚映射紧接着导出网络未命名的引脚文件,保存为csv格式。然后以exc
2021-07-14 10:47:46
2782
原创 DSP TMS320C6455 中断解析
首先定义3个术语:系统事件(System Event):CPU内部或外部产生的信号,用来通知CPU有些事情已经发生了和/或 需要响应。中断(Interrupts):由于内部或外部硬件信号(EVENT)的出现,用来提供重定向正常程序流的方法。异常(Exceptions):也会重定向程序流,但它们通常只对应系统内的一个错误状态。C64x+CPU提供了2种类型的异步信号服务:中断和异常。中断提供了重定向正常程序流的方法,异常也会重定向程序流,但它们通常与系统的错误状态相关联。C64x+CPU可以接受
2021-02-04 17:17:16
1537
原创 DSP TMS320C6455 芯片支持库CSL API参考
本文翻译自官方库《C6455_CSL_APIREFERENCE》。1 CSL介绍芯片支持库由一系列定义良好的API构成,这些API提取出了Soc设备的细节以便用户可以配置、控制和读写外设,而不用担心寄存器字段级的实现细节。CSL服务以模块的形式展现。CSL API遵循统一的风格,统一的跨处理器指令集架构,且独立于操作系统,提高了可移植性。2 CSL概要 CSL有2层实现,基本寄存器层和更抽象的函数层。寄存器层包括基本的宏和类型定义。函数层由C函数组成,相对寄存器层更抽象,但同样实现对底层硬件
2021-02-03 10:02:03
2169
原创 【总结】AD操作常用快捷键和小技巧
【总结】AD操作常用快捷键和小技巧(持续更新。。。)位号操作:常用快捷键:A+P,对齐-元器件文本位置对话框。一般原则:(1)位号清晰。常用尺寸:2/10mil,4/20mil,5/25mil,6/30mil,可根据实际情况调整。(2)位号不能被遮挡。最好不要放到过孔和元件范围内,尤其是元件。(3)位号方向和元件方向尽量统一。一般水平放置的元件,位号在左边,竖直放置元件一般在下面。根据实际情况调整。小技巧:底层元件位号看不习惯,可用快捷键V+B将PCB翻转后调整,调整后重新V+B翻转回来。
2020-10-29 19:55:51
1429
原创 2020-10-27
一. 热敏电阻NTC的基本特性1. 零功率电阻值 RT(Ω)RT指在规定温度 T 时,采用引起电阻值变化相对于总的测量误差来说可以忽略不计的测量功率测得的电阻值。电阻值和温度变化的关系式为:RT = RN expB(1/T – 1/TN)RT :在温度 T ( K )时的 NTC 热敏电阻阻值。RN :在额定温度 TN ( K )时的 NTC 热敏电阻阻值。T :规定温度( K )。B : NTC 热敏电阻的材料常数,又叫热敏指数。exp :以自然数 e 为底的指数( e = 2.7182
2020-10-29 19:44:17
1835
原创 Vcc、Vee、Vdd、Vss傻傻分不清楚?
Vcc、Vee、Vdd、Vss傻傻分不清楚?以下内容源于网络。电源左边两个符号均表示电池类直流电源,左边第一个表示电池组,第二个表示单电池。这些符号不一定总是带有 + 和 - 号。左边第三个(带 + 和 - 的圆圈符号)表示非电池类直流电源。右边第一个表示交流电源。以下符号主要用于包含多页的大型原理图,或者在主电源连接过多时用于简化原理图。关于电源符号Vdd代表Votage Drain DrainVss代表Votage Source Source这些符合最初是用在场效应晶体管上的,现在
2020-10-26 16:27:19
5821
原创 VS2019使用ImageWatch调试OpenCV
1、ImageWatch2019的安装打开VS2019,点击扩展->管理扩展->联机->右上角搜索ImageWatch,然后根据提示进行安装。2、ImageWatch的使用新建一个项目,将下列代码拷贝进去。// Test application for the Visual Studio Image Watch Debugger extension#include &l...
2019-08-15 21:35:00
4811
2
原创 Python编程让繁琐的工作自动化(11)-字符串操作
#字符串字面量spam = "This is Alice's cat."spam = 'this is "hello" word!.'#转义字符spam = 'Say hi to Bob\'s mother'#原始字符串print(r'That is Carlo\'s cat.')#用三重引号的多行字符串print(''' Dear Alice,Eve's cat has bee...
2019-03-03 16:05:34
274
原创 Python编程让繁琐的工作自动化(10)-调试
程序员的笑话:编码占了编程工作量的90%,调试占了另外的90%。代码出问题很正常,有一些好的工具和技巧可以确定你的代码在做什么,以及哪出了问题。首先,要查看日志和断言,其次要学习如何使用调试器。抛出异常#直接抛出异常对象,会引起程序崩溃>>>raise Exception('this is the erro message.')Traceback (most recen...
2019-03-03 13:35:32
268
原创 Python编程让繁琐的工作自动化(6)-从web抓取信息
webbrowser:python自带的模块,打开浏览器获取指定页面requests:从因特网上下载文件和网页BeautifulSoup:解析HTML,即网页编写的格式selenium:启动并控制一个Web浏览器,能够填写表单,并模拟鼠标在这个浏览器汇中点击项目:利用 webbrowser 模块的 mapIt.pywebbrowser 模块的 open()函数可以启动一个新浏览器,打开指...
2019-03-02 19:51:57
453
原创 Python编程让繁琐的工作自动化(9)-用GUI自动化控制键盘和鼠标
计算机上自动化任务的终极工具就是写程序直接控制键盘和鼠标,这些程序可以控制其他应用,向他们发送虚拟的击键和鼠标点击,就像你自己坐在计算机前与它交互一样,这种技术被称为“图形用户界面自动化”。GUI自动化的速度非常快,可能导致其他程序跟不上,很可能引起失控。有几种方法可以防止或者回复GUI自动化问题。注销,快捷键ctrl-alt-del。暂停和自动防故障装置。pyautogui.PAUSE变...
2019-03-02 19:35:44
923
原创 Python编程让繁琐的工作自动化(8)-发送电子邮件和短信
电子邮件简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是用于发送电子邮件的协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP规定电子邮件应该如何格式化、加密、在邮件服务器之间传递等。SMTP只负责发送邮件,IMAP负责取回...
2019-03-02 16:07:36
693
原创 根据mnist入门tensorflow时,遇到的坑
在根据mnist入门tensorflow时,遇到不少坑,特记录下来。导入tensorflow提示:ImportError: DLL load failed: 找不到指定的模块网上有很多方法,重装VS,用anaconda等,试了都不行。一种说法是默认的protobuf 3.1本版过高,pip install protobuf==3.6.0,试了也没成功。重新安装一下低版本的tensorflo...
2019-01-09 16:55:45
1138
原创 Python编程让繁琐的工作自动化(7)-保持时间,计划任务和启动程序
利用脚本让计算机调度程序、定时运行或者在午夜让计算机执行CPU密集型任务是一件非常有效率的事情。time模块time模块为python内置模块,可以读取系统时钟的当前时间。unix纪元是编程中经常参考的时间:1970年1月1日0点,即协调世界时间UTC。time.time()函数返回自那一刻以来的秒数,是一个浮点值,这个时间被称为UNIX纪元时间戳。# 纪元时间戳可以用于剖析代码impor...
2018-12-23 16:04:02
713
原创 Python编程让繁琐的工作自动化(5)-处理PDF文档
有问题的 PDF 格式虽然 PDF 文件对文本布局非常好,让人们很容易打印并阅读,但软件要将它们解析为纯文本却并不容易。因此,PyPDF2 从 PDF 提取文本时可能会出错,甚至根本不能打开某些 PDF。遗憾的是,你对此没有什么办法,PyPDF2 可能就是不能处理某些 PDF 文件。话虽这样说,我至今没有发现不能用 PyPDF2 打开的PDF 文件。# 从PDF读取文本import ...
2018-12-23 10:16:50
749
原创 Python编程让繁琐的工作自动化(4)-读写文件和组织文件
即使你是一个有经验的计算机用户,可能也会用鼠标和键盘手工处理文件。现在的文件浏览器使得处理少量文件的工作很容易。但有时候,如果用计算机的浏览器,你需要完成的任务可能要花几个小时。 考虑下面这样的任务:• 在一个文件夹及其所有子文件夹中,复制所有的 pdf 文件(且只复制 pdf 文件)• 针对一个文件夹中的所有文件,删除文件名中前导的零,该文件夹中有数百个文件,名为 spa...
2018-12-16 23:55:34
460
原创 Python编程让繁琐的工作自动化(3)-处理CSV文件和(JSON数据)
CSV 表示“Comma-Separated Values(逗号分隔的值)”,CSV文件是简化的电子表格,保存为纯文本文件。Python 的csv 模块让解析CSV 文件变得容易。CSV 文件中的每行代表电子表格中的一行,逗号分割了该行中的单元格。CSV 文件是简单的,缺少 Excel 电子表格的许多功能。例如,CSV 文件中:• 值没有类型,所有东西都是字符串;• 没有字体大小...
2018-12-16 20:07:45
484
原创 Python编程让繁琐的工作自动化(2)-处理Excel电子表格
一个 Excel 电子表格文档称为一个工作簿。一个工作簿保存在扩展名为.xlsx 的文件中。每个工作簿可以包含多个表(也称为工作表)。用户当前查看的表(或关闭 Excel 前最后查看的表),称为活动表。 每个表都有一些列(地址是从 A 开始的字母)和一些行(地址是从 1 开始的数字)。在特定行和列的方格称为单元格。每个单元格都包含一个数字或文本值。单元格形成的网格和数据构成了表。常用操作imp...
2018-12-16 15:05:06
16575
1
原创 Python编程让繁琐的工作自动化(1)-操作图像
在研究生生活中,帮老师干过的简单或复杂的工作不少,这其中,尤其是重复性的文件整理的工作让人烦躁不堪。后来在学习了python之后,发现很多东西都可以让电脑自动帮你去做,比如说几十个文件重命名,几十份材料合并在一起等。这些劳动虽然简单但是重复,非常消磨人的毅力,作为新时代的青年怎么可以把时间浪费到这些地方呢!所以,自己在网上找了些资料,完成过一些批量命名等的工作,主要是利用python以及windo...
2018-12-16 12:16:59
928
转载 嵌入式开发C语言之参数传递
本文转载自C语言中的参数传递机制详解 本文尝试讨论下C中实参与形参的关系,即参数传递的问题。1 值传递首先看下列代码:#include <stdio.h>int main(){ int n = 1; printf("实参n的值:%d,地址:%#x\n", n, &n); void change(int i);//函数声明 change(n); ...
2018-09-13 11:10:44
900
转载 嵌入式开发C语言之指向数组的指针
本文转载自:https://www.jb51.net/article/83729.htm一维数组和指针:对于一位数组和指针是很好理解的: 一维数组名: 对于这样的一维数组:int a[5]; a作为数组名就是我们数组的首地址, a是一个地址常量 . 首先说说常量和变量的关系, 对于变量来说, 用箱子去比喻再好不过了, 声明一个变量就声明一个箱子,比如我们开辟出一个苹果类型的箱...
2018-09-12 15:45:44
474
原创 leetcode初级树
二叉树的最大深度给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。/** * Definition for a...
2018-09-04 20:46:35
157
原创 leetcode初级数组之旋转图像
给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ],原地旋转输入矩阵,使其变为: [ [7,4,1], ...
2018-08-31 14:45:29
238
原创 leetcode初级算法之两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]/** * Note: The returned array must be mal...
2018-08-31 10:18:55
188
原创 leetcode初级数组之移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。//方法1:从前遍历,遇到不为0的往前放,然后将后面的数置为0void moveZeroes(int* nums, int numsSiz...
2018-08-30 20:19:15
243
原创 leetcode初级数组之加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 432...
2018-08-30 19:28:17
492
原创 leetcode初级数组之两个数组的交集 II
给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [4,9] 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。 进阶:...
2018-08-30 16:21:29
293
原创 leetcode初级数组之只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4//第一种方法是先排序,在找值,不过这种不能实现线性时间复杂度void quicksort(i...
2018-08-29 21:18:31
275
转载 [转]坐在马桶上看算法:快速排序
作者:啊哈磊来源:51CTO博客高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为...
2018-08-29 19:42:29
233
原创 leetcode初级数组之 存在重复
给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例 3: 输入: [1,1,1,3,3,4,3,2,4,2] 输出: true//最简单的方法就是遍历bo...
2018-08-29 19:35:40
205
原创 leetcode初级数组之旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 示例 2: 输入: [-1,-100,...
2018-08-29 16:46:07
201
原创 leetcode初级数组之买卖股票的最佳时机 II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这...
2018-08-29 10:06:57
175
原创 leetcode初级链表之环形链表
给定一个链表,判断链表中是否有环。 进阶: 你能否不使用额外空间解决此题?/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */bool hasCycle(struct ListNode *head) {...
2018-08-27 21:27:55
202
原创 leetcode初级链表之回文链表
请判断一个链表是否为回文链表。 示例 1: 输入: 1-&gt;2 输出: false 示例 2: 输入: 1-&gt;2-&gt;2-&gt;1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?/** * Definition for singly-linked list. * struct ListNode { * ...
2018-08-27 20:40:02
187
原创 leetcode初级链表之合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1-&gt;2-&gt;4, 1-&gt;3-&gt;4 输出:1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4/** * Definition for singly-linked list. * struct ListNod
2018-08-27 19:39:58
192
原创 leetcode初级链表之删除链表中的节点以及导数第N个节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 – head = [4,5,1,9],它可以表示为: 4 -&amp;gt; 5 -&amp;gt; 1 -&amp;gt; 9 示例 1: 输入: head = [4,5,1,9], node = 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,...
2018-08-27 09:34:01
278
原创 leetcode初级链表之反转链表,包括整个链表和m/n位置的链表
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1-&amp;amp;gt;2-&amp;amp;gt;3-&amp;amp;gt;4-&amp;amp;gt;5-&amp;amp;gt;NULL, m = 2, n = 4 输出: 1-&amp;amp;gt;4-&amp;amp;gt;3-&amp;
2018-08-16 12:36:29
478
STM32VET6中FATFS问题
2016-07-02
在MCU-51中,郭天祥的程序如下,其含义是读IIC器件的字节。有两个问题不太明白
2016-05-17
希尔排序问题,求帮忙解答
2016-05-11
这个程序运行一下为什么提示exe已停止工作?
2016-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人