
嵌入式系统
文章平均质量分 55
单片机与嵌入式系统
大师兄电子工作室
大师兄电子工作室
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Altium Designer原理图改动后更新PCB报错的解决方法
有许多使用DXP 2004或者Altium Designer的朋友在绘制PCB时会遇到如下情况:在更改了原理图以后再进行Update PCB Document的时候软件会提示错误遇到这种情况时大家往往束手无策而选择重新建立一个空白的PCB板再去生成一遍,其实,出现这种问题的原因有二。其一,在我们第一次从原理图生成PCB时,软件就会生成器件之间连线的网表Netlists用以记录个器件之间的连接关系;其二,我们所建立的原理图文件在生成PCB时会被软件以原理图文件名作为分类名进行类的建立,也就是说我们建立原创 2021-04-21 23:42:36 · 8360 阅读 · 0 评论 -
FPGA浮点小数与定点小数的换算及应用
转载链接:http://blog.youkuaiyun.com/github_33678609/article/details/53465626定点小数运算有些FPGA中是不能直接对浮点数进行操作的,只能采用定点数进行数值运算。所谓定点小数就是把小数点的位置固定,我们要用整数来表示小数。先以10进制为例。如果我们能够计算12+34=46的话,当然也就能够计算1.2+3.4 或者 0.12+0.34了。所以定点小转载 2017-12-07 16:21:31 · 4141 阅读 · 0 评论 -
Modelsim仿真基本命令介绍
仿真命令vlib work // 建库(在该目录下建立一个work目录,请注意不要用操作系统来新建一个work的文件夹,因为用操作系统建立的work文件夹并没有ModelSim SE自动生成的_info文件)vmap work work // 映射(将目前的逻辑工作库work和实际工作库work映射对应)vlog *.v原创 2017-12-06 10:57:30 · 6330 阅读 · 2 评论 -
Xilinx ISE 14.7与Modelsim10.1a联合仿真
分别安装Xilinx ISE 14.7与Modelsim10.1aModelsim10.1a下载地址:https://pan.baidu.com/share/link?shareid=72194&uk=1795984406联合仿真步骤选中工程,右键选择Design Properties,然后在 simulator 中将Simulator修改为Modelsim-SE Mixed:View部分选中Si原创 2017-12-05 22:23:07 · 7544 阅读 · 3 评论 -
结构化设计向导(Architecture Wizard)和IP核生成工具(Core Generator)
结构化设计向导(Architecture Wizard)和IP核生成工具(Core Generator)分别是两个独立的模块,可以单独运行,也可以在ISE集成化开发平台中作为一个整体的模块来调用。由于这两个工具的功能和输出文件基 本上相同,所以可以将二者合而为一,作为一个工具来使用。当单独运行结构化设计向导时,所创建工程文件的后缀为.XAW,如图1所示。这两个工具都采用了 非常友好的GUI界面转载 2017-10-10 10:24:37 · 2117 阅读 · 0 评论 -
Xilinx加法器IP核adder
1.IP核配置如下:2.adder_top.v代码`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 10:20:30 07原创 2017-07-20 10:14:31 · 10380 阅读 · 0 评论 -
STM32学习笔记一一ADC
https://blog.youkuaiyun.com/wwt18811707971/article/details/76468420转载 2019-05-02 22:58:00 · 544 阅读 · 0 评论 -
Error: L6411E: No compatible library exists with a definition of startup symbol __main
1.MDK518安装破解完成后编译程序出现错误..\Output\STM32工程模板.axf: Warning: L6373W: libattrs.map file not found in System Library directory D:\Softwares\ARM\ADSv1_2\LIB\armlib\. Library selection may be impaired...\原创 2017-08-15 10:11:55 · 3823 阅读 · 2 评论 -
电磁阀规格介绍
1.P为进气口、A(B)为工作口、R(S)为排气口;2.线圈处接电源和控制信号;3.4V210-06、4V210-08、4V110-06中110和210代表电磁阀大小;06、08分别代表接口口径为1分和2分(注:一英寸25.4mm等于八英分)。原创 2017-04-06 11:15:42 · 7869 阅读 · 0 评论 -
总结——调试STM32F103ZET6及外围传感器_PM2.5传感器
1.概述PM2.5传感器模块,UART输出,使用USART3。2.接线正极接P10的VCC3.3,负极接P10的GND,TXD接Z1的16脚US3_RX(70),注意:正常的话正极是接VCC5,但是我接上VCC5后,模块上的稳压二极管烧了,然后我将稳压二极管卸掉后使用VCC3.3供电,数据发送正常。3.调试关键问题(1)波特率9600,数据位8位,停止位1位,校验位无。(2...原创 2016-11-25 23:54:29 · 12925 阅读 · 7 评论 -
总结——调试STM32F103ZET6及外围传感器_氧气传感器
1.概述使用氧气传感器模块,输出为模拟量,因为空气中氧含量为20.9%,模块输出大约2.0V 电压信号,在满量程25%(实际可到30%)范围内“线性关系”。 2.接线氧气传感器分别接到P2的V+和V-上,供电电压为3.3-5V,输出信号为2V左右,如下图: 3.调试关键问题(1)电路图上R9最好为10R,VREF+(32)应和VDDA(33)相接,也可以将VREF...原创 2016-11-18 00:27:09 · 9011 阅读 · 3 评论 -
总结——调试STM32F103ZET6及外围传感器_MH-Z14A二氧化碳传感器
1.概述 模块为MH-Z14A二氧化碳传感器,UART输出,使用USART2。2.接线正极(引脚1)接P5的3脚5V,负极(引脚3)接P5的5脚GND,RXD(引脚11)接P5的6脚TXD,TXD(引脚19)接P5的7脚RXD。3.调试关键问题(1)波特率9600,数据位8位,停止位1位,校验位无。(2)通信方式:STM32通过US2_TX发送读取CO2浓度的指令...原创 2016-11-13 16:47:14 · 9458 阅读 · 11 评论 -
总结——stm32之keil开发环境搭建
1.搭建需要的文件STM32F10x_StdPeriph_Lib_V3.5.0库KeilMDK5JLINK驱动2.搭建步骤(1)首先建文件夹Project_STM32,然后在此文件夹中新建子文件夹:Hardware 外围模块驱动程序Libraries驱动库文件Listing 编译过程中产生的文件Output原创 2016-11-13 01:01:13 · 14249 阅读 · 0 评论 -
总结——调试STM32F103ZET6及外围传感器_MAQ400空气质量(异味)数显模块
1.概述模块型号为MAQ400系列,UART输出,使用USART1,上电后需要预热60s后输出数据才稳定。2.接线正极(引脚2)接5V,负极(引脚1)接GND,TXD接STM32的RXD(PA10)。3.调试关键问题(1)波特率9600,数据位8位,停止位1位,校验位无。(2)通信为主动上传式每间隔1s发送一次浓度值,命令行格式:起始位(0xFF) 起始位(0xFF...原创 2016-11-12 21:35:54 · 2394 阅读 · 1 评论 -
总结——调试STM32F103ZET6及外围传感器_电路图设计问题+SHT10温湿度传感器
1.电路图设计问题(1)2016-11-02:SHT10温湿度传感器的DATA引脚未接10K上拉电阻到VCC3.3,造成数据读不出。(2)2016-11-02:电路图中的USB转USART模块中CH340G芯片的2脚为TXD,应该接STM32F103ZET6的US1_RX,3脚为RXD,应该接STM32F103ZET6的US1_TX,原电路图中正好画反了。(3)2016-11-13:P...原创 2016-11-05 22:43:16 · 12036 阅读 · 1 评论 -
如何从ST官网下载ST库
1.下载地址:https://my.st.com/content/my_st_com/en.html2.依次打开:Tools & Software>MCUs Embedded Software>STM32 Embedded Software>STM32 Standard Peripheral Libraries>STSW-STM32054> Get Software原创 2016-11-02 11:54:04 · 10231 阅读 · 3 评论 -
总结——STM32F103C8T6通过MAX31865读取PT100电阻值
先看这个: 资料 https://blog.youkuaiyun.com/gsh_hello_world/article/details/56277182 https://blog.youkuaiyun.com/gsh_hello_world/article/details/8133595510月17日——10月23日调试总结1.MAX3...原创 2016-10-23 16:49:27 · 50318 阅读 · 12 评论 -
通过串口SCI更新DSP28335的用户程序
先看这个: 资料 https://blog.youkuaiyun.com/gsh_hello_world/article/details/56277182 https://blog.youkuaiyun.com/gsh_hello_world/article/details/81335955本文详细期刊介绍链接--------------...原创 2017-05-22 15:36:39 · 12012 阅读 · 27 评论 -
CCS5导入工程时出错:Issues that may require your attention were encountered while importing the projects
1.出错CCS5.5.0导入工程(Import CCS Eclispse Project)时出错:Issues that may require your attention were encountered while importing the projects ,如下图:2.原因是由于文件夹名(例如f28335_Sci_Update_Flash_first)和文件夹中的工程名原创 2016-12-11 18:14:40 · 27898 阅读 · 7 评论 -
HEX文件格式详解
Hex文件是可以烧录到MCU中,被MCU执行的一种文件格式。如果用记事本打开可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。Hex文件可以按照如下的方式进行拆分来分析其中的内容:例如 “:1000080080318B1E0828092820280B1D0C280D2854”可以被看作“0x10 0x00 0x08 0x00 0x80 0x31 0转载 2016-09-06 17:14:26 · 9005 阅读 · 0 评论 -
bootmode -- TI DSP
TI支持很多种方式的boot,内部的ram(saram),flash,sci,spi等等,但无论哪种启动都遵循下面的流程:而该流程中的reset,initboot,call selectbootmode, read i/o state, call boot loader这些步骤都是固化在芯片内的程序自己执行的,也就是说这些代码在出厂的时候已经在TI的芯片内。在2转载 2016-09-04 11:36:09 · 2359 阅读 · 0 评论 -
总结——在CCS5.5.0中如何将代码烧写到DSP28335的Flash中
把一个原来是烧写到DSP的片内RAM的程序修改成是烧写到DSP片内FLASH的程序,需要以下几个步骤:1.添加DSP2833x_CodeStartBranch.asm文件添加D:\tidcs\c28\DSP2833x\v131\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm文件,此文件负责上电后程序执行顺序跳转的;2.添加DSP2原创 2016-08-12 00:48:21 · 30376 阅读 · 22 评论 -
CCSv5.5破解所需的License
CCSv5.5破解所需的License。如果打开CCS后发现提示缺少License,那么将此License放在ti\ccsv5\ccs_base\DebugServer\license下再重新打开CCS就可以了!下载链接:http://download.youkuaiyun.com/detail/gsh_hello_world/7802119原创 2016-08-10 10:43:06 · 27797 阅读 · 1 评论 -
SEED-510PLUS仿真器驱动在CCS5.1下安装
1.SEED-XDS510Plus仿真器驱动 ,可用于CCS4.X以上及以下版本;2.如果使用CCS5,打开CCS5,在target configuration里看不到SEED-XDS510,解决方案:将SEED仿真器驱动安装在.//ccsv5/ccs_base下,重启CCS,connection中可以看到出现SEED XDS510PLUS Emulator,选择添加后可以顺利制作.ccxml原创 2016-08-10 10:39:48 · 10441 阅读 · 1 评论 -
CCS3.3相关驱动插件安装
1.安装CCS3.3,安装setup.exe,路径默认,且不要包含中文字符,安装过程中若出现Installer Information:Error1308,则点击Ignore忽略即可,若出现Warning,点击确定。该警告后续通过安装补丁解决。2.安装CCS补丁,首先安装CCS_V3.3_SR11_81.6.2.exe,之后安装SR12_CCS_V3.3_SR_3.3.82.13.exe,原创 2016-08-10 09:45:21 · 7361 阅读 · 8 评论 -
CCS5 Debug出错 @load program error. Encoutered a problem loading file:...\LED.out could not open file.
首先Import Legacy CCSv3.3 Project到Code Composer Studio 5.5.0,然后进行下图配置(选择DSP型号和仿真器型号):然后编译后出现下图错误:进而Debug后出现下图错误:出错原因:文件夹命名为“DSP&FPGA”,进而出现上述错误。将文件夹名称改为DSP_FPGA后即可解决问题。原创 2016-08-09 22:12:19 · 23478 阅读 · 2 评论 -
Import Legacy CCSv3.3 Project到CCS5.5.0时出错
导入工程到Code Composer Studio 5.5.0时,若选取“Import Legacy CCSv3.3 Project”,则在最后一步即将结束导入时,弹窗:The directory 'XXX' already contains Eclipse metadata! If the legacy project has already been migrated, import it原创 2016-08-09 21:52:13 · 8845 阅读 · 0 评论 -
CCS如何调整字体大小
点菜单栏上的windows,选择preferences,在弹出的对话框中点开general -->appearance -->colors and fonts,在C/C++中修改你想要的字体和大小。原创 2016-08-09 19:02:08 · 22515 阅读 · 0 评论 -
CC3200中1us延时的实现
首先,CC3200 系统延时函数 utils.c定义如下:#include "utils.h"//*****************************************************************************////! Provides a small delay.//!//! \param ulCount is the numb原创 2016-05-08 15:27:23 · 2828 阅读 · 0 评论 -
移植DS1302到CC3200
首先,DS1302数据读写时序如下图:51单片机上的程序见附件,将其移植到CC3200上需要做的工作:1.选择合适的GPIO作为SCLK、I/0、RST,本人选用PIN_50:SCLK(7脚)、PIN_59:I/O(6脚)、PIN_15:RST(5脚),配置相关引脚,定义引脚操作,如下所示://RST脚 PIN_15#define RST_OUT MAP_GPIOD原创 2016-05-08 15:09:29 · 1530 阅读 · 0 评论 -
sprintf函数——CC3200项目中使用
函数功能:把格式化的数据写入某个字符串函数原型:int sprintf( char *buffer, const char *format [, argument] … );返回值:字符串长度(strlen)例子:char* who = "I";char* whom = "优快云";sprintf(s, "%s love %s.", who, whom); //产生:"I love原创 2016-04-20 21:23:49 · 950 阅读 · 0 评论 -
Socket阻塞模式和非阻塞模式的区别
简单点说:阻塞就是干不完不准回来, 非组赛就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你C转载 2016-01-27 22:07:30 · 594 阅读 · 0 评论 -
Altium Designer画开关,开关中引脚已存在内部连接,怎样在原理图中体现出这种关系?
按钮开关有4个引脚,实物引脚编号为1、2、3、4,内部连接关系为1、3连通,2、4连通。画PCB封装时,我采取将1、3焊盘设置为1、1焊盘,2、4焊盘设置为2、2焊盘,这样,这个PCB封装网络就只有两个而不是四个,布线时内部相连的两脚可以布线也可以不布线。原创 2015-11-15 09:59:42 · 8093 阅读 · 1 评论 -
altium designer里把贴片元器件放在底层该如何去设置操作?
选中要放在底部的贴片,在拖动过程中按快捷键L即可将所有的贴片放在底部。转载 2015-11-14 22:02:04 · 20984 阅读 · 1 评论 -
Socket阻塞模式和非阻塞模式的区别
简单点说:阻塞就是干不完不准回来, 非组赛就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你C转载 2016-10-09 20:45:06 · 1838 阅读 · 0 评论 -
继电器模块典型电路图
当控制端电压为0时,Q1基极电压为(12-0.7=11.3V),改变R1的大小便可改变基极电流,当基极电流足够大时,三极管饱合。为了验证以上的分析,我们搭了一个电路,R1取4.7K,此时基极电流为2.4ma,测得Q1 ec电压为0.2V,继电器两端电压为11.8V。注意:R1的取值不能太小,要保证基极电流在安全范围,也不能太大,要保证三极管能完全饱合,这个可以通过电压和电阻算出原创 2015-10-22 21:23:37 · 41976 阅读 · 3 评论 -
msp430中为什么每次开中断之前都需要写#pragma vector=TIMERA0_VECTOR?
msp430中每次开中断之前都需要写#pragma vector=TIMERA0_VECTOR原创 2014-08-25 16:22:20 · 4008 阅读 · 1 评论 -
出警告:warning c280:'a' :unreferenced local variable
在ADDA一开始定义成这个:int AD_Send_Byte(uchar a,uchar control); //单片机发送字节函数原创 2014-08-16 21:56:32 · 12543 阅读 · 1 评论 -
ERROR L104: MULTIPLE PUBLIC DEFINITIONS
错误: // *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS // SYMBOL: K // MODULE: 222.obj (222)转载 2014-08-17 08:19:15 · 5283 阅读 · 1 评论 -
Keil编译错误Error:Redefinition
sbit B=P1^1;错误的(Redefinition),因为reg52.h里有B的定义!原创 2014-08-17 08:30:54 · 8534 阅读 · 0 评论