自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 一个便捷的免费图像标注工具AutoSeg

最新版2019-09-25 版本更新信息请参考:https://blog.csdn.net/tanmx219/article/details/101379732 正文 由于经常大量标注,我先后用了不少标注工具,但总觉得使用起来有诸多不便。有的只能标注多边形,有的只能标注标注拉框。 所以后...

2019-09-03 23:30:58 1326 1

原创 MCU_C语言中 数组型指针 的应用 -- char (*stringp)[]

定义一个指向数组的指针stringp char (*stringp)[]; 取得某个数组的地址 : char *dst = &string[10]; 指针指向该数组的某个位置: stringp = (char (*)[])dst;

2020-05-22 14:33:19 60 0

原创 MCU_STM32F4xx使用CCM RAM

关于如何使用CCM RAM, ST官方文件中已经说得很清楚了,这里就不再重复了, 参考(点击下载): AN4296 Use STM32F3/STM32G4 CCM SRAM with IAR™ EWARM, Keil® MDK-ARM and GNU-based toolchains 这里要...

2020-05-21 22:56:39 60 0

原创 MCU_STM32CUBEMX配置生成CAN2的初始化代码的修改

备注一个STM32CUBEMX配置CAN2的遗忘点。 STM32F105/107(405/407)有两个CAN,一般我们两个都会用起来,用STM32CubeMX配置好后,有一个经常容易忘记的地方就是SlaveStartFilterBank这个参数。这里他是最重要的和hcan1不一致的地方, ...

2020-05-13 17:50:28 137 0

原创 MCU_STM32CUBEMX v5.5.0的一个BUG:ethernetif_input引起进入HardFault_Handler

STM32CUBEMX v5.5.0 配置FreeRTOS + LWIP,在MX_LWIP_Init()中的倒数第二句, osThreadNew(ethernetif_input, &link_arg, &attributes); 这里是错误的,link_arg显然不能是eth...

2020-05-07 19:54:15 57 0

原创 MCU_使用STM32CUBEMX配置STM32F107/407 RMII-ETHERNET要注意的细节:PHY Address和MCO时钟

下面这两个是配置时比较容易忽略的问题。这里以STM32F107为例讲解,原理都一样,配置时看参考手册和DATASHEET。 PHY_ADDRESS PHY Address需要是由PHYAD0引脚决定的,拉高就配置1,拉低/浮空就配置0,与具体的器件有关。 DP83848 DP83848在手...

2020-05-07 09:49:28 231 0

原创 LWIP_TCP如何理解数据发送,何时使用tcp_recved函数

这里只讲raw编程,如果你使用LWIP-socket或netconn,那就不存在这个问题,这些高级函数会自己在合适的地方调用tcp_recved函数。 问题总是重复的。对于初学者而言,有不少网络上流传的源码,一个典型的例子是tcp_echoserver。各个教学的资料中也都提供源码。但很可惜,这...

2020-05-05 13:35:14 289 0

原创 MCU_STM32的HAL库中的宏DMA_FLAG_TCIF0_4/DMA_FLAG_TCIF1_5/DMA_FLAG_TCIF2_6/DMA_FLAG_TCIF3_7

宏定义的含义 造成中文手册误解的原因:有的把stream翻译成中文“通道”,这里我还是直接使用英文比较好;因为表中还有一个单词"channel",这个单词在中文里更容易被翻译成“通道”,但事实上这里只涉及stream。 当然,如果你手册看得比较细,就可以发现,标志位里面明确...

2020-05-02 15:45:58 128 0

原创 MCU_通过windows串口API控制RTS和DTR

用FLYMCU-ISP进行固件烧录的教程比较多,一直比较好奇,RTS和DTR这两个引脚是如何通过软件完成的。今天查了一下,做个备注吧! 问题 MCUISP是怎样判断并控制RTS和DTR输出的? 比如下面这个,OPENEDV上讨论得比较多的电路(以下图片均来自OpenEDV【1】), ...

