自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 TMP102温度传感器(二进制补码和原码相互转换)

以12位有符号数据为例,在TMP102中,bit11为符号位,有效数据只有11位[10:0]。而在32位单片机中,例如STM32中,有符号数据的符号位为bit31,有效数据为[30:0]。那么同样的负数,在不同系统中存储的编码是不同的。例如,在32位系统中,-400=0xFFFF_FE70。而16位系统中,-400=0xFE70,12位系统-400=0xE70。简单来说,整形int在不同的系统的寻址空间长度不一样。还有很多其他的芯片,寄存器内部也是保存着二进制补码,对于负数的读取也可以使用这种函数。

2024-08-03 14:15:27 180

原创 VS code报错“No such file”,配置tasks.json

找了很久,终于找到一个同病相怜的患者,原来vscode只是一个文档编辑器,c_cpp_properties.json里面的配置路径,只是用来支持编辑器跳转的,而编译器的配置在`tasks.json`里面。好吧,使用"-I"后缀(其实就是gcc -I),添加了文件夹路径,但是居然不能搜索子文件夹。哦豁,找不到文件路径。基于MDK的经验,我看了一下,UI和**json文件**(注意这个)里面都有写文件路径,应该不会错呀。先记录一下临时解决办法,再次吐槽一下,网上的资料太简陋了,大部分都是基础问题的解决办法。

2023-08-19 15:49:24 345

原创 Allegro导出元器件pad坐标和网络(附带ODB++插件下载)

当然有时候如果客户只给了gerber,从gerber里面导出坐标就不太现实了,除非给出的gerber是类似ODB++的格式,含有网表和坐标。芯片测试行业,有时候需要将DUT的芯片封装导出,对于有些引脚排列不规则的芯片,使用AD的smart insert功能,批量导入pad的坐标,并自动放置,将会带来极大的便捷。如果使用allegro,只能手动一个一个去放置pad,如果有数百个pad,十分耗费时间。另外,由于TP点往往只有一个pad,因此对于TP点的坐标,在SMT坐标文件里面也可获取到。

2022-09-14 10:12:58 5532 1

原创 Lua将浮点型转成16进制

参考文档:【1】https://blog.csdn.net/weixin_30597089/article/details/113040138?spm=1001.2014.3001.5506【2】https://blog.csdn.net/weixin_43142607/article/details/123376774  对于C/C++就很简单了,直接定义一个联合体即可将浮点转成十六进制,需要注意的是,在STM32上面是使用小端模式,因此存储是先存高位。例如0x12345678,应该依次存储0x78

2022-03-31 11:34:45 5142

原创 基于STM32 HAL库的自定义USB HID设备通信

  最近有个项目需要用到STM32的高速通信,准备调试一下STM32的USB功能,但是发现F103C8T6只有全速USB,因此作为HID设备一帧只能发送64字节,最小间隔是1ms,显然这个是很慢不能满足要求了,高速USB还是只能外接高速USB PHY。这里只记录一下调试过程不说原理了,USB协议十分复杂,学习的书籍还是参考《圈圈教你玩USB》比较合适。1.代码生成  方便起见直接用CubeMX生成大部分的代码,然后在上面修改即可,步骤参见如下:https://www.cnblogs.com/untitl

2022-02-07 17:59:13 9739 1

原创 Keil添加printf输出串口

参考官方文档:https://www.keil.com/support/man/docs/jlink/jlink_trace_itm_viewer.htm 关于ITM的介绍参见:https://blog.csdn.net/hanchaoman/article/details/102494914   Debug (printf) Viewer可以通过ITM0输出printf内容,通过以下步骤可以打开显示串口输出。1.将ITM端口寄存器定义添加到源代码中。同时在源代码中添加一个写入ITM Port 0寄.

2022-01-06 10:44:59 3143 2

原创 【电容电压不能突变的理解】

  电路基础知识:电容作为无缘储能元件,其两端的电压不能突变;同样电感作为无源储能元件,其流过的电流不能突变。其根本原因是能量不能变,对于电容来说,能量就是存储的电场,电场的建立是需要时间的。  理论上,根据电容电流的公式i(t) = C*du/dt,其中C是电容的固有属性,可以认为是一个常量。如果电容电压需要突变,那么dU需要无穷大,进而得出需要无穷大的电流才可以做到,这显然是不可能的。电感电流也是类似的推导过程。  搭建如下图所示的原理图进行仿真。![在这里插入图片描述](https://im.

2022-01-04 09:57:41 19322 5

转载 [转载]AD多通道原理图设计

https://www.cnblogs.com/ransn/p/5502384.html欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你

2021-09-28 15:50:26 843

原创 Ubuntu 16.04更新源很慢

虚拟机创建了Ubuntu系统,选择软件源到中国的服务器或者选择最优服务器、阿里云等等,更新缓存很慢。后面发现自己对虚拟机网路连接是NAT模式,IP和主机不在同一个网关,改成了桥接模式,然后重新打开Ubuntu,更新缓存速度就很快了。...

2021-02-02 21:48:33 438 1

原创 ZYNQ UART启动过程分析

之前在学习各大开发板的时候,都是只浏览了一遍,没有深入研究。最近回头再看一遍,刚开始看hello world就一直存在一个疑问,从C语言的角度入手,似乎没有对UART进行配置,为什么上来就有波特率115200。首先直接分析hello world的代码:/* * helloworld.c: simple test application * * This application configures UART 16550 to baud rate 9600. * PS7 UART (Zynq) i

2021-01-31 16:12:08 1723 2

转载 [转载]基于FPGA的IIR滤波器

原地址:http://www.cnblogs.com/fydeblog/p/6748998.html作者: FANG_YANG1.说明写了那么多数字图像处理的,再写点其他的吧,今天写点FPGA的东西,是之前EDA做的综合大实验,拿出来和大家分享分享!先说一下,此篇文章是基于你有IIR滤波器的原理和FPGA语言(也就是Verilog HDL)基础上的!至于IIR滤波器的原理和Verilog ...

2020-03-20 14:58:50 482

STM32F103_Custom_USB_HID

基于STM32的HAL库自定义 USB HID设备的通信

2022-02-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除