We are all in the gutter, but some of us are looking at the stars.

只有当潮水退去的时候,你才会发现谁在裸游。
私信 关注
_WindChimes
码龄3年

Just be nice,always thinks twice.

  • 563,374
    被访问量
  • 123
    原创文章
  • 9,862
    作者排名
  • 264
    粉丝数量
  • 于 2017-12-21 加入CSDN
获得成就
  • 获得305次点赞
  • 内容获得80次评论
  • 获得1,162次收藏
荣誉勋章
兴趣领域
  • #硬件开发
    #pcb工艺#驱动开发#硬件工程#嵌入式硬件#单片机
TA的专栏
  • 维基百科
    4篇
  • 谷歌账号注册
    1篇
  • Window操作系统
    1篇
  • HID接口设备
    8篇
  • GCC
    2篇
  • Modbus
    2篇
  • Cortex-M3
    16篇
  • MDK/GCC
    1篇
  • ARM
    1篇
  • PCB案例
    1篇
  • ASCII对照表
    1篇
  • Cache缓存
    1篇
  • USB
    1篇
  • STM技术手册笔记
    5篇
  • FreeRTOS_LearnFLAG
    1篇
  • HX720_Learn
    1篇
  • CAM350
    1篇
  • 国家线规
    2篇
  • 认证资料
    3篇
  • 机械键盘
    1篇
  • 毛细管计算软件
    1篇
  • cJSON_Learn
    1篇
  • 电子元器件
    49篇
  • Altium Designer18
    9篇
  • STM32个人见解
    19篇
  • 电机解读
    2篇
  • 三极管
    1篇
  • 科普类
    2篇
  • C语言个人见解
    16篇
  • CAD个人记录
    1篇
  • 指针的见解与应用
    2篇
  • Linux-ubuntu
    11篇
  • 几何图形
    1篇
  • Jlink_ob
    2篇
  • Jlink_V9
    1篇
  • AllegroPCB
    10篇
  • C#
    3篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

1.你没有把真正的库文件添加到工程里面,你只仅仅放在工程下面了吧;
2.说明一下,.c文件不会重复编译, .h文件才才会重复编译,为了避免 在.h文件上面添加如下代码:
 

//在你的.h文件添加
#ifndef _YOUR FILE NAME_
#define _YOUR FILE NAME_

/******你的代码,宏定义或者声明等等******/

#endif
回答的问题 #STM32如何调用.c文件且不会重复编译
回答了问题于 昨天

互联网协议套件(TCP/IP)及七层OSI模型

