硬件调试
文章平均质量分 78
硬件调试笔记
LostSpeed
c++ coder
展开
-
hd debug - DAPLink的资料
查资料时, 看到有DAPLink的资料, 记录一下.原创 2023-05-03 12:49:39 · 829 阅读 · 0 评论 -
Arduino - Debugging on the Arduino IDE 2.0
弄了2块开发板(Mega2560(MCU is ATmega2560), Arduino Nano Every(MCU is ATMega4809)).安装了最新版的Arduino IDE(2.0.3), 发现这2个板子均不支持单步调试. 只能将程序编译完, 上传到开发板盲跑, 最多打印一些串口调试语句供参考. 这不难为我啊.手头正好有个固件, 现在硬件都没好呢, 不知道固件是否好使. 如果有问题, 那不好排错和学习啊.原创 2022-12-27 21:50:04 · 3002 阅读 · 0 评论 -
debug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因
正在给板子写出厂测试程序, 买的12864型号是JLX12864C.STC官方给的例程是并行通讯, 好使.但是想在测试程序中改为串行通讯, 这样就不会和外接的XRAM的读写冲突.找了前面同学写好的串行通讯例程, 将控制引脚都改成和原理图一样的管脚, 测试不好使.写测试程序, 单独测试P2, 看看是否写入的值和读出的值一样?结果发现 PSB(P2^4)写入0, 读出的是1.PSB设置为1时, 是ST7920-12864的并行通讯方式.原创 2022-11-29 18:41:05 · 686 阅读 · 0 评论 -
如果发现薅来的封装是错误的,请不要怪羊
板子上用了一个薅来的红外发射管的封装, 用程序调试时, 发现已经发了红外码, 但是收不到.例程是开发板上的现成代码, 工程没问题. 那就是硬件有问题了. 开始查.最后发现是当时从元件销售商下载的原始封装就错了, 这事弄的. 不过下载封装时, 人家有免责声明的. 即使没有免责声明, 咱是薅羊毛的, 哪能怪🐏呢? 只能怪自己不仔细.所以不管是啥板子, 没有调试通的时候, 不要冲动去做批量. 头一版的板子, 总能找出错误的.很羡慕有的大神可以一版通过.这板子是个开发板, 原理图都是抄的, 除非自己抄错了(前原创 2022-10-21 21:40:57 · 366 阅读 · 0 评论 -
器件代换 - 1N5817
前言一块老板子上用到了IN5817力创上没货淘宝上有,但是好贵。那不能用啊,找一下替代的器件。先去下载1N5817数据表 1N5817-D.PDF打开看一下指标肖特基2极管反向耐压20V平均正向电流 1A正向压降 0.45V去力创上搜索肖特基2极管。在查找结果中,看有货的,看到SS12可以替代IN5817打开SS12数据表看一下。肖特基2极管反向压降20V平均电流1A正向压降0.45V总结SS12指标和1N5817一样,可原创 2022-04-08 14:04:45 · 971 阅读 · 0 评论 -
MAX3232使用全部2路串口互相干扰的问题
前言做了一块4路3V3TTL转2路485 + 2路232的接口板.TTL转232用的MAX3232(正品), 电源5V.做回来, 初步看, 好像是好的.进一步测试, 发现有问题.2路485是好的, 但是232的2路串口之间有干扰, 引起接收乱码.232部分的原理图如下:DIN1, ROUT1, DIN2, ROUT2通过RS0108直接上了MCU的TTL串口.写了固件程序来测试收发, 发现2个485是好的, 2个232问题现象如下:2路232发送都是好的, 在电脑端端口助手上都能按照96原创 2022-01-08 23:42:57 · 9828 阅读 · 0 评论 -
MAX3232
笔记前2周, 用同事留下的模块板子(4路3.3VTTL转4路RS485/RS232)时, 将其中的2路485不焊接, 焊接1片MAX3232, 但是2路RS232不通讯.因为同事没见过这模块板子上用RS232的情况, 就只能分析修正.当时分析,是3.3VMCU和5V供电的模块板子没做TTL电平转换引起的问题.当然这肯定是问题之一.打了样板回来, 发现RS232还不能通讯.去查MAX3232的datasheet, 才发现以前同事将232的TTL端和232端搞反了. 这真是想不到, 也只能说, 没有验原创 2022-01-02 14:29:30 · 11737 阅读 · 0 评论 -
迪文串口屏(DMG10600C101-03WTC)的通讯测试
笔记同事从迪文屏接口, 焊接出一个DB9公头.因为手头不好找DB9母头, 就用232转485 + 485转232 + 232转USB上电脑测试.怎么测试都不通, 也将同事焊接的232 TX/RX对调过. 不行.最后测试时, 直接找了一条双母头的D9连接线, 这样就改成了 DB9公头接口 + 双母头DB9转接线 + 232转USB上电脑. 这回好使.我不确定那条双母头的2,3是否有交叉. 反正通讯不行时, 就将同事焊接出的DB9公头的2,3调一下测试.记录一下用串口助手和串口屏通讯的发包的组包配原创 2021-12-14 16:45:54 · 3058 阅读 · 0 评论 -
迪文串口屏(DMG10600C101-03WTC)的使用测试
笔记同事整来一个10寸的迪文串口屏(200+RMB), 让我试试.去淘宝看了一下, 他买的应该是下面这种.这次买的屏用DGUS工具开发时, 和旧版的有点不同, 需要配置字库, CFG, ICL 文件, 烧录进屏内才能正常用. 否则会黑屏, 页面不动作, 或是上一次烧录成功的图片.试验迪文屏的DGUS工具有很多版本(对应不同的串口屏主控MCU), 从他家官方下载, 可能下的不是最新版本或和串口屏不匹配.还好, 迪文的技术支持很到位.买了屏之后, 问负责和你们公司对接的迪文销售就行.DGUS开原创 2021-12-13 20:17:48 · 9949 阅读 · 0 评论 -
LAN8720A不能正常通讯的问题
笔记公司有块MCU板(STM32407VGT6 + LAN8720A/AI), 板子是好的, 以前一直在用, 固件工程也是归档的, 软件也是正常的.公司同事去年焊接了20个MCU板, 出货了3块板子, 剩下的板子就丢在那.这几天, 要用这个板子, 找到上次焊接的MCU板子, 插到到主板上, 程序烧录进入后, 网线插入, 连接设备和开发本本, 开发本本上的网卡一直显示网线已经被拔出.开始怀疑是程序不是对应版本的, 看svn归档记录, 固件工程就是这个.同事就怀疑我程序整错了. 那就查呗.在固件工程原创 2021-12-09 11:44:10 · 4937 阅读 · 1 评论 -
LM2576
笔记同事前一段时间让我买一块功能板的料, 就买5套(供应商没有的料)做临时东西, 买完就没我事了.等板子回来,同事让焊接厂焊好.拿回来组装时,我正好没事, 就在旁边看着.上电(12V), 就看板子上带的STC12C5616AD-LQFP-32PIN冒了一缕青烟, CAO, 板子烧了…因为时间紧,同事量了一下有没有短路,没有.好,继续换板子,连续烧了2块.因为时间紧,他直接将12V跳过功能板,直接给底板.这几天,我正好要将这块功能板降到新底板上.因为就要将这块板子电路迁移到新底板工程中, 我当原创 2021-11-25 22:23:10 · 4743 阅读 · 0 评论 -
STLINK : Warning: Connection to device 0x413 is lost
笔记在写板子的MCU板固件程序, MCU是STM32F407IGT6。最开始,用的JLINK调试程序。逻辑写了一部分,发现带着JLINK跑的时候,一切正常。将JLINK摘下来时,程序就不正常了。头一次遇到,感到好奇怪。因为是自己手焊的,而且板子做好到现在,快1年了。是不是助焊剂引起的问题?MCU涨价前, 买了2波一共13片STM32F407IGT6,翻翻零件盒,现在还有10片。将焊接好的MCU板摘下来,吹掉旧得MCU, 换了一片MCU. 在显微镜下,将疑似接触不好,发焦的元件都换掉。实在看不出还原创 2021-11-17 12:16:29 · 2170 阅读 · 0 评论 -
解决了一次模块间TTL串口不能通讯的问题
前言公司的产品嵌入式主机要更换短信模块,临时搞一台。老模块原来直接做在板子上,这次生产后,同事将老模块吹下来了。新短信模块是个小模块产品,同事将壳子拆掉,将产品板子塞进主机箱。新短信模块原来是RS232通讯,过的SP3232, 走的DB9串口。同事将SP3232拆掉,将短信模块从模组出来的TTL的串口收发和主机箱中MCU的TTL收发连在一起。用2根排线连接的。2个板子之间的收发为 A-TX => B-RX, A-RX => B-TX.2个板子通过供电(220V=>12V开关原创 2021-09-07 16:43:43 · 3445 阅读 · 0 评论 -
STM32F091不能通过STLINKV2下载程序
前言板子做好,正在验证。板子上有5块MCU(F407 + F103 * 2 + F091 * 2)2块F013的电路用程序初步测试过好使。昨天验证到F091的时候,出了问题,各种报错,主要是程序下载不进去。还没到调试程序的地步。测试程序用CubeMX生成框架(IAR),自己填测试代码。在公司时,仿真器(STLINK)就下载不进程序。回家检查了硬件电路和仿真器排线,都没问题。在家用IAR8.40.2打开,可以下载程序,可以单步。将板子带到公司,又不能下载程序和单步调试了。家里和公司的实验环境原创 2021-08-13 11:17:16 · 481 阅读 · 0 评论 -
器件丝印引起的短路(过流)故障
前言在调试一块板子。板子2个月之前,同事用钢网 + 回流焊给弄好了。初步量,各个电源和地之间没短路,可以上电先试试。本周计划调试这块板子。电源12V输入,本来想直接用2个12V开关电源,手头没有。用的数显可调直流稳压电源(15V5A)代替.为了保险,将220V的电源从交流隔离变压器上接出来。将可调电源调到11.7V,将接头做好,插到板子上,上电。没看到板子上的电源指示灯在亮…万用表随便量了一下转出的子电路的3.3V,没电压啊。再看数显直流稳压电源上显示为 2.2V, 2A。板子现在没用这么原创 2021-08-02 14:10:43 · 303 阅读 · 0 评论 -
STM32CubeMX Crystal/Ceramic Resontor
前言最近在验证去年画好的一套板子,因为是验证,大概齐看看有没有问题。采用STM32CubeMX生成的HAL库工程框架来测试。各种例子CubeMX包里面都有。发现一个奇怪的问题,外部时钟时钟初始化很少能通过。导致只能使用HSI+LSI来编程。当时没在意,就是以为元件问题(晶振和起振电容货不好,精度不合规,或者我焊工太差)。这几天又做了一块BMS板子,又发现外部时钟初始化过不了。上网一查,好像很多同学都说有问题。工作计划里面,我都考虑使用外部有源晶振来提供时钟了。看了一眼ST官方的晶振设计文档(e原创 2021-05-17 14:22:12 · 2623 阅读 · 0 评论 -
QNetworkAccessManager get 超时等待引起的问题
前言给用户写个小程序,用来访问和控制他们的设备。他们设备在片上开了一个http服务器,用http get 方法取运行状态,用http post 方法控制设备动作。现场运行后,在网络良好的情况下,发现不定时的会出现访问不到他们设备。有时是还能ping的通,但是访问不到。有时是ping不通,也访问不到。这个设备是用户采购的第三方设备,用户咨询设备厂商,厂商说我的写程序有问题,让我看看我程序哪写错了。我当时就怒了,就没听说过访问一个url,能将设备的通讯跑死的。这大概率都是设备固件写的有问题,不是内存原创 2021-03-28 23:06:29 · 1084 阅读 · 0 评论 -
STM32F091不识别仿真器的案例
前言做了一块STM32F091 + 8串口的样板,正在调试。一部分一部分的焊接,前面对了,再焊接下一部分,再验证。电源部分焊接完,电压都对。焊接STM32F091电路(就是最小系统电路,有SWD接口),焊接完,电源地没短路,上电MCU也不烫。焊接质量在显微镜的加持下,看起来表面质量也是刚刚的。写了个测试程序,试一下,居然不识别STLINKV2.将STLINKV2移到其他样板上,好使,这样就是说,不是STLINKV2的问题。查资料,有个同学也遇到了这个问题,只不过,他是原理图画错了,将VCAP原创 2021-03-16 22:48:35 · 536 阅读 · 0 评论 -
IAR Warning:SWO data stream not stopped when target stopped
前言调试打样的板子, 为了能无限下断点, 开始用JLINK。但是各种连接不上。或者能连上板子,走2步就报错。具体报错忘了。反正就是JLINKV9不能正常调试。还好,用STLINKV2正常。不过心里还是疑惑,为啥JLINKV9不能调试这个板子。今天将SDIO的TF卡验证完,想起来,验证一下ITM吧。我用的6线制的SWD接口(为了从SWO接口打印ITM信息)。设置好ITM, 单步,还没走一步呢,就出现下面的报错。第一反应,看看网上同学遇到过这个问题么?一查,居然没有人遇到过这个问题。那这个问题一定原创 2021-03-07 23:33:50 · 800 阅读 · 0 评论 -
STM32F4 + HAL库 + W25Q256的验证
前言今天验证打样板子上的W25Q256, 验证过了。做个笔记。硬件电路MCU = STM32F407IGT6W25 = W25Q256JVEIQ 封装 = WSON-8 8x6mmSPI方式读写,使用SPI2.W25按照STM32接SPI设备的正常SPI方式连接, 为了布线方便,将SPI2管脚从默认管脚复用到PB12这边。CubeMX配置硬件电路上,SPI时钟线没接上拉电阻,将时钟管脚配置为上拉。剩下用CubeMX默认选项,不用改。W25Q256 HAL版驱动csdn上有个同学原创 2021-03-06 19:35:22 · 3166 阅读 · 0 评论 -
STM32F4 + HAL库 + FSMC
前言打样了一块实验板,F407IGT6 用FSMC接口带了2块SRAM. 板子去年做的,布线比较挫,线好乱。验证这2块SRAM时,发现按照字节写入后,再读出了2次,有时,这3个数据都不一样。开始以为是板子布的挫,导致SRAM操作时序受干扰。后来发现是用CubeMX配置SRAM时,打开SRAM扩展模式才行, 还要将SRAM需要的时钟周期那要调整一下。用人家板子时,工程都是能跑的,这些细节注意不到。还是要自己从头开始玩,才能体会到这些细节操作。板子布线好挫为了以后低成本升级MCU周边资源,将MCU原创 2021-03-05 23:14:42 · 2146 阅读 · 0 评论 -
AMS1117输入电源加反后换元件
前言从一块空板子,开始从电源输入部分开始焊接。准备先将电源输入部分焊完了,先试试,如果电源部分的输入输出电压都正常,再焊接其他子电路。原理图如下除了C93没焊接,其他都焊接上了。没想到用直流电源引出的12V电在板子上12V和GND之间加反了。就生生的在眼皮子底下将电源加反了…上电后,没到2秒,就看到C86炸成2半了。赶紧将直流电源关掉。看其他3颗47uf电容,颜色没啥变化。将C86扒拉下来,又换上一个47uf/50v的钽电容。将电源插针方向调对,重新上电。点了2秒,看到U35冒烟了。原创 2021-02-18 16:07:30 · 981 阅读 · 0 评论 -
STM32F091的HAL_Delay生效问题
前言板子打样回来,上面有2颗STM32F091RCT6.同事焊接的板子。人家是专业焊工,都是一口气焊接完的。如果是我,就会按照原理图,一部分子电路一部分的焊接,焊接完一个子电路,量一量,如果带MCU的,就写个测试程序测试一下,如果看起来正常了,再继续焊接下一部分。毕竟打样的板子,原理图都可能会错的。想先验证一下MCU是否能操作板子上的硬件资源, 使用HAL库 + IAR编程。实验时,发现时基不对。一调用HAL_Delay(), 就过不去,卡死在那里了。正常的时基,会周期性的进SysTick_Ha原创 2021-02-14 15:14:05 · 870 阅读 · 0 评论 -
3.5mm音频插头的引脚连接关系
前言板子上用了3.5mm音频插座作为喇叭(speaker)和麦克风(MIC)插入接口。都是从以前同事板子上抄下来的电路,因为是靠谱的硬件电路,没仔细看过。现在用第三方芯片时,突然说,可能要将喇叭(speaker)电路输入上接上麦克风(MIC)试试。有点晕,不太适应。麦克风电路是好使的,如果我啥也不改线,直接插入MIC,会不会影响MIC的信号输入呢?原来画的板子,用的同事以前的封装,和新买到的3.5mm音频插座厂家资料中的管脚定义不太一样,整理一下。实验原厂的3.5mm音频插头资料麦克风和喇原创 2020-12-04 20:21:52 · 23221 阅读 · 0 评论 -
JW5033的丝印
前言在x宝上买料,如果量比较小,买样品。确实要看运气的。遇到一些无良商家,发来的东西根本就不是定的货,有点无语。最近做的一块板子上用了JW5033S(DC-DC), 在x宝上定了50个。回来焊好实验时,发现一拨打电话或连接网络,4G芯片自己就关机了。原厂工程师帮排查时,发现JW5033S的丝印不对。我去查,也发现正品的丝印和x宝店家发来的"JW5033"不一样。我手头还有开发板,上面有原版的JW5033S, 一会我将原版JW5033S拆下来,换到我自己板子试试。像研发作为采购的散户,买料遇到原创 2020-12-03 12:33:00 · 1644 阅读 · 0 评论 -
未知段式液晶真值表的确定步骤
前言做了一块段式LCD的实验板,用HT1621B来控制段式LCD.只是研发阶段,不知道以后用什么样的定制段式LCD, 就从参考设计上拆了一片没有文档支持的段式LCD来做实验. 因为就这一块LCD, 还准备上到其他板子上用。在实验板上焊接了单排插孔,将LCD插进去用。第一次PCB打样后,发现HT1621B的封装做错了。当时第48脚差了差不多1个焊盘…用镊子掰着管脚,勉强焊上。最后程序写完后,各种实验,段式液晶屏都没反应。最后怀疑是HT1621B由于掰了管脚焊接,焊接时间长了,导致HT1621B损坏。原创 2020-10-01 16:50:11 · 1689 阅读 · 0 评论 -
SP3232的使用
前言要从第三方板子的RS232导出插座上,将RS232管脚接到我自己的开发板上。第三方板子没有原理图,RS232导出插座上,没有丝印, 无法肉眼看出TXG.那个3脚的导出插座,连到了一块RS232转换芯片上, 用手机将芯片拍下来,无法看清芯片上得丝印。我得先猜猜那个芯片是啥型号。那个芯片封装为SO16, 去淘宝上查RS232芯片,找到有SP3232E符合这种封装。找到芯片数据表,按照管...原创 2019-12-22 11:46:35 · 10880 阅读 · 0 评论 -
12V将路由器网口烧了
笔记准备在自家设备上测试传感器的查询和控制。中间停了1个星期,忙别的项目去了。今天开始封闭,继续验证传感器的查询和控制。我们设备上,网口和串口在一个堆叠的RJ45网口座上,上面是485串口,下面是连接LAN8720的网口。脑袋短路了,将由路由器接过来的网线,插入了485串口插座。上电时,发现CPU板的网口初始化成功的正常指示灯不对(不亮了),底板的灯也不亮了。以为程序没在芯片里。用仿真...原创 2019-12-20 12:16:23 · 1771 阅读 · 0 评论