STM32
文章平均质量分 61
一个早起的程序员
主要从事FPGA、ZYNQ、CPU内核、MicroBlaze、STM32、QT、MFC、上位机相关开发,擅长高速接口、视频传输、视频采集,包括PCIe、USB3.0、光纤、SDI、VGA、DVI、HDMI等高速接口。大学期间在学校参加过全国电子设计大赛两届、全国物联网大赛、山东省电子设计大赛、全国信息杯等比赛,并获得全国奖和省级奖十余项。
展开
-
CAN-FD可变波特率配置避坑指南
CAN-FD配置需求NBT(tq) = CAN Clock(MHz) / BaudRate(MHz)TSEG1 = Prog Seg + Phase Seg1Phase Seg1在配置时,可以等于Phase Seg2TSEG2 = Phase Seg2SJW 大小不要高于Phase Seg1, Phase Seg2转载 2022-04-06 17:42:18 · 3265 阅读 · 1 评论 -
CAN总线和CANOpen协议栈总结
内部含有CAN仲裁、CAN帧结构、CAN数据帧、远程帧、错误帧;CANOpen协议栈字典、通讯对象ID、SDO、PDO等概念,大家可以概览。原创 2022-03-15 15:51:28 · 1422 阅读 · 0 评论 -
为什么伺服控制中CANopen通讯这么火?
1. CANopen的起源,CANopen从何而来?德国Bosch公司于1983年研发CAN协议,用于汽车传动系统的网络通讯。之后称为国际标准ISO11898,目前CANopen由非营利组织CiA(CAN in Automaion)进行标准的起草及审核工作,基本的 CANopen 设备及通讯子协定定义在 CAN in Automation (CiA) draft standard 301. 中。针对个别设备的子协定以 CiA 301 为基础再进行扩充,如针对 I/O 模组的 CiA401 及针对运动控制转载 2022-02-19 13:21:43 · 3703 阅读 · 0 评论 -
STM32/CPU总线的由来和地址映射概念
目录1.总线的由来2.STM32/CPU地址映射3.STM32的外设地址映射表很多人对总线和地址映射的概念都是一头雾水,但是我们如果知道为何需要总线和地址映射,他们是在什么背景下被衍化出来的,自然而然对此概念就清清楚楚了。1.总线的由来我们知道CPU都是通过总线访问外设,例如STM32的AHB/APB总线,那么在总线的概念没有被提出来的时候,外设是怎样被访问的呢?其实在最早期的时候,还没有总线,CPU设计者会直接把CPU内核和各种接口控制器设计到一起,如果要访问一个硬件,直接在内原创 2021-02-07 22:12:09 · 2837 阅读 · 1 评论 -
STM32 USB中断 CTR_LP 和 CTR_HP的用法
目录1.STM32两个USB中断入口2.CTR_LP()3.CTR_HP()4.CTR_LP 和 CTR_HP 各自处理的事务类型1.STM32两个USB中断入口STM32中断入口有两个,分别是USB_HP_CAN1_TX_IRQHandler()和USB_LP_CAN1_RX0_IRQHandler()。其中USB_Istr()函数调用了CTR_LP()函数。/*******************************************************.原创 2021-01-27 15:11:27 · 2544 阅读 · 0 评论 -
STM32F103 USB实现UVC设备(相机)
目录1.STM32实现UVC设备2.演示界面3.代码获取1.STM32实现UVC类设备(1)STM32F103视频传输;(2)免驱动;(3)STM32F103 USB;(4)模拟摄像头数据;(5)开源代码,拿到即用。2.演示界面3.代码获取关注【一个早起的程序员】微信公众号。1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原创 2021-01-25 08:43:26 · 5818 阅读 · 9 评论 -
常见设备的GUID
在USB编程之前要事先了解一下GUID的概念。应用其他网页中的定义:全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUI...原创 2021-01-19 13:42:06 · 2664 阅读 · 0 评论 -
SCSI协议及大容量存储命令详解
USB Mass Stroage Class --- Bulk Only Transport1.MassStorage设备所使用的SCSI命令集2.MassStorage命令scsi协议有很多,所以只总结这次在usbmassstorage里面用到的协议,主要包括inquiry,format,readwrite等等命令。U盘需要处理的命令如下:1:inquiry:设备的一个描述,告诉host你的设备是什么,名字叫什么,用的什么协议,这里用的SCSI协议—SPC22:R...转载 2021-01-19 11:07:22 · 12988 阅读 · 1 评论 -
STM32F10X_LD、STM32F10X_MD、STM32F10X_HD、STM32F10X_CL、STM32f10X_XL、STM32f10X_VL区别和用法
cl:互联型产品,stm32f105/107系列vl:超值型产品,stm32f100系列xl:超高密度产品,stm32f101/103系列ld:低密度产品,FLASH小于64Kmd:中等密度产品,FLASH=64 or 128hd:高密度产品,FLASH大于128...原创 2021-01-13 22:43:52 · 5295 阅读 · 0 评论 -
JTAG接口定义与其他简介
JTAG接口定义与其他简介JTAG(Joint Test Action Group)是一个接口,为了这个接口成立了一个小组叫JTAG小组,它成立于1985年,比推丸菌的年龄还大。在1990年IEEE觉得一切妥当,于是发布了 IEEE Standard 1149.1-1990,并命名为 Standard Test Access Port and Boundary-Scan Architecture,这就是大名鼎鼎的JTAG了。JTAG的三大功能你知道吗,响当当的:1.下载器,即下载软件到FLASH里转载 2020-12-24 15:11:52 · 5624 阅读 · 0 评论 -
<math.h>中sin cos函数的用法
原创 2020-12-02 16:39:38 · 4962 阅读 · 0 评论 -
Keil MDK STM32全系列 PACK包 下载地址汇总(持续更新...)转载
https://www.jianshu.com/p/0cf85222eb0f在Keil官网上下载PACK包速度特别慢,为方便大家下载STM32的PACK包,特将STM32所有系列的PACK上传至网盘供大家下载,点击下载即可,下载后将扩展名改为.pack双击安装即可,官网更新后我会进行更新。Keil.STM32F0xx_DFP.2.0.0.pack Keil.STM32F1xx_DFP.2.3.0.packKeil.STM32F2xx_DFP.2.9.0.pack...转载 2020-10-24 18:42:55 · 16543 阅读 · 6 评论 -
I2C上拉电阻到底多大
I2C上啦电阻到底多大1. I2C出现的问题最近群里,由于大部分人都玩摄像头,在摄像头初始化,即I2C接口的初始化中,前前后后出现了很多问题,包括我自己。不能理解。。如下部分群聊记录:我在当时在驱动ov7670的时候,由于官哥的模块上没有默认I2C的上啦电阻,导致三四天I2C时序的设计,testbench,都是如此的崩溃,想哭的冲动都用了,FPGA内部上拉也不行。。。。后来官...转载 2020-03-08 21:17:37 · 3558 阅读 · 0 评论 -
ROM、PROM、EPROM、EEPROM、RAM、SRAM、DRAM的区别
在微机的发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)中。ROM内部的资料是在ROM的制造工序中,在工厂里用特殊的方法被烧录进去的,其中的内容只能读不能改,一旦烧录进去,用户只能验证写入的资料是否正确,不能再作任何修改。如果发现资料有任何错误,则只有舍弃不用,重新订做一份。ROM是在生产线上生产的,由于成本高,一般只用在大批量应用的场合。由于R...转载 2020-02-13 15:20:01 · 3042 阅读 · 0 评论 -
STM32串口双缓冲乒乓数据传输方式
对于没玩过DMA 的朋友,这里简单说一下DMA,用自己的语言说吧,那就是,从某个位置传输数据到某个位置,如果不用DMA,那要CPU参与操作,一个字节一个字节地搬,效率高点的,就一个字一个字地搬.但当你用了DMA 后,那就是只需要设置:A.从哪里开始搬; B,搬到哪里去;C以字节方式搬还是半字还是字;D:一共搬多少个.之后,启动DMA.CPU内部就会开始搬数据了,整个搬数据的过程都不转载 2016-10-18 18:37:07 · 11335 阅读 · 1 评论 -
STM32串口接收使用DMA双缓冲
#define IMAGE_BUFFER_SIZE 100 //以字为单位 经试验,增大这个数值速度并未提升u32 Image_Buffer1[IMAGE_BUFFER_SIZE]={0};u32 Image_Buffer2[IMAGE_BUFFER_SIZE]={0};//OV2640 JPEG模式接口配置void OV2640_JpegDcmiInit(void)原创 2016-10-19 16:45:33 · 12669 阅读 · 1 评论 -
STM32F4中USB与PC双向通信
STM32F4系列处理器内部集成了USB-OTG控制器,在不要外部USB IC下就可以实现USB通信,最近两天看了下如何利用STM32的USB实现通信,记录下关键步骤:1. 从http://www.stmcu.org/document/list/index/category-524下载所需要的USB_OTG主机和设备库;2. 新建STM32工程,并把STM32_USB-Host-D原创 2016-09-07 11:03:38 · 28404 阅读 · 15 评论 -
STM32通过FSMC读写FPGA
硬件平台:icore板(STM32F103VC + EP4C6E22C8)STM32F103VC是100管脚的,FSMC引脚定义:地址仅有A19-23A16-18共8根地址线,数据线有16根,控制信号RD、WR、NE1FPGA挂在BANK1的第一区(NE1,还可以有NE2、3、4)这样可以在FPGA内定义8个寄存器(仅解析A16-18三根地址线)/*******...原创 2018-11-28 15:31:56 · 9662 阅读 · 5 评论 -
ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8的区别
arm系列从arm11开始,以后的就命名为cortex,并且性能上大幅度提升。从cortex开始,分为三个系列,a系列,r系列,m系列。m系列与arm7相似,不能跑操作系统(只能跑ucos2),偏向于控制方面,说白了就是一个高级的单片机。a系列主要应用在人机互动要求较高的场合,比如pda,手机,平板电脑等。a系列类似于cpu,与arm9和arm11相对应,都是可以跑操作系统的。比如li...原创 2018-12-26 23:53:37 · 5843 阅读 · 0 评论 -
IIC协议原理
概述在讨论IIC的时候,无需一头扎进IIC协议中去分析文档,根据以下的步骤来分析,就能很明确地知道IIC的协议,以及如何设计IIC主机或者从机。初识IIC在实际的电路设计中,两个芯片(IC)需要互相通信,发生数据的交换。那么这两个芯片之间必须满足一些规则,这样,负责“听”的芯片就能“听懂”“说”的那个芯片“说了些什么”。与人类交流原理相通,“听者”首先需要知道“说者”是对哪个“听者”发出命...原创 2019-01-07 21:56:08 · 894 阅读 · 0 评论 -
STLINK V2安装使用详解
STLINK V2安装使用详解st-link_v2_usb driver.zip 连接:http://download.csdn.net/detail/weiaipan1314/96332751. 解压st-link_v2_usb driver.zip文件。2. 运行解压后的st-link_v2_usbdriver.exe文件,安装STLINK V2驱动程序。安装原创 2016-09-19 08:38:43 · 44363 阅读 · 4 评论