互联网协议套件(英语:Internet Protocol Suite,缩写IPS)[1]是网络通信模型,以及整个网络传输协议家族,为网际网络的基础通信架构。它常通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。因为该协议家族的两个核心协议:TCP(传输控制协议)和IP(网际协议),为该家族中最早通过的标准。由于在网络通讯协议普遍采用分层的结构,当多个层次的协议共同工作时,类似计算机科学中的堆栈,因此又称为TCP/IP协议栈(英
转载
8阅读
0评论
0点赞
发布博客于 2 天前

网际协议(IP)

网际协议 网际协议(英语:Internet Protocol,缩写:IP),又称互联网协议,是用于分组交换数据网络的协议。IP是在TCP/IP协议族中网络层的主要协议,任务仅仅是根据源主机和目的主机的地址来传送数据。为此目的,IP定义了寻址方法和数据报的封装结构。第一个架构的主要版本为IPv4,目前仍然是广泛使用的互联网协议,尽管世界各地正在积极部署IPv6。 IP封装数据在IP互联网中传送时会封装为数据包。网际协议的独特之处在于:在报文交换网络中主机在传输数据之前,无须与先前未曾通信过的目的
转载
14阅读
0评论
0点赞
发布博客于 2 天前

网络套接字(Network socket)

网络套接字(英语:Network socket;又译网络套接字、网络接口、网络插槽)在计算机科学中是电脑网络中进程间资料流的端点。使用以网际协议(Internet Protocol)为通信基础的网络套接字,称为网际套接字(Internet socket)。因为网际协议的流行,现代绝大多数的网络套接字,都是属于网际套接字。 socket是一种操作系统提供的进程间通信机制。 在操作系统中,通常会为应用程序提供一组应用程序接口(API),称为套接字接口(英语:socket API)。应用程序可以通过套接字接口
转载
8阅读
0评论
0点赞
发布博客于 2 天前

光耦/光电隔离器件

简介:光电耦合元件是以光(含可见光、红外线等)作为媒介来传输电信号的一组装置,其功能是平时让输入电路及输出电路之间隔离,在需要时可以使电信号通过隔离层的传送方式。光电耦合元件(英语:optical coupler,或英语:photo coupler),亦称光耦合器、光隔离器以及光电隔离器,简称光耦。 常见的光电耦合元件是将发光二极管(LED)及光晶体管(LED)放在一个不透明的封装中。其他的组合有LED-光电二极管、LED-LASCR及灯泡-光敏电阻。光电耦合元件一般会传递数字信号,但配合一些技术,也
转载
70阅读
0评论
0点赞
发布博客于 8 天前

ubuntu/linux运行shell脚本sudo自动输入密码(亲测可以)

运行如下代码为例 sudo apt-get update 第一种方法 使用管道(上一个命令的 stdout 接到下一个命令的 stdin): #!/bin/bashecho yourpassword | sudo -S apt-get update 第二种方法 使用文本块输入重定向: #!/bin/bashsudo -S apt-get update << EOF 你的密码EOF 说明:在shell脚本中,通常将EOF与 <...
转载
13阅读
0评论
0点赞
发布博客于 9 天前

解决Google电话号码无法用于验证(亲测可以-2021-02-23)

结果:(登录得保证浏览器能连外网)环境:手机+网易邮箱大师(PC网页版和浏览器注册验证手机号会失败)流程:
原创
608阅读
0评论
1点赞
发布博客于 11 天前

JLink_Windows_V696

JLINKV6.96_JLink_Windows_V696_Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 12 天前

Office全系列卸载工具.rar

卸载Office2003、卸载Office2007、卸载Office2010,卸载Office2013、卸载Office2016
rar
发布资源于 14 天前

谷歌输入法/谷歌拼音输入法/WIN7好用的输入法

下载谷歌拼音输入法离线包由于谷歌拼音输入法无法在中国大陆下载,因此提供文件来源于谷歌官方网站的谷歌拼音输入法离线包(Windows 10/8.1/8/7 64 位)下载。点击下载谷歌拼音输入法谷歌拼音输入法是由谷歌中国实验室开发,于2007年4月2日发布的汉语拼音输入法。10月25日成为Google的正式产品之一。 谷歌拼音输入法1.0.15.0版盗用了搜狗拼音输入法的词库,随后谷歌发布致歉声明。并于2007年4月9日发布1.0.17.0版,称改用了自家的词库。 随后,Google在...
原创
77阅读
1评论
0点赞
发布博客于 1 月前

notepad++最新版(7.9.2)

Notepad++中文版是必备的文本编辑器,Notepad++中文版小巧高效,支持27种编程语言
rar
发布资源于 1 月前

JLink_Windows_V694b.exe

JLINKV6.94b_JLink_Windows_V694b Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 2 月前

free: seconds argument `1‘ failed

查看当前的版本linuxer@ubuntu:~$ free -Vfree from procps-ng 3.3.12version 3.3.10 and in 3.3.9 有这个bug 3.3.12版本已经修复 3.3.12版本测试见下图
原创
45阅读
0评论
0点赞
发布博客于 2 月前

Linux读写执行(RWX)权限

rwx 权限对文件rwx 权限 对文件的作用 读权限(r) 表示可读取此文件中的实际内容,例如,可以对文件执行 cat、more、less、head、tail 等文件查看命令。 写权限(w) 表示可以编辑、新增或者修改文件中的内容,例如,可以对文件执行 vim、echo 等修改文件数据的命令。注意,无权限不赋予用户删除文件的权利,除非用户对文件的上级目录拥有写权限才可以。 执行权限(x) 表示该文件具有被系统执行的权限。Window系统中查看一个文件是否为可执行文件,
原创
53阅读
0评论
1点赞
发布博客于 2 月前

linux中环境变量作用(详解)

linux中环境变量作用在解释 PATH 环境变量之前,首先介绍一下 which 命令(它用于查找某个命令所在的绝对路径),下面举一个例子上图可以看到 ls 这个命令是在 /bin/ 目录下,说明想要执行 ls 这个命令,得去 /bin/ 去找ls命令; 下面有两种方式去执行ls 第一种是 利用两种方式去执行 ls 如下图 如上图两种都可以执行ls,linux是一切皆文件,为什么 单独执行 ls就可以找到了呢 读者是否有这样一个疑问,为什么前面在使用 rm、rmdir、ls 等命令
原创
40阅读
0评论
0点赞
发布博客于 2 月前

UAC详解

用户帐户控制(英语:User Account Control,UAC)为Windows Vista中所推出的安全技术之一,其主要特点在于通过限制应用软件对系统层级的访问,从而改进Windows操作系统的安全性。虽然此类机能一直遭到部分用户的批评,但后续的Windows操作系统仍保留此类机能。在后续的Windows 7中,微软公司保留并改进了此项机能(如:自定义UAC的安全等级)。触发UAC管理条件以管理员身份运行程序 配置Windows Update 增加或删除用户账户 改变用户的账户类型 配
原创
72阅读
0评论
0点赞
发布博客于 2 月前

USB开发资料大全(包含协议和枚举流程等等)

0.0.USB1.1 spec协议中文版 1.USB设备请求 2.USB描述符详解 3.USB的控制传输详解 4.USB协议物理层总结 5.USB协议中的建立事务 6.HID描述符详解-en 7.USB枚举过程 8.HIDUsageTables 9.USB_HID协议中文版_USB接口HID设备 10.圈圈教你玩USB(第二版) 11.传输线终端阻抗匹配 12.VID-PID解释 13.通用串行总线通用类规范-en 14.usb_20 20.HID描述符工具
rar
发布资源于 2 月前

HID特定请求

除了 USB 设备的 11 个标准请求外,HID 规范另外还定义了 6 个 HID 特定控制请求。所有的HID 设备都必须支持 Get_Report 请求,同时支持启动的设备必须支持 Get_Protocol请求和 Set_Protocol 请求,其他的请求是可选择的。如果设备没有中断输出端点,此设备需要支持 Get_Report 请求来从主机读取数据。 在控制传输的设置阶段的数据包中的 8 个字节中的第一字节含义参阅第 6 章中的 USB 标准请求。第 2 个字节 bRequest请求的不同而不同。wI
原创
28阅读
0评论
0点赞
发布博客于 2 月前

USB接口的键盘描述符范例

;========================================= ; Device descriptor 设备描述符 ;========================================= DEVICE_DESC_DATA: DB 0x12 ; bLength = 18,该描述符长度为18字节 DB 0x01 ; bDescriptorType = 01,表明是设备描述符 DB 0x10, 0x01 ; bcdUSB,USB设备版本号=1.1 DB 0x00.
原创
63阅读
0评论
0点赞
发布博客于 2 月前

HID报表描述符(目前最全的解析,也是USB最复杂的描述符)

报表描述符定义了执行设备功能的数据格式和使用方法。 报表描述符和 USB 的其他描述符是不一样的,它不是一个简单的表格,报表描述符是 USB 所有描述符中最复杂的。报表描述符非常复杂而有弹性,因为它需要处理各种用途的设备报表的数据必须以简洁的格式来储存,这样才不会浪费设备内的储存空间以及数据传输时的总线时间。实际上可以这样理解,报表内容的简洁,是通过报表描述符全面的、复杂的数据描述实现的。 报表描述符必须先描述数据的大小与内容。报表描述符的内容与大小因设备的不同而不同,在进行报表传输之前,主机必须先请求
原创
58阅读
0评论
0点赞
发布博客于 2 月前

HID描述符

HID 描述符的主要作用是用来识别 HID 通信所使用的额外描述符。下表是 HID 描述符结构。 注:上图最左边是偏移量不是少了8,提示一下 bcdHID:设备与其描述符所遵循的 HID 规范的版本号码,此数值是 4 个 16 进位的BCD 格式字符。例如版本 1.1 的 bcdHID 是 0110h。 bCountryCode:硬件目的国家的识别码。如果不说明,该字段为 0。 bDescriptorType:HID 描述符附属的描述符的类型(报表或实体)。每一个 HID 都必须至少支持一
原创
14阅读
0评论
0点赞
发布博客于 2 月前

HID设备描述符

HID 设备除了支持 USB 设备的 5 种标准描述符之外,还支持 HID 设备特有的 3 种描 述符。这些描述符是:USB 标准描述符:设备、配置、接口、端点和字符串描述符。 HID 特有的描述符:HID、报表(Report)和实体(Physical)描述符。 从描述符的关联关系看,HID 描述符是关联于接口。所以如果一个 HID 设备有 2 个端点,设备不需要每个端点有一个 HID 描述符。 从前面的 USB 描述符可以看出一个规律,描述符的第一、二字节分别是描述符的长度和类型,..
原创
41阅读
0评论
0点赞
发布博客于 2 月前

Linux文件目录命名规则

介绍完 Linux 系统中目录结构之后,读者一定想知道如何为文件或目录命名。我们知道,在 Linux 系统中,一切都是文件,既然是文件,就必须要有文件名。同其他系统相比,Linux 操作系统对文件或目录命名的要求相对比较宽松。Linux 系统中,文件和目录的命名规则如下:除了字符“/”之外,所有的字符都可以使用,但是要注意,在目录名或文件名中,使用某些特殊字符并不是明智之举。例如,在命名时应避免使用 <、>、?、* 和非打印字符等。如果一个文件名中包含了特殊字符,例如空格,那么在访问这个
转载
46阅读
0评论
0点赞
发布博客于 2 月前

Command ‘ifconfig‘ not found

Command 'ifconfig' not found ,but can be installed with:sudo apt install net-tools 其实上面已经说明了 :sudo apt install net-tools运行过程
原创
16阅读
0评论
0点赞
发布博客于 2 月前

Linux修改密码

Linux 修改密码先进入管理员模式然后输入 passwd然后新密码已经更新了如果更新其他用户的密码
原创
36阅读
0评论
0点赞
发布博客于 3 月前

HID接口设备-固件要求

固件要求主机的驱动程序要与 HID 设备通信,设备的固件必须符合下列需求:1>. 设备的描述符必须识别该设备包含有 HID 接口。 2>. 除了默认控制管道外,固件必须另外支持一个中断输入管道。 3>. 固件必须包含一个报表描述符来定义要传送与接收的设备数据。 如果要传送数据,固件必须支持 Get_Report 控制传输与中断输入传输。如果要接收数据,固件必须支持 Set_Report 控制传输与选择性的中断输出传输。 所有的 HID 数据都必须使用定义过的报表格式来定义报表中
原创
29阅读
0评论
0点赞
发布博客于 3 月前

HID接口设备-硬件要求

硬件要求HID 接口必须符合 Device Class Definition for Human interface Devices 规范内所定义的 HID 类别的需求。在此文件内描述了所需的描述符、传输的频率以及传输的类型等。为了符合规范,HID 接口的端点与描述符都必须符合数个要求。 所有的 HID 传输都是使用默认控制管道或是一个中断管道,HID 设备必须有一个中断输入端点来传送数据到主机,中断输出端点则不是必需的。 主机与设备之间所交换的数据,可以分成两种类型:1>. 低延
原创
21阅读
0评论
0点赞
发布博客于 3 月前

HID接口设备-简介

说明HID(Human Interface Device,人机接口设备)是 USB 设备中常用的设备类型,是直接与人交互的 USB 设备,例如键盘、鼠标与游戏杆等。在 USB 设备中,HID 设备的成本较低。另外,HID 设备并不一定要有人机交互功能,只要符合 HID 类别规范的设备都是HID 设备。 Wndows操作系统最先支持的HID设备。在windows 98以及后来的版本中内置有 HID设备的驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。在设计一个 USB 接口的计算机外部设备时,如
原创
70阅读
0评论
0点赞
发布博客于 3 月前

ubuntu在线安装和卸载libusb

在线安装命令 1.安装命令: Ubuntu 测试 其他linux应该是一样的 sudo apt-get install libusb-1.0-0-devsudo apt-get install libusb-dev 编译命令 libusb库 1.23 之前(应该是的 1.23之前没有做测试)例1.gcc -o main main.c -lusblibusb库 1.23 之后例2.gcc -o main main.c -lusb-1.0 问题及测试程..
原创
49阅读
0评论
0点赞
发布博客于 3 月前

ubuntu 安装libusb 编译自己写的程序 发现很多undefined(排除包含头文件的问题)

/usr/bin/ld: /tmp/ccRBAXf0.o: in function `print_devs':main.c:(.text+0x3b): undefined reference to `libusb_get_device_descriptor'/usr/bin/ld: main.c:(.text+0x72): undefined reference to `libusb_get_device_address'/usr/bin/ld: main.c:(.text+0x81): undefi
原创
108阅读
0评论
0点赞
发布博客于 3 月前

自己找到问题了 估计编译命令的问题,程序是没有问题的
 

libusb库 1.23 之前
例1.gcc -o main main.c -lusb
libusb库 1.23 之后
例2.gcc -o main main.c -lusb-1.0

 

回答的问题 #ubuntu 安装libusb 编译程序 发现很多undefined?
回答了问题于 3 月前

MakeFile中文手册(免费下载)-徐海兵整理

截图一张点击下载
原创
72阅读
0评论
0点赞
发布博客于 3 月前

code_1.51.1-1605051630_amd64.deb

code_1.51.1-1605051630_amd64.deb ubuntu vscode安装包
deb
发布资源于 3 月前

Ubuntu安装vscode步骤

Ubuntu安装vscode步骤下载deb文件,网址是 点击官网下载 下载好放到ubuntu系统里 然后执行命令 sudo dpkg -i code_1.51.1-1605051630_amd64.deb #需要root 也就是管理员方式安装#code_1.51.1-1605051630_amd64.deb 为对应安装包的名称 不同版本名称不同 #运行过程linuxer@ubuntu:~/Documents$ lsa code_1.51.1-160505163.
原创
72阅读
0评论
0点赞
发布博客于 3 月前

Makefile(直接可以使用)

环境(C语言)编译器:GCC Makefile和*.c文件放在一起 如下图 Makefile代码如下 ## Makefile## Author LeeHJ#Find *.cfiles_c = $(wildcard *.c)#Change *.c to *.ofiles_o = $(patsubst %.c,%.o,$(files_c))#Depends, no modification will not recompiletest:$(files_o) @gcc -o te
原创
37阅读
0评论
0点赞
发布博客于 3 月前

C参考手册-里面有例子

里面内涵 1.C参考手册.chm 2.C函数查询.chm 3.C语言100例.chm 4.C语言标准库函数大全.chm 5.C语言库函数使用大全CHM版.chm 6.C语言库函数速查手册.chm
rar
发布资源于 3 月前

绝对经典--最完整的Linux开发手册(不需要解压)

Linux 是一种自由和开放源码的类 UNIX 操作系统。 Linux 英文解释为 Linux is not Unix。 Linux 是在 1991 由林纳斯·托瓦兹在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。 Linux 其实很容易学,相信你们能很快学会。
chm
发布资源于 3 月前

C语言限定符

C语言限定符关键字 使用关键字限定变量:const、volatile、restric 一般注释限定符用于限制变量的使用方式。 1. 不能改变初始化以后的 const 变量。编译器不会假设 2. volatile变量不被某些外部代理(如,一个硬件更新)改变。 3. restrict 限定的指针是访问它所指向内存的唯一方式(在特定作用域中)。 属性 1. const int joy = 101;声明创建了变量joy,它的值被初始化为101。 2. volatile unsigned i..
原创
202阅读
0评论
0点赞
发布博客于 3 月前

C语言基本类型和存储类别

基本数据类型C语言的基本数据类型分为两大类:整数类型和浮点数类型。不同的种类提供了不同的范围和精度。关键字 1. 创建基本数据类型要用到8个关键字:int、long、short、unsigned、char、float、double、signed(ANSI C)。 有符号整数 1. 有符号整数可以具有正值或负值。 2. int是所有系统中基本整数类型。 3. long或long int可储存的整数应大于或等于int可储存的最大数;long至少是32位。 4. short或short int.
原创
37阅读
0评论
0点赞
发布博客于 3 月前

C运算符解析及优先级

C运算符的优先级C语言有大量的运算符。表B.2.1按优先级从高至低的顺序列出了C运算符,并给出了其结合性。除非特别指明,否则所有运算符都是二元运算符(需要两个运算对象)。注意,一些二元运算符和一元运算符的表示符号相同,但是其优先级不同。例如,*(乘法运算符)和*(间接运算符)。表后面总结了每个运算符的用法。...
原创
213阅读
0评论
0点赞
发布博客于 3 月前

JLink_Windows_V687g

JLINKV6.87g_JLink_Windows_V687g Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 3 月前

JLink_Windows_V686g

JLINKV6.86g_JLink_Windows_V686g Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 3 月前

JLink_Windows_V687f.exe

JLINKV6.87f_JLink_Windows_V687f Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 4 月前

FreeRTOSv10.3.1

FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
rar
发布资源于 4 月前

FreeRTOSv10.4.1

FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
rar
发布资源于 4 月前

函数原型

函数原型 函数原型是C语言的一个强有力的工具,它让编译器捕获在使用函数时可能出现的许多错误或疏漏。如果编译器没有发现这些问题,就很难觉察出来。是否必须使用函数原型?不一定。你也可以使用旧式的函数声明(即不用声明任何形参),但是这样做的弊大于利。 有一种方法可以省略函数原型却保留函数原型的优点。首先要明白,之所以使用函数原型,是为了让编译器在第1次执行到该函数之前就知道如何使用它。因此,把整个函数定义放在第1次调用该函数之前,也有相同的效果。此时,函数定义也相当于函数原型。对于较小的函数,这种
原创
147阅读
0评论
0点赞
发布博客于 4 月前

CMSIS_5-5.7.0.rar

ARM Cortex™ 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层(英文原文为:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces--来自ARM官方定义)。
rar
发布资源于 4 月前

KEIL5.32/MDK5.32/KEIL最新版

Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。
rar
发布资源于 4 月前

freemodbus-masterV1.6(最新版-未作任何修改)

FreeMODBUS是一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。
rar
发布资源于 4 月前

freemodbus源码/获取地址

官网源码地址:点击访问CSDN:点击下载
原创
40阅读
0评论
0点赞
发布博客于 4 月前

modbus-poll-slave

ModbusPoll是一款主站设备仿真软件,支持多文档接口,即可以同时监视多个从站设备及数据域。ModbusSlave是一款从站设备仿真软件,它用于接收主设备的命令包,并回送数据包;可用于测试和调试Modbus主站设备,便于观察Modbus通信过程中的各种报文
rar
发布资源于 4 月前

modbus poll\slave

CSDN:点击下载
原创
34阅读
0评论
0点赞
发布博客于 4 月前

JLink_Windows_V686c

JLINKV6.86c_JLink_Windows_V686c Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 4 月前

JLink_Windows_V686.exe

JLINKV6.86_JLink_Windows_V686 Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 5 月前

JLink_Windows_V684a

JLINKV6.84a_JLink_Windows_V684a Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 5 月前

Cortex-M3-MPU(存储器保护单元)

Cortex-M3-MPU(存储器保护单元)MPU使命-关键系统 这种系统往往都用于性命攸关的场合,且必须连续无故障地工作,比如,火车调度系统、生命维持系统、大型发动机驱动器、核子反应堆控制、网络/电信的数据交换中枢等。如果失能,将导致惨重的经济与损失,甚至会使无数人死于非命。因此,决不允许这类系统出现 上述情况。然而,这些系统的复杂度往往都非常高,几乎不可能由开发人员保证这种可靠性。因此,需要在硬件水平上加入一个“公安机关”。通过它设置各种类型的“禁地”,并且施加多种规章条例。一旦发现违章,则
原创
116阅读
0评论
0点赞
发布博客于 5 月前

Cortex-M3-指针和野指针

Cortex-M3-指针和野指针什么是指针?指针在内存中实际上是一个无符号整数(unsigned int),但是它的值被赋予特殊的解释:表示变量或函数的地址。所以才被形象地称为“指针”,就好像指向谁家似的。在使用指针前,都必须先让它指向有意义的,并且允许由程序使用的实体——数据和代码。而所谓“野指针”,就是指某个指针变量的值因故超出合法的范围,使其“枪口”乱指。程序逻辑错误、数组越界、堆栈溢出、指针未经初始化、对缓存与缓冲的处理不当、多任务环境中的紊乱条件,甚至是恶意地破坏等,都可以制造出野指针。如
原创
92阅读
0评论
0点赞
发布博客于 5 月前

Cortex-M3-建立向量表

Cortex-M3-建立向量表如果在程序执行的从头到尾,都只给每个中断提供固定的中断服务程序(这也是目前单片机开发的绝大多数情况),则可以把向量表放到 ROM 中。在这种情况下不需要运行时重建向量表。然而,如果想让自己的设备能随机应变地对付各种复杂情况,就常常需要动态地改变中断服务例程,更新向量表就是必需的了。此时,向量表必须被转移到可读写存储器中(如内存)。 在把向量表重定位之前,往往要把现有的向量表往新的位置复制一份。需要拷贝的向量主要是系统异常的服务例程,如各种 fault 的、NMI 的以.
原创
69阅读
0评论
0点赞
发布博客于 5 月前

Cortex-M3-建立堆栈

Cortex-M3-建立堆栈当开发的程序比较简单时,可以从头到尾都只使用 MSP。这时,只需要保证开出一个容量够大的堆栈,再把 MSP 初始化到其顶即可——这也是单片机开发最常见的做法。堆栈用穿是非常致命的错误,必须非常严肃地计算安全容量。在计算时,除了要计入最深函数调用时对堆栈的需求,还需要判定最多可能有多少级中断嵌套。一个笨方法(但是很保险)是假设每个中断都可以嵌套。对于每一级嵌套的中断,至少需要 8 个字(32 字节),而且如果 ISR 过于复杂,还可能有更多的堆栈需求。 因为 CM3 中的堆栈
原创
192阅读
0评论
0点赞
发布博客于 5 月前

Cortex-M3-中断/异常的响应序列

Cortex-M3-中断/异常的响应序列当CM3开始响应一个中断时,会在它看不见的体内奔涌起三股暗流:入栈:把8个寄存器的值压入栈. 取向量:从向量表中找出对应的服务程序入口地址. 选择堆栈指针MSP/PSP,更新堆栈指针SP,更新连接寄存器LR,更新程序计数器PC.入栈响应异常的第一个行动,就是自动保存现场的必要部分:依次把xPSR,PC,LR,R12以及R3‐R0由硬件自动压入适当的堆栈中:如果当响应异常时,当前的代码正在使用PSP,则压入PSP,即使用线程堆栈;否则压入MSP...
原创
125阅读
0评论
0点赞
发布博客于 5 月前

GCC 和 MDK (即 Keil) 手工指定其地址及指针

在 GCC 和 RealViewMDK(即 Keil)开发工具中,允许定义变量时手工指定其地址。如:volatile unsigned long bbVarAry[7] __attribute__(( at(0x20003014) ));volatile unsigned long* const pbbaVar= (void*)(0x22000000+0x3014*8*4);
原创
88阅读
0评论
0点赞
发布博客于 5 月前

字对齐、半字对齐、字节对齐

一般情况下字为32位(4字节)、半字为16位(2字节)、字节为8位(1字节)。大多数计算机使用字节(8位的数据块)作为最小可寻址的存储器单位,而不是访问存储器中单独的位。存储器的每一个字节都由唯一的数字标识,称为该字节的地址,所有可能地址的集合称为存储器空间。举例来说,ARM处理器工作状态有如下两种:(具体参阅:点击指令集)ARM状态:执行字对齐的32位ARM指令。 Thumb状态:执行半字对齐的16位Thumb指令。字对齐、半字对齐、字节对齐只要明白其中一个,另外两个自然也就理解了。所..
转载
191阅读
0评论
0点赞
发布博客于 5 月前

Cortex-M3-寄存器

Cortex-M3-寄存器Cortex‐M3 处理器拥有 R0‐R15 的寄存器组。其中 R13 作为堆栈指针 SP。SP 有两个,但在同一时刻只能有一个可以看到,这也就是所谓的“banked”寄存器。寄存器组R0-R12:通用寄存器R0‐R12 都是 32 位通用寄存器,用于数据操作。但是注意:绝大多数 16 位 Thumb 指令只能访问 R0‐R7,而 32 位 Thumb‐2 指令可以访问所有寄存器。Banked R13: 两个堆栈指针Cortex‐M3 拥有两个堆栈指针,然而.
原创
128阅读
0评论
0点赞
发布博客于 5 月前

ASCII对照表

原创
51阅读
0评论
0点赞
发布博客于 6 月前

Cortex-M3-复位(序列)

Cortex-M3-复位(序列)在离开复位状态后,CM3 做的第一件事就是读取下列两个 32 位整数的值:从地址 0x0000,0000 处取出 MSP 的初始值。 从地址 0x0000,0004 处取出 PC 的初始值——这个值是复位向量,LSB 必须是 1。然后从这个值所对应的地址处取指。图为复位序列请注意,这与传统的 ARM 架构不同——其实也和绝大多数的其它单片机不同。传统的ARM 架构总是从 0 地址开始执行第一条指令。它们的 0 地址处总是一条跳转指令。在 CM3中,0 地址处
原创
125阅读
0评论
0点赞
发布博客于 6 月前

Cortex-M3-异常与中断-向量表 s

Cortex-M3-异常与中断Cortex‐M3 支持大量异常,包括 16‐4‐1=11 个系统异常,和最多 240 个外部中断——简称 IRQ。具体使用了这 240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号,除了 SysTick 的之外,全都连接到 NVIC 的中断输入信号线。典型情况下,处理器一般支持 16 到 32 个中断,当然也有在此之外的。 作为中断功能的强化,NVIC 还有一条 NMI 输入信号线。NMI 究竟被拿去做什么,还要视处理器的设计而定。在多数情况下,NMI
原创
66阅读
0评论
0点赞
发布博客于 6 月前

Cortex-M3-栏目-文章来源

Cortex-M3-栏目-文章来源首先我也是个学者,这个栏目的绝大部分的见解来自CM3权威指南.我只仅仅学习记录,将来可以复习一些需要的知识 然后也可以和大家分享,也希望能帮到大家 我用一个小记,说明一下文章来源,以后此栏目就不在注明啦...
原创
37阅读
0评论
0点赞
发布博客于 6 月前

Cortex‐M3-指令集

Cortex‐M3-指令集:Cortex‐M3 只使用 Thumb‐2 指令集。这是个了不起的突破,因为它允许 32 位指令和 16 位指令水乳交融,代码密度与处理性能两手抓,两手都硬。而且虽然它很强大,却依然易于使用。 在过去,做 ARM 开发必须处理好两个状态。这两个状态是井水不犯河水的,它们是:32 位的ARM 状态和 16 位的 Thumb 状态。当处理器在 ARM 状态下时,所有的指令均是 32 位的(哪怕只是个”NOP”指令),此时性能相当高。而在 Thumb 状态下,所有的指令均是 16
原创
77阅读
0评论
0点赞
发布博客于 6 月前

Cortex‐M3-存储器保护单元(MPU)

Cortex‐M3 有一个可选的存储器保护单元。配上它之后,就可以对特权级访问和用户级访问分别施加不同的访问限制。当检测到犯规(violated)时,MPU 就会产生一个 fault 异常,可以由 fault异常的服务例程来分析该错误,并且在可能时改正它。 MPU 有很多玩法。最常见的就是由操作系统使用 MPU,以使特权级代码的数据,包括操作系统本身的数据不被其它用户程序弄坏。MPU 在保护内存时是按区管理的(“区”的原文是 region,以后不再中译此名词——译注)。它可以把某些内存 re...
原创
58阅读
0评论
0点赞
发布博客于 6 月前

Cortex‐M3-总线接口

Cortex‐M3-内核框图Cortex‐M3 内部有若干个总线接口,以使 CM3 能同时取址和访内(访问内存),它们是:指令存储区总线(两条): 负责对代码存储区的访问,分别是 I‐Code 总线和 D‐Code 总线。前者用 于取指,后者用于查表等操作,它们按最佳执行速度进行优化。 系统总线: 用于访问内存和外设,覆盖的区域包括 SRAM,片上外设,片外 RAM,片外扩展设备, 以及系统级存储区的部分空间。 私有外设总线: 负责一部分私有外设的访问,主要就是访问调试组件。它们也在系统..
原创
204阅读
2评论
1点赞
发布博客于 6 月前

Cortex‐M3-存储器映射

总体来说,支持 4GB 存储空间:Cortex‐M3 存储器映射由半导体厂家说了算,Cortex‐M3 预先定义好了“粗线条的”存储器映射。通过把片上外设的寄存器映射到外设区,就可以简单地以访问内存的方式来访问这些外设的寄存器,从而控制外设的工作。结果,片上外设可以使用 C 语言来操作。这种预定义的映射关系,也使得对访问速度可以做高度的优化,而且对于片上系统的设计而言更易集成(还有一个重要的,不用每学一种不同的单片机就要熟悉一种新的存储器映射——译注)。 Cortex‐M3 的内部拥有一个总线基础
原创
43阅读
0评论
0点赞
发布博客于 6 月前

CM3技术参考手册-中文版

Cortex-M3 是一款低功耗处理器,具有门数目少,中断延迟短,调试成本低的特点,是为要求有快速中断响应能力的深度嵌入式应用而设计的。该处理器采用 ARMv7-M 架构。
rar
发布资源于 6 月前

ARM语言(汇编中文手册)

本手册提供有关 RealView ® 编译工具 (RVCT) 汇编程序的指导和参考信息。 这包 括 armasm 、独立的汇编程序以及 C 和 C++ 编译器中的嵌入式汇编程序。 本手册 介绍汇编程序的命令行选项,可供汇编语言程序员使用的汇编语言助记符、伪指 令、宏和指令。
rar
发布资源于 6 月前

JLink_Windows_V682g.exe

JLINKV6.82g_JLink_Windows_V682g Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 6 月前

Cortex-M3 处理器内核

Cortex-M3 处理器内核采用 ARMv7-M 架构
原创
119阅读
0评论
1点赞
发布博客于 6 月前

ARM语言(汇编手册).rar

ARM属于简单指令集(RISC)处理器,所以与复杂指令集先比,只有简单的差不多100条指令集.ARM语言(汇编手册) 中文版 不过没有标签,翻译很好,可以看看,非复印版.
rar
发布资源于 6 月前

Cache(缓存)浅析

在以前,CPU的主频比较慢,CPU和内存DRAM之间速度差别不是很大,存储数据或者指令还OK。
原创
85阅读
0评论
0点赞
发布博客于 6 月前

BSS的全称

BSS是是Unix链接器产生的未初始化数据段。 BSS是“Block Started by Symbol”的缩写,意为“以符号开始的块”。 BSS是Unix链接器产生的未初始化数据段。其他的段分别是包含程序代码的“text”段和包含已初始化数据的“data”段。BSS段的变量只有名称和大小却没有值。此名后来被许多文件格式使用,包括PE。“以符号开始的块”指的是编译器处理未初始化数据的地方。BSS节不包含任何数据,只是简单的维护开始和结束的地址,以便内存区能在运行时被有效地清零。BSS..
转载
129阅读
0评论
0点赞
发布博客于 6 月前

USB的端点描述符详解-重新排版

端点描述符,是描述USB通信通道或管道的类型和功能的标准USB描述符。
原创
162阅读
0评论
0点赞
发布博客于 7 月前

JLink_Windows_V680e.rar

JLINKV6.80b_JLink_Windows_V680e Jlink驱动软件,官网下的慢的话可以下载这个
rar
发布资源于 7 月前

USB和串口 监控助手.7.25.zip

USB和串口监控助手 可以在线调试协议,监控协议,自己测试该过可以使用!有兴趣的话 可以下载.找不到的话可以下载这个
zip
发布资源于 7 月前

JLink_Windows_V680a

JLINKV6.80b_JLink_Windows_V680b Jlink驱动软件,官网下的慢的话可以下载这个
exe
发布资源于 7 月前

Trumb/ARM 指令模式

Trumb较新的ARM处理器有一种16-bit指令模式,叫做Thumb,也许跟每个条件式运行指令均耗用4位的情形有关。 在Thumb模式下,较小的opcode有更少的功能性。例如,只有分支可以是条件式的,且许多opcode无法访问所有CPU的寄存器。 然而,较短的opcode提供整体更佳的编码密度(注:意指代码在存储器中占的空间),即使有些运算需要更多的指令。特别在存储器端口或总线宽度限制在32以下的情形时,更短的Thumb opcode能更有效地使用有限的存储器带宽,因而提供比32位代码更佳的性能
原创
209阅读
0评论
0点赞
发布博客于 8 月前

error:cannot load driver JL2CM3.dll

error:cannot load driver JL2CM3.dll原因:不能读取JL2CM3.dll驱动解决办法:先找到keil安装路径下面的 JL2CM3.dll 具体位置
原创
1099阅读
9评论
2点赞
发布博客于 8 月前

xQueueReceive FreeRTOS 消息接收

xQueueReceive[Queue Management]queue. hBaseType_t xQueueReceive( QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait );This is a macro that calls the xQueueGenericReceive() function.Receive an item from a queue. The item is received..
原创
1120阅读
0评论
0点赞
发布博客于 8 月前

周期和频率之间的换算

1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz1s=1000ms,1 ms=1000μs,1μs=1000nss(秒)、ms(毫秒)、μs(微秒)、ns(纳秒)
转载
1211阅读
0评论
2点赞
发布博客于 8 月前

FreeRTOS API 参考手册 8.1.2-(英文).chm

FreeRTOS API 参考手册 8.1.2-(只有英文版本)CHM file was made by Sobol A.E, version 1.0a Get new version from www.asobol.ru
rar
发布资源于 8 月前

HX720/HX711 数据采集及处理姿态解析(公式及源码)

1.由于世面上面普及HX711,单HX720有更大的优势!
原创
588阅读
2评论
1点赞
发布博客于 9 月前

FreeRTOS 任务句柄(详解)

BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, const char * const pcName,/*lint !e971 Unqualified char types are allowed for strings and single characters only. */ const configSTACK_DEPTH_TYPE usStackDepth, void * const pvParameters, .
原创
1421阅读
0评论
1点赞
发布博客于 9 月前

Allegro 光绘文件快速导入

Allegro光绘的导出(点击可访问)(里面有具体的光绘层选项)
原创
382阅读
0评论
0点赞
发布博客于 9 月前

FILM_SETUP

光绘文件的设置快速导入具体可看:https://blog.csdn.net/Britripe/article/details/106112745
txt
发布资源于 9 月前

Allegro光绘的导出

1.提取钻孔相关数据2.光绘文件的导出
原创
476阅读
0评论
0点赞
发布博客于 9 月前

代画PCB及C语言编程

PCB秉性的原则画板之间先提出方案或者要求 我收到方案或者要求后,提出疑惑点和歧义的地方沟通 尽量一次成型,拒绝拖拉 诚信交易,鸽子党勿扰 可以走咸鱼,信任的伙伴可以走微信 信任的伙伴可以先画后付钱 画板2-4层 可以是 AD或者Candence案例一:由于设计私密,部分马赛克案例二:由于设计私密,部分马赛克...
原创
383阅读
1评论
0点赞
发布博客于 9 月前

CAM350_V12.2

CAM350就是把layout工程师设计出来的线路板,经客户以电脑资料的方式给线路板厂,然后板厂根据该厂里的机器设备能力和生产能力,利用CAM软件(genesis2000,cam350,ucam,v2001等)将客户提供的原始资料根据该厂的生产能力修正后,为生产的各工序提供某些生产工具(比如菲林、钻带、锣带等),以方便本厂能生产符合客户要求 的线路板,起的就是辅助制造作用。
rar
发布资源于 9 月前

CAM350_V12.1

CAM350就是把layout工程师设计出来的线路板,经客户以电脑资料的方式给线路板厂,然后板厂根据该厂里的机器设备能力和生产能力,利用CAM软件(genesis2000,cam350,ucam,v2001等)将客户提供的原始资料根据该厂的生产能力修正后,为生产的各工序提供某些生产工具(比如菲林、钻带、锣带等),以方便本厂能生产符合客户要求 的线路板,起的就是辅助制造作用。
rar
发布资源于 9 月前

CAM350_V9.51

CAM350就是把layout工程师设计出来的线路板,经客户以电脑资料的方式给线路板厂,然后板厂根据该厂里的机器设备能力和生产能力,利用CAM软件(genesis2000,cam350,ucam,v2001等)将客户提供的原始资料根据该厂的生产能力修正后,为生产的各工序提供某些生产工具(比如菲林、钻带、锣带等),以方便本厂能生产符合客户要求 的线路板,起的就是辅助制造作用。
rar
发布资源于 9 月前

CAM350_V10.7中文版

CAM350就是把layout工程师设计出来的线路板,经客户以电脑资料的方式给线路板厂,然后板厂根据该厂里的机器设备能力和生产能力,利用CAM软件(genesis2000,cam350,ucam,v2001等)将客户提供的原始资料根据该厂的生产能力修正后,为生产的各工序提供某些生产工具(比如菲林、钻带、锣带等),以方便本厂能生产符合客户要求 的线路板,起的就是辅助制造作用。
rar
发布资源于 9 月前

CAM350 10.7 中文界面

1.自己试了非常 好用
原创
435阅读
0评论
0点赞
发布博客于 9 月前

Allegro 关闭与显示网络飞线

其实和AD差不多,上图
原创
306阅读
0评论
0点赞
发布博客于 9 月前

请问在allegro中如何在铜箔上单独放置过孔?

allegro没有单独 放过过孔的功能, 只有布线的时候 双击过孔,那么怎么在铜箔上面单独 放置过孔呢 有个稍微笨点的方法 ,仅供参考。哈哈
原创
973阅读
0评论
0点赞
发布博客于 9 月前