自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 gen_modbus_send_cmd

前言 有很多传感器是modbus协议。 如果同事让我写测试指令,会写03命令的指令给他。 但是这个活很重复,烦。 变量是设备地址,开始地址,读几个保持寄存器的内容。 写个命令行小工具, 给同事生成modebus读寄存器(03 命令)的测试指令文本。 测试程序用法 usage : THE_EXE m...

2020-06-05 16:11:37 9 0

原创 NUCLEO-F091RC 试验

前言 在stm32系列单片机中, 最多能提供8个串口。 用STM32CubeMX看看, 8个串口的MCU都有哪些? 可以看到,只有STM32F091和STM32F098能提供8个串口. 有开发板支持的MCU只有STM32F091,那就选有官方工程加持的STM32F091. STM32F091有2...

2020-06-04 20:25:59 12 0

原创 string array to c array

前言 针对实际设备的发包和回包都抓好了。 在写针对设备的查询,不在现场,还想用现场的发包收包数据来调试程序。 写一个测试程序,开一个端口,来回这些固定发包的固定回包。 程序简单,但是发包和回包有将近20组, 发包有12个字节,回包有接近255个字节。 抓回的包,是从网络调试助手上直接拷贝下来的,如...

2020-06-01 01:02:09 58 0

原创 java.lang.UnsatisfiedLinkError

前言 今天有同事要用java调用c++写的dll. 以前已经在博客上做好笔记,并上传了demo工程。 从自己的资源中,下载了那个dmeo, 给他用。我直接写好的bat,去调用class中调用dll的方法是好使的。 但是他移植到自己工程中,就报错如下: Exception in thread &qu...

2020-05-25 15:21:41 75 0

原创 ATQ223

前言 今天在原理图上看到一个松下的继电器ATQ223, 想确定一下接线方法。 试验 同事从板子上拆了一个ATQ223下来给我做实验,观摩了外观标识。 顶视图 底视图 这个继电器有10个直插管脚. a, b, c类型触点含义 c触点:同时具备a触点和b触点的特征,能自由切换两种回路的触点类型。也...

2020-05-21 01:13:55 32 0

原创 AD19 用room设置MCU器件的规则

前言 布线时, 总会用自动布线来尝试下走线, 看看器件布局是否合理。 但是贴片的LQFP封装的MCU管脚间距总是小于10mil, 要设置规则要<10mil(7~8mil). 但是板子上其他走线线宽和间距要>= 10mil. 如果不针对MCU单独设置规则, 或将全局规则的线宽和线间距改小...

2020-05-17 12:47:05 166 0

原创 贴片器件的识别

前言 实际板子上,贴片原件一般就较小,如果想知道贴片原件值,而且贴片件上有些标识. 如果能辨别标识的含义,就不用将器件查下来量了。 如果眼神不好(或者原件实在太小了),可以用工业显微镜拍下来,再识别原件上印刷的器件标识。 在显微镜下, 光滑好看的焊点,也变的那么粗糙:) 慢慢记录, 见到能用标识识...

2020-05-15 11:29:23 72 0

原创 bq76920

前言 在TI官网找了下bq76920的资料,做下笔记。 笔记 支持的单体电池数量 bq76920支持3~5节电池组成的电池包, 在每2节单体电池之间引出电压信号(这种特殊的电池包可以从厂家定制),用于充电平衡。 买电池包的时候,就告诉厂家从每2节电池中间引出一根电压线。这样,买回来,就是多根线的...

2020-05-14 18:17:08 53 0

原创 AD2019做2层板的生产文件生成步骤

前言 每次做PCB的生产文件都要查资料,好浪费时间。记录一次, 以后照着笔记来生成PCB生产文件。 试验 保证原理图和板子的网表对上,PCB原件的封装正确. 电源和地的走线宽度够宽. 通过了原理图规则检查和PCB规则检查。 铺铜, 加缝合孔, 加PCB版本信息. 生成生产文件 ...

2020-05-09 03:32:04 163 0

原创 电压转换电路整理

前言 要做板子了, 先整理出直流降压电路。 板子用网线传来一个12V电压,要转成一个5V给LCD屏, 再转一个3.3V给STM32MCU. 从MP2359的官方手册上,看到的降压为12V转3.3V. 从第三方开发板的原理图上,看到的降压为12V转5V. 那就搞2片MP2359, 一个转5V, 一个...