2020-04-21 11:25:57 92 0

原创 MCU_关于STM32Fxxx中断EXTI产生时多次(两次)进入中断的原因

调试新的芯片Stm32F407时,发现和以前的不一样。 相同的代码,EXTI中断总是会进入两次,为了验证,我手动在中断中进行了清除, void EXTI0_IRQHandler(void) { /* USER CODE BEGIN EXTI0_IRQn 0 */ /* USER COD...

2020-04-12 13:19:18 159 0

原创 步进电机的细分驱动中1-2相, W1-2相, 2W1-2相, 4W1-2相 表示什么意思?

今天碰到一个很古老的问题:步进电机的1-2相, W1-2相, 2W1-2相, 4W1-2相 表示什么意思? 有意思的是,很多年前没看步进电机驱动器的说明书了,自己也完全不记得了,那时候也没有写博客的习惯。百度了一下,心凉凉的,发现一个合理的解释也没找到。 结合自己的经历,用英文再搜索了一下,找...

2020-04-01 22:14:38 516 1

原创 Libuv 1.34.2 源码详解 ---- 以uvCat为例讲解

这些天病毒肆虐,心里很难过。一直对libuv高并发处理的能力好奇,只好呆家里看了一下libuv的源码。 libuva其实代码量很小,很精悍。但理解起来并不容易。网络上有不少解析的文章,不过大多见树叶而不见森林,我前几天刚在网上找资料时,看了一天都还没摸着头脑。我想对于很多刚开始学习libuv的朋...

2020-01-30 14:35:56 138 0

原创 STM32F4xx usb库源码详解:HAL_PCDEx_SetRxFiFo 和 HAL_PCDEx_SetTxFiFo

HAL_PCDEx_SetRxFiFo 和 HAL_PCDEx_SetTxFiFo 这两个函数的作用是:该EndPoint数据传输最大数量的限定 除前面贴子里廛的影响数据传输量的函数外,这两个HAL_PCDEx_SetRxFiFo / HAL_PCDEx_SetTxFiFo函数也值得注意。 ...

2020-01-19 10:24:31 456 0

原创 STM32F4xx usb库源码详解 custom HID

STM32F407 USB 库源码详解(custom HID) 首先我列出几个非常棒的参考文档: Keil USB documentation http://www.keil.com/pack/doc/mw/USB/html/index.html USB_in_a_Nutshell https:/...

2020-01-18 21:13:29 578 0

原创 MCU_Wireshark USB 抓包过滤(抓特定端口地址)

启动WiresharkUSB抓包的过程如下, 这里点击“开始”就可以进入抓包界面了。 不过,Wireshark启动USB抓包之后,会把同一总线的所有USB包抓下来,这个默认的设置对我们来说实在受不了,因为大多的包都是与我们分析无关的无效包。这时我们希望只抓我们需要的那个地址就好了,...

2020-01-16 21:05:45 236 0

原创 MCU_WireShark USB抓包内容解析

WireShark是个非常不错的工具,现在的版本已经集成了测试USB抓包的工具USBPcap,该工具官网在, https://desowin.org/usbpcap/ 抓包的格式在这里有说明 https://desowin.org/usbpcap/captureformat.html 具体...

2020-01-16 12:20:25 283 0

原创 MCU_如何通过硬件VID 查找生产厂家

在操作系统中写驱动程序,时常碰到VID/PID等信息,VID往往就是硬件的生产厂家,那么我们一般如何知道这些代码代表哪些厂家呢? 例如,硬件属性显示USB\VID_0483, 那么在这里搜索 https://devicehunt.com/ 可得到下面的页面 https://devic...

2020-01-16 11:37:41 97 0

原创 libusb源码学习:几个函数加载的宏(windows)

首先,我们复习一下C语言中的函数指针: //C语言中的函数指针 #include <iostream> // 下面typeFunc就一个函数指针,指向的函数类型 f 为 // void f(void) typedef void (*typeFunc)(void); void r...

2020-01-13 14:01:08 74 0

原创 libusb源码学习:list_entry

USB开发涉及到libusb,看了下源码,现在已经到了1.0.23版;全部用的C,编译器和平台的普适性相对比较强; 其中的list_head作为关键链表,也是各个链接结构的成员(member)变量。而利用这个成员变量完成各个结构链接,涉及到几个很有意思的宏,其中包括list_entry,list...

2020-01-13 10:47:11 97 0

转载 c++ windows 之下 CreateThread vs CreateProcess

微软的解释,作个地址备注: https://docs.microsoft.com/en-us/windows/win32/procthread/processes-and-threads Processes and Threads 05/31/2018 An application cons...

2020-01-04 10:24:13 65 0

原创 c++ 如何给数组批量赋值--利用结构定义数组以提高程序的可读性

编程久了,时不时总会碰到些不断重复的的小问题, 比如: int ar[3] = {1,2,3}; int br[3] = {10,11,12}; 如何使完成赋值操作:br=ar memcpy是一个办法,但程序可读性不强。更不可忍受的是下面这样的代码(想像一下一个工程中往往要用多少数组吧)...

2019-12-31 10:12:05 158 0

原创 UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, FLOAT, DOUBLE

UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64 固定长度的整型,包括有符号整型或无符号整型。 整型范围¶ Int8 - [-128 : 127] Int16 - [-32768 : 32767] Int32 - [-214...

2019-12-25 13:40:43 291 0

原创 C++的问题:变量“xxx”不是类型名

碰到过很多类似的情况,看到网上不少人有相似的疑问,就解释一下吧: 如果使用方法都正确的话,最好把类型变量“xxx”改一下,比如你原来名称是“XClass",那么改成"YClass"基本就没有问题了,这个错误的根源,还在于XClass被认为是变量,也就是系统或者你在某...

2019-12-23 13:36:15 1227 0

原创 MCU_STM32的位带操作 -- bit banding

位带操作 STM32芯片除了通用的寄存器访问,还有一个比较有意思的位带操作。 这个位带的意思,就是每个比特(bit)位膨胀成一个32位的字(word),当访问这些字的时候就达到了访问“位”的目的,这就是位带操作! 位带操作一个典型的特点,就是把1个位映射到32位,在程序处理中方便操作具体位,...

2019-12-08 16:48:55 89 0

原创 MCU_STM32F4XX 的中断优先级(和STM32F1XX相同)

在单片机中,STM32系列对中断优先级的管理算是相对比较容易的,优先级的数量也相对较少。 STM32F40X的中断优先级和STM32F10X的设置是完全一样的,具体情况STM32F10X可参考ST官网的编程手册PM0056, STM32F40X可参考PM0214,其中SCB->AIRCR的...

2019-12-08 11:37:36 69 0

原创 MCU_单片机开发几个常用的IDE

Gnu Arm Eclipse:免费开源的,各种单片机,嵌入式的大合体开发环境,eclipse插件嘛,你懂的,就是配置麻烦了点。 CoIDE: CooCox的作品,本人表示没用过 EMBitz: 本人常用,目前1.1版本,2.0版叫唤了好久,还没出来 Keil MDK: 这个不解释了吧,基本...

2019-12-04 09:45:04 340 0

原创 MCU_ARM-CORTEX-M0中断优先级设置及NVIC_SetPriority解读

参考资料 参考:《Cortex-M0+ Devices Generic User Guide》 http://www.keil.com/dd/docs/datashts/arm/cortex_m0p/r0p0/dui0662a_cortex_m0p_r0p0_dgug.pdf http://...

2019-12-02 10:20:41 275 0

原创 (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“

记录一下,就是把 多线程调试 DLL (/MDd) 改成 多线程调试 (/MTd) 即可

2019-10-31 11:10:25 90 0

原创 如何枚举所有的GUID,并获取GUID的字符串名称

在stackoverflow上查资料,顺便回复了一个问题,直接上代码, 地址,https://stackoverflow.com/questions/36325106/how-to-get-name-of-guid/58636235#58636235 问题:如何枚举所有的GUID,并获取GUI...

2019-10-31 10:48:11 257 0

原创 Windows版本引起的问题_WIN32_WINNT not defined

MFC报错(我的情况:不使用预编译头,便没有这个报错): 1>_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h) 1>_WIN32_WINNT not defined. Defau...

2019-10-29 11:12:50 334 0

原创 windows vs2019 编译 SDL2, SDL_string.obj : error LNK2019: 无法解析的外部符号 memset

SDL 就不介绍了,我也是第一次使用,下载地址:https://www.libsdl.org/ SDL2下载下来后,发现里面有cmakelist,老规矩,用cmake-gui进行配置编译,什么参数都没改,一切使用默认, Configure===>Generate===>Open...

2019-10-25 23:10:10 524 0

原创 windows下OpenCV的两个常见报错项flann\saving.h error C4996

报错内容如下, D:\OpenCV412\opencv-4.1.2\modules\flann\include\opencv2\flann\saving.h(101,1): error C4996: 'strcpy': This function or variable m...

2019-10-25 08:34:14 83 0

原创 OpenCV类型为CV_32S时,convertToShow中CV_Assert(src_depth != CV_16F && src_depth != CV_32S);断言抛出异常

新版本的openCV 4.1.1, 4.1.2 都碰到同样的问题: 当image 的类型为CV_32S时,无法显示,发现modules\highgui\src\precompile.hpp断言处exception inline void convertToShow(const cv::Mat ...

2019-10-23 10:31:00 392 0

原创 VS2017到哪里去下载

进入2019时代,以前的版本太难找了,标记一下吧! vs2019, vs2017, vs2015, 都有 https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes 制作离线包: 企业版:vs_e...

2019-10-18 20:51:08 1835 0

转载 将pip源更换到国内镜像

备忘贴 本人的配置:c:/documents/spacevision/pip/pip.ini [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ [install] trusted-host = pypi.tuna.t...

2019-10-07 13:38:01 87 0

原创 opencv 解决ippicv下载慢的问题: ippicv_2019_lnx_intel64_general_20180723

OpenCV + CMake我已经弄过无数次了,电脑都换了好几波,经常卡在这里,记录一下,也方便大家。 下载超级慢,受不了, 1,下载 ippicv_2019_lnx_intel64_general_20180723.tgz等文件 保存路径随意,我是放在默认的下载路径 E:/softs/...

2019-09-28 19:30:20 894 1

原创 AutoSeg版本更新信息

version 1.0 2019-09-03 第一版发布 version 1.01 2019-09-25 1. 移除了部分不用的按钮 2. 添加了4个快速浏览按钮, 3. 修改了保存功能,并添加了快速自动保存功能。在使用快速浏览键时,软件会自动保存上一张图片的已经完成的标注,用户不必再单独点击保...

2019-09-25 18:41:23 99 0

原创 Python报错: scipy.misc module has no attribute imread ... imresize

相信用python的朋友都碰到过这样的错误,我已经碰到过无数次了,网上下载跑别人的代码时, scipy.misc module has no attribute “imread” scipy.misc module has no attribute “imresize” 所以在这里立一个帖子。...

2019-09-24 18:41:56 482 0

转载 先安装VS2017再安装VS2015遇到的CMake问题

cmake找不到VS2015,搜了一下,找到一个帖子。 先安装了VS2017,后来有需求安装VS2015,安装VS2015的时候遇到下图问题,但是控制面板里面看不到Microsoft Visual C++ 2015 Redistributable的项目 我打开VS2015,新建一个测试工程...

2019-09-21 08:39:50 341 0

原创 关于visual studio和vc版本之间的对应关系

先给出来源: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads https://omwtm.blog/2014/12/03/visual-studio-2013-ve...

2019-09-14 16:18:32 523 0

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