自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SeniorZ的点滴记录

记录工作和生活

原创 【电子设计】AD2019网状铜加地孔(缝合孔)

背景:双层板顶层和底层铺铜(网状铜)之后打地孔(缝合孔)Via stitching功能出错,unable to add any stitching vias to net gnd。 解决方法:打地孔在网状铜的情况下出错,可以先把铺铜类型修改为实心铜,然后使用Tool->Via Stitch...

2020-01-11 21:37:40

阅读数 50

评论数 0

原创 ADI Diff-Amp Calculator差分放大器件计算器使用方法

Diff-Amp Calculator便于计算单端转差分放大,差分转差分放大,在满足输入信号和输出信号的参数要求下,配置元件增益自动计算Rf和Rg阻值大小。 下载地址:https://www.analog.com/cn/design-center/interactive-design-too...

2019-12-25 16:48:13

阅读数 39

评论数 0

原创 使用Keil RTE完成基于STM32F407-DISC1开发板的LED闪烁

1.新建工程 2.选择STM32F407VGTx芯片 3.在RTE中选择组件 如果出现依赖问题,点击下方的Resolve按钮解决,如还有问题,对照信息手动选择。 4.在Project管理器中添加main.c/h,stm32f4xx_it.c/h文件 此时左侧列表文件如下 ...

2019-11-09 19:09:06

阅读数 37

评论数 0

原创 Keil代码语句(ifelse while for等)补全快捷键

语句模板,比如if else, for, while这些基本语句的模板 先输入前面几个字母,然后按下Ctrl+Shift+空格即可补全 参考资料: http://www.keil.com/support/man/docs/uv4/uv4_ui_templatestab.htm ...

2019-11-05 16:22:37

阅读数 62

评论数 0

原创 Keil有关MicroLIB的注意点

在keil中使用malloc()函数来动态分配内存,返回了分配内存的首地址,但是却无法给内存赋值。同样的程序使用linux GCC编译器编译并运行没有任何问题。因此求助万能的网。经过一番查阅,原来keil中如果需要使用malloc()、calloc()、free()等函数,需要开启MicroLIB...

2019-10-30 17:00:29

阅读数 15

评论数 0

原创 正点原子delay函数移植到rt thread操作系统(HAL库)

正点原子教程中涉及到的操作系统只涉及了UCOS的教程,其中例程的system文件夹中的delay.c函数只是适配了UCOS。 下面将delay.c函数移植到rt thread中,使用的bsp是rt thread stm32中的stm32f407-st-discovery开发板 已修改好的d...

2019-10-29 21:56:02

阅读数 76

评论数 0

原创 Keil查看代码运行时间

在要测试的代码前加一个断点,当程序运行到目标行时会停下,然后复位“t1”或“t2”,并在下一行代码前加断点,然后继续运行程序,程序会停在下一行代码前,这个时候“t1”的值就是目标行程序的运行时间。 参考资料: https://blog.csdn.net/qlexcel/article/de...

2019-10-29 10:43:13

阅读数 239

评论数 0

原创 STM32F4中的有关SysTick和延时函数的理解(HAL库)