2020-04-28 17:37:27 63 0

原创 SIM卡引脚定义

前言 想做个接口板,将第三方的4G模块接进来. 先查了下SIM卡的引脚定义,这样就可以将硬件接口先定下来,板子可以分开作。 作为接口板,只需要引出以下引脚: 电源接口 VCC/GND 控制接口 TTL_RX/TTL_TX/TTL/GND SIM卡接口 SIM_VCC/SIM_GND/SIM_C...

2020-04-27 14:51:56 89 0

原创 use vs2017 + fatfs PC version dump w25 image to local disk

前言 同事从以前产品的坏板子上拆下来一片W25Q128FV, 让我将里面的内容dump到磁盘. 我采用的方法 : 先用编程器将W25整片字节内容转储到本地磁盘文件 对转储后的镜像文件分析,遍历,将镜像转储为本地的文件夹和文件, 对应W25中原有的FatFs对应的目录和文件结构。 将W25内容转...

2020-04-23 14:09:29 111 0

原创 解决一次不能上网的问题

前言 今天回来,接上本本准备干活。本本是无线网卡。自动获取IP. 本本打开,看了下IP. 准备用台式机的mstsc连过去,屏幕大,看的舒服。 打开台式机, 直接用mstsc指定IP去连本本,能连上。 查资料时,我喜欢在台式机上查,然后再转到本本所在的mstsc干活。 突然发现在台式机上网页都访问不...

2020-04-22 00:02:57 30 0

原创 STM工程模板 - F103 + SPL + ucosii

前言 要测试一下同事给的传感器模块, 想在一个F1固件库 + ucosii的模板上作试验,发现没囤现成的工程。 整理一个以后用。 F1的固件库模板以前已经囤了 STM32F10x_StdPeriph_Template ucosii的模板在F407上做过 stm32f407固件库移植ucosii_v...

2020-04-13 13:38:21 36 0

原创 STM32 - ITM核心时钟值的确定

试验原因 开始程序前,总喜欢将ITM设置好. 这样调试方便. 在MDK中要设置好ITM的核心时钟频率后, ITM信息才能在 Debug Viewer 窗口看到. ITM core clock 要设置的和MCU运行之后的系统时钟频率相同才行. 今天在NUCLEO-H743ZI2作试验, 因为打开的是...

2020-04-06 15:56:22 51 0

原创 STM3240G-EVAL执行I2C_EEPROM工程失败的问题

试验原因 想看一下STM32硬件I2C的知识点。 用STM3240G-EVAL作试验, 固件库或HAL库都行。 STM32Cube_FW_F4_V1.25.0没有提供STM3240G-EVAL板子的I2C的demo. STM32F4xx_DSP_StdPeriph_Lib_V1.8.0提供了3个I...

2020-04-04 23:19:26 29 0

原创 STM32 - const buffer cause sprintf can't format

试验原因 在作试验, 从一个已有第三方的例子工程上, 用sprintf格式化一段字符串,发现格式化之后的buffer为空。 将代码搬到自己干净的F4工程模板上,sprintf格式化缓冲区后,缓冲区还为空,好奇怪。 将代码搬到vs2017上,发现操作缓冲区时报错了, 才看到那个buffer是cons...

2020-04-04 14:04:16 38 0

原创 FatFs R0.14 - FF_VOLUME_STRS

试验原因 换完FatFs R0.14后, 取SD卡上的文件 “sd:index.htm”, 居然取得文件size不对,大很多. 当时一惊, FatFs咋了? 后来怀疑SD卡上素材拷贝错了, 重新将SD卡按照FAT32 4906字节/扇区,重新完全格式化. 重新拷贝了素材. 留了个心眼, 在SD卡上...

2020-04-01 14:51:09 157 0

原创 STM34F407 - The hardware flow control is available only for USART1, USART2, USART3 and USART6

试验原因 将程序中所有必须成功的地方都下了断言, 在断言函数中下了断点. 程序跑起来后, 进入了断言。单步出去后,发现是串口4初始化引起的断言. 断言发生处的代码如下: void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_...

2020-03-31 17:04:50 71 0

原创 use AStyle on MDK5

前言 前几天,看资料,有人在MDK中使用AStyle来格式化代码。 这段时间也正在维护一个STM32F407的工程,正好想格式化一下代码呢. 试验 AStyle的下载地址: https://sourceforge.net/projects/astyle/ https://sourceforge.n...

