
嵌入式
文章平均质量分 80
野猪力量
这个作者很懒,什么都没留下…
展开
-
What is a blocking function?
A function that stops script execution until it ends.For example, if I had a function in my language that was used to write to a file, like so:fwrite(file, "Contents");print("Wrote to file!");...转载 2020-02-23 17:05:09 · 1094 阅读 · 0 评论 -
BIN、HEX,ELF,AXF文件的区别
嵌入式软件开发中文件格式1.BinBin文件是最纯粹的二进制机器代码, 或者说是"顺序格式"。按照assembly code顺序翻译成binary machine code,内部没有地址标记。Bin是直接的内存映象表示,二进制文件大小即为文件所包含的数据的实际大小。 BIN文件就是直接的二进制文件,一般用编程器烧写时从00开始,而如果下载运行,则下载到编译时的地址即可。可以直接在裸机上运行...转载 2020-01-27 08:32:54 · 756 阅读 · 0 评论 -
芯片论坛
记录下有用的半导体论坛http://bbs.eetop.cn/原创 2019-11-25 17:23:04 · 1199 阅读 · 2 评论 -
推荐一款好用的IC设计中生成register model的工具
无意中发现一个开源的工具,使用systemRDL文件作为输入,可以生成寄存器相关的RTL module,UVM中使用的regmodel,C和verilog的头文件(包含寄存器某个字段的偏移以及mask bits),以及html的文档。资源如下:https://github.com/zhajio1988/Open_RegModel生成的html文档示例如下:https://systemr...转载 2019-11-20 13:47:34 · 696 阅读 · 0 评论 -
物联网协议Coap协议介绍
COAP协议简介Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252。COAP名字翻译来就是“受限应用协议”,顾名思义,使用在资源受限的物联网设备上。物联网设备的ram,rom都通常非常小,运行TCP和HTTP是不可以接受的。COAP协议特点1 COAP协议网络传输层由TCP改为UDP。C...转载 2019-11-04 18:12:18 · 1146 阅读 · 0 评论 -
KEIL/MDK编译优化选项注意事项
KEIL编译器C语言编译选项优化等级说明原文0Minimum optimization. Turns off most optimizations.It gives the best possible debug view and the lowest level of optimization.近乎不优化,用于调试代码。出现代码行不能设置断点可如此设置试试。1Restri...转载 2019-10-31 11:47:11 · 7516 阅读 · 0 评论 -
嵌入式中volatile关键字
volatile关键字区分C程序员和嵌入式系统程序员的最基本的问题:嵌入式系统程序员经常同硬件、中断、RTOS等等打交道,所有这些都要求使用volatile变量。不懂得volatile内容将会带来灾难。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,...转载 2019-10-29 10:52:34 · 969 阅读 · 0 评论 -
Qt中QTextEdit的水平滚动条问题
笔者在用PyQt写串口解析工具时遇到了一个问题,经查发现是QTextEdit的属性lineWrapMode没有选对,导致水平滚动条无法根据文字长度自适应调整。选择“NoWrap”选项就可以正常显示出水平滚动条了在QtDesigner自动生成的.py代码中,可看到界面代码中的lineWrapMode:更多有关QTextEdit的资料可参考https://www.cnblogs...原创 2019-10-18 17:21:50 · 4888 阅读 · 1 评论 -
Qt中QPushButton的checkable属性的作用
选中checkable后,Button变成切换按钮(toggle button),可以有两种状态:按下/弹起默认状况下checkable是不选中的,Button默认为触发按钮(trigger button),按下去马上弹起来笔者在用PyQt写串口解析工具时遇到了一个问题,经查发现是Button的属性checkable没有勾选,导致按钮状态不对。勾选后“打开按钮”的button就可以正常切换...原创 2019-10-18 10:54:51 · 9646 阅读 · 0 评论 -
PyQt serial terminal
见https://iosoft.blog/2019/04/30/pyqt-serial-terminal/转载 2019-10-17 18:37:49 · 518 阅读 · 0 评论 -
72个嵌入式技术网站
<1>.C语言中文网 http://see.xidian.edu.cn/cpp/ <2>.中国IT实验室 http://c.chinaitlab.com/c/Index.html <3>.站长之家 http://www.zzzj.com/html/cjj/ <4>.编程学吧 http://www.bcx8.com/ <5>.6lic.co...转载 2018-07-01 16:47:16 · 6238 阅读 · 0 评论 -
Saleae Logic16 逻辑分析仪使用说明
功能特点简介1.Saleae16逻辑分析仪,界面操作简单,易学,易用,是电子开发人员调试、分析的好工具2.Saleae16是将采样出来的实时数据送入电脑内存中,应用压缩算法,深度最高可达10G3.Saleae16可以自动分析多种常用通信协议,直接得到分析数据,其中SaleaeLogic_1.1.15 支持10种协议解释,SaleaeLogic_1.1.16支持17种协议解释,包括: Atmel S...转载 2018-07-07 11:47:32 · 37221 阅读 · 6 评论 -
CMSIS标准(Cortex微控制器软件接口标准)
CMSIS标准是ARM(做芯片标准的公司)和TI、ST(做芯片的公司,即芯片制造商)等公司共同提出的标准,用于向上提供用户应用程序接口(API)。内核外设层:由ARM提供,该层的实现就是core_cm4.c文件,提供进入Cortex-M4内核接口。中间件层:在当前CMSIS版本中不存在。。。暂时木有设备外设层:由ST、TI等芯片制造商提供,用于访问设备外设,如GPIO、ADC、US...原创 2018-07-29 10:57:01 · 2582 阅读 · 0 评论 -
mdk在使用stlinlk进行仿真时不实时更新解决方法
转载自 https://blog.youkuaiyun.com/u014124220/article/details/42672003?utm_source=itdadao&utm_medium=referral最近遇到了一个问题,就是在使用stlink进行仿真的时候,有的功能可以实时更新仿真中的变量,但是有的工程不能实现实时更新,经过查找资料和测试,可以通过以下方式解决,亲测可行在仿真界...转载 2018-07-29 13:16:08 · 847 阅读 · 0 评论 -
通俗易懂谈"上拉电阻"与"下拉电阻"
所谓上拉电阻就是:将一个不确定信号(高或低电平),通过一个电阻与电源VCC相连,固定在高电平;同理下拉电阻就是:将一个不确定信号(高或低电平),通过一个电阻与地GND相连,固定在低电平。上拉电阻与下拉电阻用在什么场合? 答:用在数字电路中,存在高低电平的场合。上拉电阻与下拉电阻怎么接线? 答:上拉电阻:电阻一端接VCC,一端接逻辑电平接入引脚(如单片机引脚) 下拉电阻...转载 2018-07-27 08:48:15 · 3303 阅读 · 0 评论 -
STM32 四种输入模式&四种输出模式
STM32的四种输入方式1、上拉输入(GPIO_Mode_IPU) 上拉输入就是信号进入芯片后加了一个上拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平为高电平; 2、下拉输入(GPIO_Mode_IPD) 下拉输入就是信号进入 芯片后加了一个下拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平为低电平; 3、模拟输入(GPIO_Mode_AIN) ...转载 2018-07-27 09:01:00 · 30770 阅读 · 0 评论 -
STM32开发板上的接口&芯片 不完全笔记
以王电令的F103开发板和正点原子的F407开发板为例,记录一下需要关注的内容。1、芯片型号+封装类型+两种存储容量 103:STM32F103ZET6 + LQFP144封装 + 512KByte ROM(FLASH),64KByte RAM(SRAM) 407:STM32F407ZGT6 + LQFP144封装 + 1MByte FLASH,192KByte S...原创 2018-07-28 19:13:09 · 10707 阅读 · 0 评论 -
浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
转载自 https://blog.youkuaiyun.com/LEON1741/article/details/72846434搞嵌入式开发和ARM开发搞了半辈子了,调试程序是不可避免的。接触了那么多的调试规范、调试工具、调试手段,彼此之间的关系却也不是特别清楚,今天就来捋一捋:JTAG协议JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEE...转载 2018-07-28 13:36:06 · 4302 阅读 · 0 评论 -
初学电子 ADC模块应用的一些问题
如何利用单片机的ADC模块(或者独立的ADC芯片)得到接入ADC管脚上的实际电压值?这个问题,是第一次接触ADC时候,大家都会遇到的问题。会读到什么值单片机会读到什么值?需要看一个特性,就是几位的ADC,在手册上就会给出,例如,STM32的ADC是12位的。另外,还有8位,10位,16位,24位等。我先告诉你答案:STM32读到的ADC值,是从0到4095,当你把ADC引脚接了GND,读到...转载 2018-08-06 13:48:38 · 4188 阅读 · 0 评论 -
STM32F407三重ADC+DMA的思考
转自 https://blog.youkuaiyun.com/i_water/article/details/45621295对单个ADC而言,AD采样的采样时间满足此关系:我用的ADCCLK=42MHz,针对单ADC而言,最大采样率为42M / (12 + 3) =2.8M // 取ADC_SampleTime_3Cycles要采 100KHz的信号32点,则采样率需达到3.2MHz(根据以...转载 2018-08-10 11:32:40 · 7181 阅读 · 0 评论 -
话说STM32F4系列的总线矩阵与访问调度
可能不少人见过STM32F4系列的内部系统架构框图。大致如下图,该图很重要,不可视而不见。 图中纵横交错的就是多层AHB总线矩阵,负责把上方黄色主设备跟右边绿色从设备互联起来。所谓AHB主设备是指CPU或DMA[通用DMA或专用DMA],由它们启动总线访问,即读写操作。那些响应主设备读写访问的设备就是AHB从设备,比如存储器、各类外设等。 因为总线矩阵的存在,使得多个主...转载 2018-08-11 12:28:37 · 746 阅读 · 0 评论 -
STM32时钟树
转自 https://blog.youkuaiyun.com/bulebin/article/details/73433677对于刚接触STM32的时钟树,对时钟树的理解,可以重点先思考两个问题:1、时钟从哪里来:时钟源。2、时钟怎么供给STM32的系统工作:时钟的流向(输入——>处理——>输出)下面以STM32F4系列的时钟树为例,分析以上两个问题。以下图是STM32F...转载 2018-08-11 13:02:10 · 300 阅读 · 0 评论 -
TSCH协议状态监控系统
注:此文仅为记录个人笔记所用,其他人看不懂纯属正常。ASCII编码 http://ascii.911cha.com//*9月13日更新1.修改LabVIEW的任务优先级,以解决上位机对下位发出的R帧响应慢的问题。2.LabVIEW打包成exe,在其他计算机上正常运行。待解决 *//*9月6日更新 DAC有效数据格式变为:xxxxxxxxxxxxxxxx...原创 2018-08-02 15:44:34 · 2774 阅读 · 0 评论 -
SystemInit函数
以上在stm32f4xx中文参考手册的截图SYSCLK时钟的来源有3个分别是 HSI HSE PLL我们主要的时钟有 低速的内部时钟 LSI RC震荡产生 32KHZ 低速的外部时钟 LSE 32.768KHZ晶振 高速的内部时钟 HSI RC震荡...转载 2018-08-11 22:33:48 · 1561 阅读 · 0 评论 -
STM32F407时钟配置
转自 https://blog.youkuaiyun.com/husterxmh/article/details/523724031、系统时钟SYSCLK在STM32F407中,除了一些特定的时钟(例如,USB OTG FS时钟,I2S时钟)外,系统所有外设的时钟均是通过SYSCLK来提供的。也就是说我们经常用到的外设时钟,都是通过SYSCLK分频得到的。下面是和SYSCLK相关的时钟树的图。...转载 2018-08-12 12:36:10 · 20231 阅读 · 0 评论 -
APB、AHB总线简介
摘自 https://blog.youkuaiyun.com/yu132563/article/details/53440590APB和AHB总线类似于计算机里的北桥和南桥。南桥频率低,用于挂载鼠标键盘等慢速设备,北桥频率高,用于挂载显卡等高速设备。AHB,Advanced High performance Bus,高级高性能总线,这是一种系统总线。AHB主要用于高性能模块(如CPU、DMA和DSP等...转载 2018-08-12 13:06:13 · 4545 阅读 · 0 评论 -
STM32输入输出模式理解
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)...转载 2018-08-13 21:33:44 · 385 阅读 · 0 评论 -
MDK配置问题
MDK安装完之后需要安装附加芯片包,在KEIL官网 http://www.keil.com/dd2/pack/ 安装之后,显示Error loading software packsRun-Time Environment might work incorrectlySee Build Output for details之后查了各种网页,发现好多人遇到一样的问题。好像没有...原创 2018-08-31 11:09:57 · 12805 阅读 · 4 评论 -
GPIO相关的寄存器+位操作+位段操作(位带操作)
GPIO相关的寄存器GPIO,即通用I/O口,是芯片与外部资源交互的接口。GPIO相关的寄存器有以下10个,这10个寄存器都是32位的。4个配置寄存器:MODER、OTYPER、OSPEEDR、PUPDR2个数据寄存器:IDR、ODR1个置位复位寄存器:BSRR1个锁定寄存器:LCKR (不常用)2个复用寄存器:AFRH、AFRL各个寄存器的各个位有不同的用法,这个不用...原创 2018-08-31 15:30:33 · 11600 阅读 · 2 评论 -
SysTick定时器应用之一——用于延时函数
SysTick为简单的向下计数的24位计时器,可以使用处理器时钟或外部参考时钟(通常是片上时钟源)。当不使用OS时,SysTick定时器可以用作简单的定时器外设,用以产生周期性中断、延时或者时间测量。用于延时函数的话比较简单,SysTick定时器操作存在4个寄存器SysTick->CTRLSysTick->LOADSysTick->VAL其中SysTick-&...原创 2018-09-01 11:25:31 · 4511 阅读 · 0 评论 -
CAN总线知识点梳理
原文出处:http://www.cnblogs.com/jacklu/p/4729638.html嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也借此机会,学习了一下CAN总线。概述CAN(Controller Area Netw...转载 2018-09-01 17:20:57 · 33309 阅读 · 2 评论 -
RS232/RS485/CAN总线
老师,请问为什么RS232可以板子和电脑通信,而RS485必须两块板子相互通信呢?如果没有两块板子岂不是RS485的例程做不了?那说明你对485这个通信你不了解。485它是差分的,单端的,它是半双工的。所以你要么就自己买一个USB转485的模块,你知道吧,你先上网了解一下什么是485。---------------------------------------------------...原创 2018-09-04 19:25:20 · 3451 阅读 · 0 评论 -
RS232电平和TTL电平
结论:TTL电平和RS232电平,无论是在电压范围还是在极性上(RS232是负逻辑)都有很大的不同。显然,这两种电平是不能直接相连的。为了把单片机的TTL电平转换成RS232电平,通常我们需要一个专用的转换芯片,比如SP3232。RS232是工业上常用的串口标准,无论是PLC的RS232串口模块,还是工控机的串口(COM),输出的电平都称为RS232电平。同时我们知道这些模块的内部控制单元都是...原创 2018-09-04 19:41:47 · 11539 阅读 · 0 评论 -
要做嵌入式存储?SD卡是个不错的选择
转自 https://zhuanlan.zhihu.com/p/31851300随着嵌入式系统在工控领域的应用,大容量的数据存储是需要解决的一个问题。常见的解决方案包括Flash存储芯片、SD卡和U盘。综合比较而言,SD卡是个不错的选择。SD卡具有存储容量大(大于128GB)、方便携带及支持SPI通信的特点。今天这篇文章,我们就来聊聊SD卡的那些事。SD卡的全名为“Secure Digit...转载 2018-09-04 20:14:01 · 1834 阅读 · 0 评论 -
详谈SD卡/微型SD卡的引脚定义与连接(精美多图)
转自 https://zhuanlan.zhihu.com/p/31949463 正确的硬件连接是软件调试的基础,SD卡的使用也不例外。今天这篇文章,我们来聊聊普通SD卡和微型SD卡(Micro SD card,TF card)的引脚定义及如何与单片机进行连接。先来看看普通SD卡。普通SD卡有9个引脚,使其反面朝上,最左边为9号引脚,然后从左到右依次是1号~8号,如下图:前面我们说...转载 2018-09-04 20:19:01 · 55667 阅读 · 3 评论 -
怎样理解SPI总线时钟的极性(CPOL)与相位(CPHA)?
转自 https://zhuanlan.zhihu.com/p/32803973在单片机与外围设备的通信中,SPI总线是一种常用的通信方式。SPI是英文"Serial Periphral Interface"的缩写,中文翻译为"串行外围设备接口"。今天这篇文章,我们就来谈谈SPI通信的原理,并详细讨论下总线时钟的极性与相位。SPI(Serial Periphral Interface)最早...转载 2018-09-04 20:30:02 · 26134 阅读 · 2 评论 -
RS232、RS485标准以及在DB9公头、母头上的接线定义
百度百科的DB9词条:DB9接口按照接口数量细分为A型(15针),B型(25针),C型(37针),D型(50针),E型(9针)。因此常见的计算机并口即为DB25针的连接器。而串口则应为DE9针连接器。由于早期的计算机的串口与并口都是使用DB25针连接器,而人们则习惯把字母B与D合在一起记了下来,当作D型接口的共同名字,以至于后来计算机串口改用9针接口以后,人们更多的使用DB9而不是DE...转载 2018-09-02 11:01:10 · 78725 阅读 · 1 评论 -
My_ARM_Starter_Board_F4开发板串口例程
板子开放了2个串口,COM1和COM2。COM1是使用CH340G芯片,将PA9 PA10的3.3V电平转换为USB接口的电平。COM2是使用SP3232芯片,将的PA2 PA3的3.3V电平转换为DB9接口的电平。(SP3232相当于一个升压芯片)将单片机的TTL电平转换为计算机的标准232电平。所以。。。如果是用DB9线连接单片机与计算机,则使用COM2,SP3232芯片。。。...原创 2018-09-02 13:16:53 · 1709 阅读 · 7 评论 -
STM32中printf函数重定向
转自 http://www.stmcu.org/module/forum/thread-598294-1-1.html所谓重定向是指修改printf的底层函数,使printf打印到单片机的外设中(将原本输出到显示屏的printf函数重定向到STM32串口)。如果不修改printf、fopen、fclose等函数,由于嵌入式的程序中并没有对这些函数的底层实现,使得设备运行时会进入软件中断BA...转载 2018-09-02 16:02:28 · 2369 阅读 · 0 评论 -
芯片的引脚该如何看
芯片的引脚该如何看呢?问:IC芯片角上一个小圆圈代表什么意思?VCC,GND,还是第一脚?顶部半圆缺口呢?答:芯片上小圆圈为第一引脚,逆时针排序 ;若没有小圆圈,有半圆形缺口,则左侧一个引脚为第一引脚,逆时针排序。...原创 2018-09-02 17:26:55 · 26159 阅读 · 0 评论