说到单片机的延时函数,对于很多人来说并不陌生,在F4Cube Hal库中不就是HAL_Delay()函数而已么,但是实际上,简单的HAL_Delay函数的实现原理,并不是那么容易看明白。 HAL库中SystemCoreClock的变化过程如下表所示(最终的值取决于在CubeMX中的时钟树配置中的...

2019-10-28 21:48:20

阅读数 192

评论数 0

原创 STM32F4DISCOVERY和STM32F407G-DISC1的差异

最近新购入了ST官方的F4探索者开发板用于调试,在官网上发现这个板子有两个版本,前一个版本叫STM32F4DISCOVERY,后一个版本叫STM32F407G-DISC1。官网提到板子的Demo例程可以从HAL库的Cube开发包(HAL库为目前ST主推的库)和以前的标准固件库的STSWSTM320...

2019-10-25 20:46:34

阅读数 94

评论数 0

原创 Altium Designer 17在复制原理图元件时出现错误

背景: 在设计原理图的时候,对某些元件进行复制的时候,软件会报错,错误信息如下 InvalidParameter Exception Occurred In Copy 解决方法: 如果有安装过Adobe_Premiere_Pro_2019_13.1.2.9_SP_20190425,需要将其删除...

2019-10-09 15:30:46

阅读数 28

评论数 0

原创 【编程总结】关于C语言的一些小细节

1.C语言不能够使用基本赋值运算符 “=”为数组赋值,即b=a;这样的赋值是错误的。如果要赋值,可以用for语句为数组的元素逐一赋值 2.赋值运算符“=”具有右结合性, min = max = fenshu[0],需要理解成 min = (max = fenshu[0]) 3.字符常量的类型是...

2019-09-12 11:44:53

阅读数 62

评论数 0

原创 嵌入式Linux开发相关概念总结

嵌入式Linux 移植要点: 1.搭建交叉编译环境 2.bootloader的选择与移植(uboot) 3.kernel的配置、编译、移植、调试 4.制作根文件系统 1.搭建交叉编译环境 什么是交叉编译:(Kernel、Uboot、文件系统、用户app)代码在PC上开发、编译、链接出的...

2019-08-21 10:34:51

阅读数 38

评论数 0

原创 rt-thread 3.1.2中drv_xxx.c文件被env错误添加到Keil的原因

背景 在进行无线网络模块配置的时候,出现了drv_eth.c被错误添加到Keil工作栏中。 解决方法: libraries\HAL_Drivers中的SConscript文件依赖设置bug,已经在3.1.3版本的rt-thread中修复了。 参考连接: https://github.com/R...

2019-08-19 15:44:14

阅读数 61

评论数 0

原创 C++ Builder 10 安装GLScene库

背景: 在老版本的Borland C++ Builder 6.0中有一个名为 TOpenGL的组件,可以进行3D图形显示与绘制的功能。但是在新版本的C++ Builder 10(当前最新版本为10.3.2,我使用的是10.2.3)中,该组件并没有做适配,因为实在是太老了 适合BCB6.0的Op...

2019-08-15 16:00:46

阅读数 60

评论数 0

原创 C++ Builder 10代码补全失效

1.编程时遇到 Ctrl + Space 组合键无法进行 Object 对象名称无法出现选择框的情况 方法:这是因为当前输入法为中文,改为全英文输入法即可 2. if , while for 等语句无法补全 方法:在关键字后面按下 Space ,即可自动完成补全 ...

2019-08-05 20:45:23

阅读数 240

评论数 0

原创 RW007_WiFi模块(SPI/UART模式)在STM32F407上的使用经验

RW007模块 官方文档: https://www.rt-thread.org/document/site/application-note/packages/rw007_module_using/an0034-rw007-module-using/ 软件包: https://gith...

2019-07-24 15:05:49

阅读数 353

评论数 0

原创 关于IAP程序中函数跳转以及堆栈合法性判断的理解

相关文章: STM32F407+Lwip TFTP客户端IAP升级教程 在上文中制作了IAP过程中的BootLoader,有如下代码 if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0...

2019-07-11 11:06:18

阅读数 156

评论数 0

原创 基于STM32F407的STM32通用BootLoader使用经验

背景: 在使用RT-Thread RTOS的时候发现官方提出了一种通用的BootLoader方案,支持F1和F4系列的芯片 硬件资源: 正点原子stm32f407zgt6探索者开发板,片上Flash(ROM)大小为1024KB,RAM大小为192KB,板载一个SPI Flash W25Q12...

2019-07-10 18:45:24

阅读数 1090

评论数 0

原创 联盛德WMIOT602(基于W600 SoC)WiFi模块使用心得

WMIOT602 是基于嵌入式 Wi-Fi SoC 芯片 W600 设计的 Wi-Fi 参考设计模块,支持SPI/UART 官方信息:http://www.winnermicro.com/html/1/162/163/513.html 模块信息: 注意:UART0(右图的TX0,RX0)...

2019-06-28 21:26:50

阅读数 680

评论数 0

原创 原版LwIP和RT-Thread中LwIP的对应关系

所比较的LwIP版本为2.0.2 原版(ethernetif.c) RT-Thread中LwIP 功能 low_level_init rt_stm32_eth_init (drv_eth.c) 调用以太网驱动函数,初始化 STM32F4xx以太网外设 low_...

2019-06-14 20:02:18

阅读数 455

评论数 0

原创 Keil中使用Debug (printf) Viewer显示串口信息代替物理串口

背景 在STM32开发中,可能会遇到某些情况下物理串口不够或者板卡上没有USB转串口模块。这时候可以利用Keil自带的Debug (printf) Viewer功能完成物理串口的功能。 配置完成后的功能如下图所示: 配置方法 本人使用的是正点原子STM32F5407探索者开发板,demo使...

2019-06-11 19:21:35

阅读数 1091

评论数 0

原创 STM32F4XX定时器时基、数字滤波器配置

在学习hal库的时候遇到定时器配置的问题,现将定时器配置的方法以及相关公式进行总结 本文主要完成的功能:配置TIM外设以使用相应的中断请求生成一秒的时基 通用定时器TIM2-TIM5,TIM9-TIM14挂在于APB1总线,下面基于STM32F407zg的TIM3为例进行说明 STM32F4...

2019-06-06 11:11:35

阅读数 218

评论数 0

原创 pyinstaller 出现Cannot find existing PyQt5 plugin directories

背景 Anaconda3 python3.6.5 pyqt5.11.3 PyCharm 现象 使用pyinstaller命令生成exe出现错误(图片来自网络,path check可能是c:/qt64/......) 解决方法 在自己的pyqt5的python虚拟环境中的输入 pip ...

2019-06-01 16:55:59

阅读数 170

评论数 0

原创 QT Designer布局方法之栅格布局

背景 利用PyqtGraph模块在窗体中画图,要满足图象随着窗体的放大而变化,如下图所示。 方案 利用QT Designer在布局中的tabWidget部件使用栅格布局即可 参考资料 https://doc.qt.io/qt-5/qtwidgets-index.html htt...

2019-05-23 17:16:34

阅读数 832

评论数 0

原创 RTThread_V4.0+中SignalLed软件包使用方法

env配置 在bsp的env钟开启SignalLed软件包 RT-Thread online packages peripheral libraries and drivers ---> [*] SignalLed:a signal led package fo...

2019-05-20 10:41:33

阅读数 228

评论数 0

转载 嵌入式开发中的电平讲究

电气特性 通信标准 低电平标准(发送端) 5V TTL 逻辑1:2.4V~5V 逻辑0:0V~0.5V RS-232 (负逻辑,电平较高为了满足长距离传输) 逻辑1:-15V~-3V 逻辑0:+3V~+...

2019-05-11 11:35:01

阅读数 53

评论数 0

原创 PyQt5中qss属性border-radius不起作用的原因分析以及解决方法

现象 在做一个pyqt5界面美化的时候,明明针对QPushButton进行了border-radius属性的配置,但是相关的button只有颜色变了,但是形状没变 相关文件:record.ui,record.py,call_record.py 用Qt Desinger绘制的ui,如下图所示 ...

2019-04-27 17:52:15

阅读数 556

评论数 0

原创 基于正点原子F407的RT-Thread的FAL分区配置步骤

Fal配置(片内flash+外部flash_W25Q128) 开启BSP片上 Flash驱动(STM32F407-atk-exploer-Hal) 1.开启FAL工具包 每个功能的配置说明如下: 开启调试日志输出(默认开启); 分区表是否在fal_cfg.h中定义(默认...

2019-04-24 19:37:44

阅读数 747

评论数 0

原创 RT-Thread中正点原子探索者F407-Bsp-Hal库配置uart引脚步骤

uart引脚设置 drv_usart->rt_hw_usart_init->uart_obj[i].config = &uart_config[i]; uart_config中包含了UART1_CONFIG #define UART1_CONFIG ...

2019-03-22 10:24:01

阅读数 231

评论数 0

原创 rt-thread中基于开启设备驱动和未开启设备驱动下的rt_kprintf()函数的分析

/*** rtconfig.h ***/ /* Kernel Device Object */ #define RT_USING_DEVICE //开启设备驱动的定义 #define RT_USING_CONSOLE //开启shell命令输出功能 #define RT_CONSOLEBU...

2019-02-16 21:56:44

阅读数 719

评论数 0

原创 rt-thread中rt_thread_delay出现卡死的原因分析

现象: 线程调用rt_thread_delay()会导致进入idle线程然后卡住的问题么,我看rt_thread_delay()似乎有这样  https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=5274&a...

2019-02-16 11:59:57

阅读数 1664

评论数 0

转载 在rt-thread中使用串口DMA模式的思考

DMA的定义 直接存储器存取(Direct Memory Access,DMA)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬体子系统(电脑外设),可以独立地直接读写系统存储器,而不需绕道 CPU。在同等程度的CPU负担下,DMA是一种快速的数据传送方式。它允许不同速度的硬件装置来沟通...

2019-02-15 15:19:29

阅读数 783

评论数 0

原创 pyqt点击右上角关闭界面但子线程仍在运行

现象: 通过右上角的叉关闭图形界面后,程序运行的子线程却不会被自动关闭,依然留存在系统中 原因: 子线程没有正确关闭 解决方法: 1.将子线程设置成守护线程 self.your_thread = threading.Thread(target=self.tcp_client_concur...

2019-01-11 11:20:07

阅读数 1635

评论数 0

原创 PyQt5+socket编程界面卡住未响应

现象: 在利用PyQt5,python,socket编写网络调试上位机时,遇到了GUI界面卡住未响应,然后崩掉的问题。 NetAssist 网络调试助手 原因: 建立socket通信中,很多地方都用了while True无限循环,这是为了保持服务器监听或者是客户端接收数据。在命令行界...

2019-01-11 11:01:30

阅读数 1715

评论数 10

原创 卡尔曼滤波的五个公式

预测公式: 1.Xkp=AXk-1+Buk+wk 2.Pkp=APk-1AT+Qk A:状态转移矩阵 B:控制矩阵 Wk:预测噪声 Qk:状态转移噪声 --------------------- 状态更新: 3.K=PkpHTHPkpHT+R   4.Xk=X...

2018-12-31 18:18:57

阅读数 4945

评论数 0

原创 如何理解lwip中的回调函数

在学习LWIP里面的RAW编程接口时,需要有一个回调机制,在绑定完一个pcb之后需要注册一个回调函数。 那么怎么理解这个回调函数呢? 简单的讲,回调函数指的是我们在接收到某个事件之后,所需要紧接着进行的行为。比如说,我们在进行udp receive的时候,接收完成后我们希望立刻将所接收到的数据...

2018-11-24 16:01:20

阅读数 700

评论数 0

原创 STM32F407+Lwip TFTP客户端IAP升级教程

前言:网络上有关TFTP远程升级MCU的资料基本上都是MCU作为TFTP服务器,PC作为客户端。从PC发送升级的bin文件给MCU进行升级。 本文将使用MCU作为TFTP的客户端,PC作为TFTP服务端,MCU联网进入升级模式后,主动向服务器请求下载文件,进而实现远程升级IAP功能。 有关MC...

2018-11-18 00:43:05

阅读数 2181

评论数 1

原创 STM32F407+lwip_2.1.0+MQTT移植记录

硬件平台:正点原子探索板F4(裸机,未搭载操作系统) STM32F407ZGT6 LAN8720 LWIP 2.1.0(版本在2.0.0以上的都有官方MQTT例子) 步骤: 新建网络例程模板:STM32F407开发板的HTTP模式IAP远程升级之新建模板 添加lwip官方例程中的mqtt...

2018-11-03 18:01:37

阅读数 5928

评论数 0

原创 移植LWIP MQTT出现Assertion "sys_timeout: timeout !错误

使用LWIP的mqtt_example.c移植到stm32f407上,运行出现 Assertion "sys_timeout: timeout != NULL, pool MEMP_SYS_TIMEOUT is empty" failed at line 216 in src...

2018-10-27 21:00:49

阅读数 500

评论数 0

原创 正点原子STM32F407探索版接入机智云LED控制教程

前言: 代码分享:https://github.com/nicedayzhu/ALIENTEK_STM32F407_Gizwits 正点原子官方提供了与机智云连接的开发手册,但是手册内容中的Gizwits文件目录和目前的机智云自动生成的代码目录有一定的差异,因此移植过程有了一些改变。为了方便大...

2018-10-09 17:57:22

阅读数 1788

评论数 11

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