2020-03-30 20:44:46 60 0

原创 STM32F407 SPI SD卡驱动的验证

前言 看到第三方从ST官方移植过来的SPI方式的SD卡驱动,测试一下,很稳定。 上到自己板子后,感觉读写速度很慢,慢的没法用。准备调整提交读写速度,尽量稳定。 在F407板子上的SD卡的SPI方式硬件连接如下, 用了SPI3: ...

2020-03-29 16:44:24 191 0

原创 调试 - 从ST官方demo移植的LAN8720工程移植到自己的板子

试验原因 前段时间, 产品板子上的网络通讯好像有点问题。 特意从ST官方板子的工程上,学了一下如何从头移植LAN8720. 当时移植完的demo程序,在ST官方板子跑的挺好的。 在和ST官方同样硬件(LAN8720)连接的第三方板子上也跑的挺好的。 就是没在产品板子上跑(因为有更优先的SD卡试验要...

2020-03-27 18:40:10 77 0

原创 FatFs R0.14 - FF_USE_LFN

试验原因 产品板子上想改下程序,改之前好好的. 将lwip换到最新版后,在FatFs操作时崩溃. 是调用 f_stat()引起的,在FatFs里面崩了。莫名奇妙… 想单独作个试验,移植最新版的FatFs R0.14来验证一下。 FatFs旧版也正常,就是我改完程序引起的问题,估计是内存申请失败引起...

2020-03-19 17:24:25 297 0

原创 SWO引脚配置覆盖, 导致ITM信息打印失效

试验原因 在STM32F407上作SPI方式的SD卡试验, 因为手头没有产品板子,就找了一个开发板作试验。 SD卡驱动库在其他开发板上验证过了好使。 但是在这个板子上SD卡初始化失败。 看现在接上这块SD卡模块,上面有稳压芯片。标着电源是5V的。板子上接过来的是3.3V, 估计是SD卡模块电压不足...

2020-03-19 07:40:42 56 0

原创 ITM_SendChar

试验原因 以前在用ITM打印时,都按照 http://www.keil.com/support/man/docs/jlink/jlink_trace_itm_viewer.htm 的资料来写. 今天在STM32F407G-DISC1试验时,发现ITM打印不好使,再找一块开发板,就好使。 这说明ST...

2020-03-16 16:19:03 185 0

原创 error: #268: declaration may not appear after executable statement in block

试验原因 看到github上一个第三方的工程不错,下载回来学习一下。 工程是STM32 MDK的工程。 编译时报错如下: error: #268: declaration may not appear after executable statement in block 引起错误的代码如下:...

2020-03-10 18:32:39 336 0

原创 lwip-2.1.2的裸机移植(STM32F4 + SPL库 + lwip-2.1.2 + LAN8720)

试验原因 将LAN8720移植到试验工程(F407 + SPL + LWIP)后,发现不能响应ICMP,后来单步第三方工程,发现要自己在任务中收包处理才行。 中间版本的试验工程,移植lwip时好乱(为了编译过, 头文件包含太乱了)。 花了2天,重新从(F4 + ucosii)的模板工程上重新弄了一...

2020-03-09 16:42:14 548 0

原创 change STM32F4x7_ETH_LwIP_V1.1.1 PHY from DP83848CVV to LAN8720

试验原因 我移植了 STM32F4 + ucosii + lwip + lan8720, 编译过了,发现网卡ping不通。 单步发现,网卡初始化都没过. 卡死在下面的实现 while (ETH_GetSoftwareResetStatus() == SET); 通过单步能正常运行的第三方工程,发...

2020-03-07 20:12:06 149 0

原创 stm32f407固件库移植ucosii_v2.92.07

试验原因 在f103固件库上已经移植了ucosii + lwip, 试验过了。 产品板子是f407, 准备重新移植一遍ucosii + lwip. 先从固件库模板上移植ucosii. 上次做过移植试验,但是当时只记录了遇到的几个点。今天翻出笔记来,没有多大参考价值了。 重新作下笔记。 移植好的固件...

2020-03-03 22:42:16 121 0

原创 OS_ERR_TASK_CREATE_ISR

试验原因 刚移植完STM32F103 + ucosii_v2.92.07 + lwip2.1.2 准备先起个ucos任务试试移植效果,看看能不能跑。 就随手写个空任务,居然在OSTaskCreate()后返回错误码 : OS_ERR_TASK_CREATE_ISR. 因为在固件库移植完后,做了测试...

2020-02-29 17:53:46 58 0

原创 Error: L6406E: No space in execution regions with .ANY selector matching os_core.o(.bss).

试验原因 正在移植ucosii. 移植前的环境是STM32F103VE + lwip2.1.2 在ucosii_v2.92.07文件迁移进工程后, 可以编译过。 这时要修改启动文件 startup_stm32f10x_hd.s 修改点一共4处, 在中断向量表中替换PendSV_Handler =&...

2020-02-26 15:19:27 434 0

原创 STM32F1固件库启动文件的选择

试验原因 从头移植了F1固件库的模板,看到官方启动文件中有好几个,都导入了工程,但是在工程中只使用一个启动文件。 这说明,官方demo为了维护方便和便于用户使用,换个mcu只需要重新选一个启动文件,而不用动工程本身。 那到底哪种F1的MCU该选哪个启动文件呢? 启动文件的命名规则为 start...

2020-02-25 18:46:35 103 0

原创 lwip-2.1.2的裸机移植(STM32F1 + SPL库 + lwip-2.1.2 + ENC28J60)

试验原因 产品板子上用的LWIP版本较旧2,这次准备换成现在官方最新的lwip-2.1.2. 想重新作lwip移植的原因 : 产品板子有bug与lwip相关,应该是以前程序移植的lwip有问题(配置和使用lwip). 正好这次放长假, 仔细研究一下lwip的移植, 配置,使用,调试。 lwip中带...

2020-02-23 14:30:47 676 0

原创 STM32F10x_StdPeriph_Template

试验原因 已经做完了LWIP在STM32F103上的裸机移植试验,再作下一步试验之前,总结一下。 LWIP裸机移植需要一个试验模板。 我并不想使用官方的模板或第三方的模板,自己移植一个干净的SPL库模板出来。 看第三方的教程,他告诉你步骤,但是为啥这么移植,你是看不到的。 他为啥那么移植,一定是他...

2020-02-22 17:24:52 72 0

原创 stm32f10x.h(388): error: #67: expected a "}"

试验原因 在MDK中选的MCU类型如果和options => c/c++ => Define那填写的STM32F10X_XX宏不匹配, 就会出现如下提示. Rebuild started: Project: my_stm32f1_SPL_template *** Using Compi...

2020-02-18 15:31:46 76 0

原创 MDK3的JLINK设置

试验原因 手头的一块LWIP开发板网口通讯不zheng’c

2020-02-16 16:01:47 37 0

原创 vs2017 和 MDK5 查看源文件的预处理

试验原因 宏起到字符或字符串替换的功能,方便生成一些重复性有规律的代码。 有时要写个奇怪的宏, 如果没有一次写成功, 要查看为啥失败,这时,需要查看源文件的预处理结果。 设置 只针对要查看预处理结果的文件编译(不是编译整个工程) 编译完后,在工程文件目录下或Debug目录下,会生成一个同名的....

2020-02-14 17:20:51 38 0

原创 lwip-2.1.2 sys_arch.txt was deleted

前言 在看LWIP的书,看到移植说明是在 /doc/sys_arch.txt中. 去找当前最新的稳定版 lwip-2.1.2, 用SI搜索,没看到sys_arch.txt. 去查lwip的git库记录,发现sys_arch.txt已经转移到lwip工程的doxygen注释中了,这对新手真不友好。 ...

2020-02-13 16:13:52 280 0

原创 RE JLinkARM.dll

前言 年假还没休完,老大就布置任务了… 去解决年前产品上的bug, 先去彻底理解LWIP工程。 手头有个以前备好的LWIP开发板, 先接好上电。 手头的JLINK好几个,随便抓了一个。MDK中调试选项中检测是JLINK V8. 不过弹出了一个JLINK授权警告,没办法和MDK配在一起调试板子。 ...

2020-02-11 19:59:39 55 0

原创 STM32H743I-EVAL2_get_mcu_info

前言 再看官方资料,看到说能取MCU信息,去HAL库中翻了翻,真有。 看另外一份资料时,那个作者说他推荐用STM32CubeIDE, 说用的感觉不错。我也试试。 既然换了IDE, 那ITM打印在CubeIDE中怎么弄,也试试。 试验 如果已经用CubeMX + MDK做过试验了,那先起CubeMX...

2020-02-11 01:11:36 93 0

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