
兆易创新
文章平均质量分 69
gd32f470,gd32f303
梁善被人欺
这个作者很懒,什么都没留下…
展开
-
USB详解,配置及难点
USB有USB1.0/1.1/2.0/3.0多个版本,标准USB由4根线组成,VCC,GND,D+,D-,其中D+和D-是数据线,采用差分传输。在USB主机上,D-和D+都是接了15K的电阻到地,所以而在USB设备中,如果是,而如果是,当设备接入主机时,主机就可以判断是否有设备接入,并能判断设备是高速设备还是低速设备。有些芯片内部有两个USB控制器,名称分别为USB_OTG_FS和USB_OTG_HS。其中HS代表实现高速480Mbps速度模式通信。FS意为全速,速度为12Mbps。原创 2024-08-26 21:14:26 · 4968 阅读 · 0 评论 -
单片机存储外设 FLASH、EEPROM、FRAM
W25Q128是华邦公司推出的一款SPI接口的NOR Flash芯片,其存储空间为128Mbit,相当于16M字节。W25Q128V芯片是串行闪存,可以通过标准/两线/四线SPI控制。W25Q128一次最多可编程256个字节。页面可以按扇区擦除、块擦除、整个芯片擦除。原创 2024-08-21 21:55:16 · 2110 阅读 · 0 评论 -
UART和USART的区别
(1)同步通信(比特位同步)(2)异步通信(字符间同步,字符内比特位异步)同步通信会利用一根额外的信号线,其实也就是时钟信号线,它往往是发送设备提供的时钟信号,发送设备和接收设备在发送设备提供的同一时钟频率下完成同步。异步通信没有额外的一根信号线用于同步,接收者和发送者使用各自的时钟信号,接收者根据与发送者按事先约定的规来确定数据发送的开始与结束以及数据单位的持续时间。例如异步串行通信中,一般接收双方会确定一致的停止位,数据位的个数、波特率的大小以及是否采用奇偶校验位。原创 2024-07-26 10:40:34 · 2921 阅读 · 0 评论 -
SGM58031--IIC协议
(1)SGM58031是一款低功耗,16位精度,delta-sigma (ΔΣ)模数转换器(ADC)。在单次触发模式下,ADC执行一次转换并给出完整的固定数据,无需丢弃任何数据。一旦ADC完成转换,它就会进入低功率关闭模式。在连续模式中,ADC在先前的转换完成后自动开始新的转换。给出了每一个转换结果。数据速率等于配置的数据速率。(2)SGM58031包含一个片上参考和振荡器。它有一个I2C兼容接口,可以选择四个I2C从地址。(3)SGM58031有两种工作模式:单次发射模式和连续转换模式。原创 2024-07-11 22:12:11 · 1441 阅读 · 0 评论 -
GD32F303RET6之CAN通信
GD32F303主时钟频率最大是120Mhz,然后APB1时钟最大是60Mhz,APB2时钟最大是120Mhz,CAN挂载在APB1总线上面所以一般CAN的时钟频率是60Mhz,这个频率和后面配置波特率有关。原创 2024-07-10 22:10:07 · 3345 阅读 · 1 评论 -
文件系统详解(FatFS)
f_mount 函数在 FatFs 模块上注册 / 注销一个工作区。在使用任何其他文件函数之前,必须使用该函数为每个卷注册一个工作区。移动一个打开的文件对象的文件读 / 写指针。也可以被用来扩展文件大小 ( 簇预分配 )。创建 / 打开一个用于访问文件的文件对象。原创 2024-02-19 15:02:58 · 4304 阅读 · 0 评论 -
GD25Qxx--SPI协议
【代码】GD25Qxx芯片详解。原创 2024-02-19 10:06:45 · 2048 阅读 · 0 评论 -
GD32F470配置外部中断
【代码】GD32F470配置外部中断。原创 2024-02-06 16:46:32 · 674 阅读 · 0 评论 -
74HC154D-LED
1-11 13-17 :输出端。输入端、20-23:地址输入端 (address inputs)电源正 (positive supply voltage)原创 2024-02-06 16:01:18 · 1255 阅读 · 0 评论 -
SP706SE实现硬件看门狗
软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。注意:如果WDI引脚处于浮空或高阻状态,则禁止看门狗功能;原创 2024-02-06 15:16:52 · 1402 阅读 · 0 评论 -
GD32F470配置软件独立看门狗
【代码】GD32F470配置软件独立看门狗。原创 2024-02-06 14:39:10 · 836 阅读 · 0 评论 -
ADC详解
ADC 即模拟数字转换器,英文详称 Analog-to-digital converter,可以将外部的STM32F4xx 系列芯片拥有,这些 ADC 可以独立使用,其中 ADC1 和 ADC2 还可以组成。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。ADC1 有 16 个外部通道和 3 个内部通道,而 ADC2和 ADC3 只有有 16 个外部通道。ADC1 的外部通道是通道 17、通道 18 和通道 19,分别连接到内部温度传感器、内部Vrefint和Vbat。原创 2024-02-05 11:02:39 · 8324 阅读 · 1 评论 -
gd32F470如何输出一个PWM波形(呼吸灯)
【代码】gd32F470如何输出一个PWM波形(呼吸灯)原创 2024-02-04 14:15:59 · 1001 阅读 · 0 评论 -
gd32F470配置CAN通信
【代码】gd32F470配置CAN通信。原创 2024-02-04 13:40:14 · 1913 阅读 · 0 评论 -
stm32如何生成hex和bin文件
(1)生成hex文件。(2)生成bin文件。原创 2024-02-01 10:37:23 · 1010 阅读 · 0 评论 -
单片机如何实现延时1ms或者1us
【代码】单片机如何实现延时1ms或者1us。原创 2024-01-25 17:08:12 · 3453 阅读 · 0 评论 -
如何烧入bin文件(JLINK篇)
1、下载JLINK驱动2、启动JFlash软件3、创建一个新工程4、选择芯片型号5、选择需要下载的bin文件6、下载程序7、开始运行代码原创 2024-01-20 16:26:14 · 2049 阅读 · 0 评论 -
SPI协议
(引脚 11/ 引脚 12):串行接口主 / 从选择器输入。MSTR接VCC,则LTC6820为从机;MSTR接GND,则LTC6820为主机。原创 2024-01-16 17:28:36 · 1366 阅读 · 0 评论 -
时钟周期、机器周期与指令周期
指令周期由若干个机器周期组成,而机器周期又包含若干个时钟周期,基本总线周期由4个时钟周期组成。原创 2024-01-11 09:00:29 · 6300 阅读 · 0 评论 -
单片机烧入代码没有反应
尽管单片机有串口调试助手或者仿真器供电,但是实际上 单片机的电量还是不足。此时可以插上电源线或者让串口调试助手和仿真器一起供电等等。我们通过stlink或者jlink烧写代码,单片机的电源灯已经被点亮,但是烧入代码之后没有现象。1、没有勾选下列选项,或者自己手动复位也可以运行。原创 2024-01-09 18:15:40 · 3989 阅读 · 0 评论 -
ARM架构—— Cortex-M3与Cortex-M4特点概述
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。两个存储器相对应的是系统的4条总线,即程序的数据总线与地址总线数据的数据总线与地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,进而提高了数据的吞吐率。原创 2024-01-08 15:27:11 · 4259 阅读 · 0 评论 -
BMS开发之面向对象思想(adbms1818)
再次返回来看结构体,首先tx_data[6]里面存储的就是寄存器里面所有位的数据,rx_data[8]收到的数据(包括PEC0 PEC1),rx_pec_match是标志位,判断接收到的PEC和根据6位数据计算出来的PEC是否相同,相同数据接收正确,不同数据接收错误。c_code[0]存储电池1电压,c_code[1]存储电池2电压......,c_code[17]存储电池18电压。每组存放3个电池的电压值,每一个电池的电压值用16位表示。处理数据的办法有两种,我们已知有6组数据,每一组数据有3个。原创 2024-01-04 09:54:01 · 1748 阅读 · 0 评论 -
02 ModBus TCP
从机正常响应:03 数据长度(是请求报文中的读取数量的2倍) 保持寄存器数据,n个字节(是请求报文中的读取数量的2倍)CRC校验。请求:MBAP 功能码 起始地址H 起始地址L 寄存器数量H 寄存器数量L 字节长度 寄存器值(13+寄存器数量×2)如:向起始地址为0x0000,数量为0x0001的寄存器写入数据,数据长度为0x02,数据为0x000F。响应:MBAP 功能码 起始地址H 起始地址L 寄存器数量H 寄存器数量L(共12字节)一、ModBus TCP 一帧数据格式。原创 2023-12-19 13:25:16 · 2369 阅读 · 0 评论 -
hardfault_handler处理硬件中断错误
1.检查代码中的情况。2.检查是否有的情况,可以通过增加堆栈大小或者减少函数调用深度来解决。3.检查是否有的情况,可以通过调整中断优先级来解决。4.检查是否有外设配置不当的情况,可以通过重新配置外设来解决。5.检查是否有,例如芯片损坏等情况,可以更换芯片来解决。原创 2023-12-27 10:05:50 · 1344 阅读 · 0 评论 -
闪存控制器FMC的读取、擦除和编程(GD32f30x)
闪存控制器(FMC),提供了片上闪存需要的所有功能。在闪存的前256K字节空间内,CPU执行指令零等待。FMC也提供了,以及等闪存操作◼ 高达3M字节的片上闪存可用于存储指令或数据;◼ 在闪存的前256K字节空间内,CPU执行指令零等待,在此范围外,CPU读取指令存在较长延时;◼ 对于GD32F30x_CL和GD32F30x_XD,使用了两片闪存,中;◼ 对于主存储闪存容量不多于512KB的GD32F30x_CL和GD32F30x_HD,只使用了bank0。原创 2023-12-25 17:02:30 · 3260 阅读 · 0 评论 -
TWI协议
发送重复起始条件后,总线仍处于“busy”状态,一直到总线出现终止条件。原创 2023-12-21 13:41:49 · 1017 阅读 · 0 评论 -
IIC协议
两根通信线:SCL和SDA同步,半双工带数据应答支持总线挂载多设备(一主多从、多主多从)一主多从:单片机作为主机,挂载在IIC总线上的所有模块都是从机,主机可以控制和哪一个从机进行通信。任何时候,都是主机完全掌控SCL时钟线,在SDA空闲状态下,主机可以获得SDA总线的控制,只有在从机发送数据和应答位时,主机才会将SDA的控制权移交给从机。原创 2023-12-21 13:19:14 · 1617 阅读 · 0 评论 -
兆易创新不同容量和启动文件之间的关系
GD32F10x系列和 F30x系列有MD(中容量) 、HD(大容量)、XD(超大容量)、 CL(互联型) 等系列,不同的系列外设资源略有差异,所以在使用官方的固件库(Firmware)时也要作相应的选择和定义;原创 2023-12-19 08:54:26 · 478 阅读 · 0 评论 -
01 MODBUS RTU
modbus是一个公开免费的协议,广泛应用于工业控制领域(PLC和仪器,PLC和PLC,PLC和上位机,PLC和触摸屏等等,其中PLC是可控制逻辑单元)他有两种物理接口(硬件协议),一个是串口(RS232,RS485,RS422),一个是以太网。串口主要用于modbus RTU或者是modbus ascii模式,而以太网主要用于modbus tcp协议。一般的通信方式是:主机广播或者单播发送指令,从机分析请求,并且给主机应答(如果出错就返回异常功能码)。原创 2023-12-15 10:56:28 · 5005 阅读 · 0 评论 -
SWD、JTAG协议和JLINK、STLINK仿真器
在1990年IEEE觉得一切妥当,于是发布了IEEE Standard 1149.1-1990,并命名为Standard Test Access Port and Boundary-ScanArchitecture,这就是大名鼎鼎的JTAG了。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。,是ARM设计的协议,用于对其微控制器进行编程和调试。情况下,SWD整体性能比JTAG更好。原创 2023-12-04 13:49:49 · 8847 阅读 · 0 评论 -
协议到底是什么?
我们都知道在计算机的世界里只有0和1,那么计算机是怎么从一堆1、0组成的数据中识别出特定的内容的呢?这就需要使用到协议。协议是指两台或者多台设备之间进行通信所必须共同遵守的规定或规则,可以形象的理解为规定了数据包的断句位置和每一个位数据的具体意义。例如,从机发送了一个数据包是“00100110101”,在没有协议约定的时候我们根本无法知道其中的意思,只有约定好了协议,双方都知道了断句位置以及每一位代表的是什么才能知道这其中的意义。原创 2023-12-12 09:43:57 · 1266 阅读 · 0 评论 -
GPIO复用时5个调试接口引脚要注意
例如PA15引脚,它默认时JTDI引脚,但是可以复用为SPI的NSS片选信号。在初始化时,需要先开启AFIO时钟,再关闭JTAG功能,否则GPIO功能仍然不起作用。原创 2023-12-11 10:16:29 · 1003 阅读 · 0 评论 -
端口复用和重映射
端口复用是将一个I/O赋予多个功能,通过设置I/O的工作模式来切换不同的功能。STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。例如串口1的发送接收引脚是PA9,PA10,当我们把PA9,PA10不用作GPIO,而用做复用功能串口1的发送接收引脚的时候,叫端口复用。原创 2023-12-10 17:01:52 · 2724 阅读 · 0 评论 -
CAN协议详解,配置,难点
CAN_FxR1的低16位是作为验证码,对应的16位屏蔽码为CAN_FxR1的高16位,同样的,CAN_FxR2的低16位是作为验证码,对应与CAN_FxR2的高16位为屏蔽码。FilterIdHigh与FilterIdLow合在一起表示CAN_FxR1寄存器,用来存放验证码,而FilterMaskIdHigh与FilterMaskIdLow合在一起表示CAN_FxR2寄存器,用来存放屏蔽码,在32位宽的掩码模式下,既可以过滤标准CAN ID,也可以过滤扩展CAN ID,甚至两者混合这来也是可以的。原创 2023-12-06 13:35:35 · 6489 阅读 · 0 评论