
stm32
文章平均质量分 73
爬行的菜鸟
学习才是正确的道路
展开
-
STM32简单数据传输方法与通信协议(适合串口和一般总线)
引言在一般的项目开发过程中,往往需要两块或以上单片机进行通信完成数据传输,例如四旋翼无人机在飞行过程中无线传输数据回到地面站,治疗仪器需要实时将患者和机器运转情况传回上位机平台,粮仓温控装置需将各种传感器通过RS485总线或者CAN总线的方式达到数据传输的目的等等,这些数据传输往往需要合适稳定的总线和灵活的通信协议,我发现无论什么数据传输,原理大同小异,这里简单以stm32的几种数据传输总结下...转载 2018-09-06 15:02:53 · 3683 阅读 · 0 评论 -
NVIC_PriorityGroupConfig()说明
STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套在低抢占式优先级的中断中。当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来...转载 2019-01-16 10:13:13 · 2690 阅读 · 0 评论 -
获取指定USB设备的VID PID和SerialNumber
设备厂商ID 查询, google www.usb.org + vendor id list 所需头文件库文件: #include <Setupapi.h> , Setupapi.libvoid CCameraInfoViewerDlg::CollectUSBInfo(){ // 获取当前系统所有使用的设备 DWORD dwFlag = (DIGCF_AL...转载 2018-11-02 09:51:14 · 10161 阅读 · 0 评论 -
WIN7 64位系统 CDC类 虚拟串口驱动无法安装的解决办法(2)
(1)最近用STM32使用USB——CDC类出现驱动安装失败的情况。百度了一些网页,方法很多,大多数是按照如下步骤处理:首先,确保C:\Windows\System32\drivers\usbser.sys文件存在;其次,修改C:\Windows\inf\mdmcpq.inf文件;[FakeModemCopyFileSection]usbser.sys,,,0x20修改为...原创 2018-10-30 09:36:00 · 3949 阅读 · 0 评论 -
WIN7 64位系统 CDC类 虚拟串口驱动无法安装的解决办法
最近用STM32使用USB——CDC类出现驱动安装失败的情况。百度了一些网页,方法很多,但是我这里按如下步骤处理:首先,确保C:\Windows\System32\drivers\usbser.sys文件存在;其次,修改C:\Windows\inf\mdmcpq.inf文件;[FakeModemCopyFileSection]usbser.sys,,,0x20修改为[Fa...转载 2018-10-26 09:58:39 · 2474 阅读 · 0 评论 -
STM32 USB CDC 驱动问题
问题:STM32的 USB CDC 工程使用STM32Cube 生成,编译下载后,插上USB发现如下图问题:在设备管理器显示黄色感叹号,驱动不正常。原因: 由于SMT32 USB 部分的代码用到了 malloc 和 free 这种标准库(#include <stdlib.h>)中定义的内存管理接口 ,而使用这种函数的前提是在内存中开出大小确定的 Heap_Siz...转载 2018-10-26 09:56:35 · 7339 阅读 · 0 评论 -
STM32的USB例程修改步骤
STM32的USB例程修改步骤 以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正。 一、usb_desc.c文件根据你程序使用的通信方式修改。usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小;ConfigDescriptor[SIZ_C...转载 2018-10-25 16:54:02 · 1880 阅读 · 0 评论 -
USB自定义HID设备实现-STM32
该文档使用USB固件库,在其基础上进行了自己的定制,完成了一个USB-HID设备,首先是usb_desc.c文件,里面存放了usb各种描述符的存在#include "usb_desc.h" //usb标准设备描述符const u8 DinkUsbDeviceDescriptor[DINK_USB_SIZ_DEVICE_DESC] = { USB_DEVICE_DES...转载 2018-10-23 09:46:32 · 4239 阅读 · 0 评论 -
STM32实现HID和u盘复合设备
USB设备可以定义一个复合设备,复合设备分两种,一种是一个设备多个配置,还有一种是一个配置多个接口,在本例中采用一个配置多个接口的方式 首先修改设备描述符,标准设备描述符和报告描述符都不需要修改,只需要修改配置描述符即可//usb配置描述符const u8 DinkUsbConfigDescriptor[DINK_USB_SIZ_CONFIG_DESC] = { /**...转载 2018-10-23 09:30:22 · 2722 阅读 · 0 评论 -
实例讲解USB的枚举(配置)过程
所需要工具 USB Monitor2.26 优盘一个 网上大量介绍用bus hound作监控软件,我们为什么不选bus hound而选USB Monitor呢,因为bus hound在WindowsXP环境不能监控USB枚举(配置)过程,它只有在Windows2000下才能实现这个功能。不过用bus hound做除枚举以外的数据分析还是比较好用的。USB Moni...转载 2018-10-25 10:11:18 · 3516 阅读 · 0 评论 -
Keil "st-link usb communication error"解决方法
Keil "st-link usb communication error" 解决方法 今天碰到了“st-link usb communication error“的问题,在网上找了好多的资料,测试了好多的方法,最终才解决问题。在此贴出来,希望能够帮助到遇到同样问题的同学。 首先,要感谢一下博主endless_fighting同学的文章http://blog.youkuaiyun.com/e...翻译 2018-10-17 13:31:05 · 46645 阅读 · 47 评论 -
STM32 ST-LINK Utility介绍、下载、安装、使用方法
Ⅰ、写在前面本文讲述的内容是STM32 ST-LINK Utility介绍、下载、安装、使用方法,如需要了解更多关于STM32相关的文章,可以到我博客,或微信公众号查看并下载。 STM32 ST-LINK Utility这个软件工具其实主要就是配套“ST-LINK”这个下载工具一起使用的上位机软件。因此使用STM32 ST-LINK Utility上位机软件需要有一个ST-LINK工具才行。它的功...转载 2018-10-17 10:32:46 · 4007 阅读 · 0 评论 -
STM32——USB详细使用说明 附件HID的双向通信(一)
说明:使用的是STM32F103ZET6 硬件原理图 在开始枚举设备的一些初始化 void bsp_USBInit(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_USB_PULL_UP, ENABL...转载 2018-10-16 10:23:40 · 11695 阅读 · 2 评论 -
依据HID例程来分析STM32F107的USB的实现过程
看到很多坛友发布一些关于USB的资料,但是很多都不是基于例程来分析的,最近在搞USB这块的程序,在这里记录一下,自己学习USB的过程,同时也写出来分享给大家,希望能给大家在USB学习方面提供一些帮助。我使用的硬件是金龙107开发板,主芯片STM32F107VCT6,该芯片支持USB从机以及主机,支持OTG功能,例程是基于ST官网的例程,做了一些简单的修改,后面我会把完整的工程上传上来。首先发一些关...转载 2018-10-12 09:55:10 · 2604 阅读 · 0 评论 -
STlink下载出现st-link usb communication error解决方法
一、下载st-link的老版本固件二、备份:关闭keil软件,备份C:\Keil_v5\ARM\STLink文件夹(此处防止失败)三、拷贝:拷贝已下载的老版本固件到C:\Keil_v5\ARM\STLink文件夹中三、固件升级 点击ST-LinkUpgrade.exe,打开st-link upgrade软件进行固件升级 插上st-link固件到电脑,点击Device...转载 2018-10-11 15:49:33 · 4520 阅读 · 0 评论 -
串口接收不定长数据的几种方式
在阅读本文前,你需要先做到串口成功接收一个数据(相信这一点是很简单的)这几天简单总结了一下用串口怎么接收一帧数据的办法,个人使用的有三种,下面逐一介绍:第一种:使用中断的方式;这种在数据接收不频繁状态下使用。简单易实现。既然是使用中断,所以自然需要硬件的支持,比如stm32就可以这么做,具体操作见我之前的博客stm32串口中断接收一帧数据8位单片机估计是没有的,嵌入式32位的处理器...转载 2018-09-20 09:58:30 · 20222 阅读 · 3 评论 -
计算机串口(RS232)的针脚定义
RS-232C接口定义(DB9)引脚 定义 符号1 载波检测 DCD(Data Carrier Detect)2 接收数据 RXD(Received Data)3 发送数据 TXD(Transmit Data)4 数据终端准备好 DTR(Data Terminal Ready)5 信号地 SG(Signal Ground)6 数据准备好 DSR(Data Set Ready)7 请...原创 2019-03-01 10:25:17 · 8276 阅读 · 0 评论