![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
兆易创新
文章平均质量分 57
gd32f470,gd32f303
m0_61973119
这个作者很懒,什么都没留下…
展开
-
GD32F303RET6读取SGM58031电压值
(1)SGM58031是一款低功耗,16位精度,delta-sigma (ΔΣ)模数转换器(ADC)。在单次触发模式下,ADC执行一次转换并给出完整的固定数据,无需丢弃任何数据。一旦ADC完成转换,它就会进入低功率关闭模式。在连续模式中,ADC在先前的转换完成后自动开始新的转换。给出了每一个转换结果。数据速率等于配置的数据速率。(2)SGM58031包含一个片上参考和振荡器。它有一个I2C兼容接口,可以选择四个I2C从地址。(3)SGM58031有两种工作模式:单次发射模式和连续转换模式。原创 2024-07-11 22:12:11 · 246 阅读 · 0 评论 -
GD32F303RET6之CAN通信
GD32F303主时钟频率最大是120Mhz,然后APB1时钟最大是60Mhz,APB2时钟最大是120Mhz,CAN挂载在APB1总线上面所以一般CAN的时钟频率是60Mhz,这个频率和后面配置波特率有关。原创 2024-07-10 22:10:07 · 970 阅读 · 0 评论 -
FatFS文件系统函数讲解
f_mount 函数在 FatFs 模块上注册 / 注销一个工作区。在使用任何其他文件函数之前,必须使用该函数为每个卷注册一个工作区。移动一个打开的文件对象的文件读 / 写指针。也可以被用来扩展文件大小 ( 簇预分配 )。创建 / 打开一个用于访问文件的文件对象。原创 2024-02-19 15:02:58 · 1343 阅读 · 0 评论 -
GD25Qxx芯片详解
【代码】GD25Qxx芯片详解。原创 2024-02-19 10:06:45 · 773 阅读 · 0 评论 -
GD32F470配置外部中断
【代码】GD32F470配置外部中断。原创 2024-02-06 16:46:32 · 507 阅读 · 0 评论 -
74HC154D-LED
1-11 13-17 :输出端。输入端、20-23:地址输入端 (address inputs)电源正 (positive supply voltage)原创 2024-02-06 16:01:18 · 829 阅读 · 0 评论 -
SP706SE实现硬件看门狗
软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。注意:如果WDI引脚处于浮空或高阻状态,则禁止看门狗功能;原创 2024-02-06 15:16:52 · 804 阅读 · 0 评论 -
GD32F470配置软件独立看门狗
【代码】GD32F470配置软件独立看门狗。原创 2024-02-06 14:39:10 · 493 阅读 · 0 评论 -
GD32F470读写片内FLASH
【代码】GD32F470读写片内FLASH。原创 2024-02-06 11:29:29 · 704 阅读 · 0 评论 -
GD32F470使用IIC读写EEPROM
【代码】GD32F470使用IIC读写EEPROM。原创 2024-02-06 10:59:02 · 665 阅读 · 0 评论 -
EEPROM之MB85RC64介绍
工作频率 : 400 kHz (最大)即,当主机和一个EEPROM通信时,从机地址为1010 000+WR,如果主机和多个EEPROM通信时,从机地址为1010 A2 A1 A0 + WR。原创 2024-02-06 10:48:02 · 571 阅读 · 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 · 1990 阅读 · 0 评论 -
gd32F470配置RTC时钟
【代码】gd32F470配置RTC时钟。原创 2024-02-05 10:08:41 · 1228 阅读 · 0 评论 -
gd32F470如何输出一个PWM波形(呼吸灯)
【代码】gd32F470如何输出一个PWM波形(呼吸灯)原创 2024-02-04 14:15:59 · 559 阅读 · 0 评论 -
gd32F470配置CAN通信
【代码】gd32F470配置CAN通信。原创 2024-02-04 13:40:14 · 1299 阅读 · 0 评论 -
stm32如何生成hex和bin文件
(1)生成hex文件。(2)生成bin文件。原创 2024-02-01 10:37:23 · 619 阅读 · 0 评论 -
gd32F470ZIT6之串口485通信
【代码】gd32F470ZIT6之串口485通信。原创 2024-01-31 09:49:40 · 568 阅读 · 0 评论 -
单片机如何实现延时1ms或者1us
【代码】单片机如何实现延时1ms或者1us。原创 2024-01-25 17:08:12 · 3042 阅读 · 0 评论 -
如何烧入bin文件(JLINK篇)
1、下载JLINK驱动2、启动JFlash软件3、创建一个新工程4、选择芯片型号5、选择需要下载的bin文件6、下载程序7、开始运行代码原创 2024-01-20 16:26:14 · 940 阅读 · 0 评论 -
LTC6820和isoSPI使用
(引脚 11/ 引脚 12):串行接口主 / 从选择器输入。MSTR接VCC,则LTC6820为从机;MSTR接GND,则LTC6820为主机。原创 2024-01-16 17:28:36 · 948 阅读 · 0 评论 -
时钟周期、机器周期与指令周期
指令周期由若干个机器周期组成,而机器周期又包含若干个时钟周期,基本总线周期由4个时钟周期组成。原创 2024-01-11 09:00:29 · 1930 阅读 · 0 评论 -
单片机烧入代码没有反应
尽管单片机有串口调试助手或者仿真器供电,但是实际上 单片机的电量还是不足。此时可以插上电源线或者让串口调试助手和仿真器一起供电等等。我们通过stlink或者jlink烧写代码,单片机的电源灯已经被点亮,但是烧入代码之后没有现象。1、没有勾选下列选项,或者自己手动复位也可以运行。原创 2024-01-09 18:15:40 · 1573 阅读 · 0 评论 -
ARM架构—— Cortex-M3与Cortex-M4特点概述
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。两个存储器相对应的是系统的4条总线,即程序的数据总线与地址总线数据的数据总线与地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,进而提高了数据的吞吐率。原创 2024-01-08 15:27:11 · 2824 阅读 · 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 · 1325 阅读 · 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 · 914 阅读 · 0 评论 -
ADC
如果我们的 ADC 范围是从 0V 到 5V,并且我们有一个 10 位 ADC,这意味着我们的输入电压 0-5 伏将被分成 1024 级离散模拟值(0000000000—1111111111,2^10 = 1024)。,类似地,8 位 ADC 的分辨率为 216 (2^8 ),16 位 ADC 的分辨率为 65536 (2^16 )。实际输入电压为 0V,则 MCU 的 ADC 会将其读取为 0,如果为 5V,则 MCU 将读取为 1024,如果是2.5V,则 MCU 将读取为 512。原创 2024-01-03 11:37:42 · 386 阅读 · 0 评论 -
调用delay_ms函数进入hardfault_handler处理硬件错误中断
1.检查代码中的情况。2.检查是否有的情况,可以通过增加堆栈大小或者减少函数调用深度来解决。3.检查是否有的情况,可以通过调整中断优先级来解决。4.检查是否有外设配置不当的情况,可以通过重新配置外设来解决。5.检查是否有,例如芯片损坏等情况,可以更换芯片来解决。原创 2023-12-27 10:05:50 · 587 阅读 · 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 · 1839 阅读 · 0 评论 -
解释Keil-MDK中Code、RO-data、RW-data、ZI-data
Code:即代码域,它通常是指,这些内容会被存储到ROM区。RO-data:Read Only data,即只读数据域,它指,这些数据被存储在ROM区,因而程序不能被修改的内容。例如C语言中const关键字定义的变量就是典型的RO-data。RW-data:Read Write data,即,程序刚运行时,这些数据具有非0的初始值,程序运行的时候它们又会常驻在RAM区,应用程序可以修改其内容。例如C语言中定义的全局变量,且定义时给该变量。原创 2023-12-22 11:23:01 · 934 阅读 · 0 评论 -
TWI协议
发送重复起始条件后,总线仍处于“busy”状态,一直到总线出现终止条件。原创 2023-12-21 13:41:49 · 598 阅读 · 0 评论 -
IIC协议
两根通信线:SCL和SDA同步,半双工带数据应答支持总线挂载多设备(一主多从、多主多从)一主多从:单片机作为主机,挂载在IIC总线上的所有模块都是从机,主机可以控制和哪一个从机进行通信。任何时候,都是主机完全掌控SCL时钟线,在SDA空闲状态下,主机可以获得SDA总线的控制,只有在从机发送数据和应答位时,主机才会将SDA的控制权移交给从机。原创 2023-12-21 13:19:14 · 1037 阅读 · 0 评论 -
兆易创新不同容量和启动文件之间的关系
GD32F10x系列和 F30x系列有MD(中容量) 、HD(大容量)、XD(超大容量)、 CL(互联型) 等系列,不同的系列外设资源略有差异,所以在使用官方的固件库(Firmware)时也要作相应的选择和定义;原创 2023-12-19 08:54:26 · 314 阅读 · 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 · 1814 阅读 · 0 评论 -
兆易创新+串口RS485通信
485(一般称作 RS485/EIA-485)是隶属于 OSI 模型物理层的电气特性规定为 2 线,半双工,多点通信的标准。它的电气特性和 RS-232 大不一样。用缆线两端的电压差值来表示传递信号。。RS485 的特点包括:1) 接口电平低,。RS485 的电气特性:逻辑“1”以两线间的电压差为+(2~6)V表示;逻辑“0”以两线间的电压差为-(2~6)V 表示。接口信号电平比 RS232 降低了,不易损坏接口电路的芯片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。2)。原创 2023-12-14 22:00:46 · 830 阅读 · 1 评论 -
gd32F303串口接收的几种方式
空闲中断是在检测到有数据接收后,总线上在一个字节的时间内没有再接收到数据时,从而产生中断。即串口的RXNE位被置位之后才开始检测,检测到空闲之后,串口的CR1寄存器的IDLE位被硬件置1。对于串口接收到的数据,还有很重要的一点就是不确定长度,这样就不知道何时该停止接收,这个时候,串口的空闲中断就体现出他的重要性了,那么什么是空闲中断呢?对于串口的数据接收来说,和发送一样,如果采用传统的接收中断模式接收数据,同样的会因为频繁中断而导致消耗大量CPU资源,所以也使用DMA进行串口数据的接收。原创 2023-12-14 17:09:40 · 1632 阅读 · 0 评论 -
SWD和JTAG
在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 · 2523 阅读 · 0 评论 -
协议到底是什么?
我们都知道在计算机的世界里只有0和1,那么计算机是怎么从一堆1、0组成的数据中识别出特定的内容的呢?这就需要使用到协议。协议是指两台或者多台设备之间进行通信所必须共同遵守的规定或规则,可以形象的理解为规定了数据包的断句位置和每一个位数据的具体意义。例如,从机发送了一个数据包是“00100110101”,在没有协议约定的时候我们根本无法知道其中的意思,只有约定好了协议,双方都知道了断句位置以及每一位代表的是什么才能知道这其中的意义。原创 2023-12-12 09:43:57 · 812 阅读 · 0 评论 -
GPIO复用时5个调试接口引脚要注意
例如PA15引脚,它默认时JTDI引脚,但是可以复用为SPI的NSS片选信号。在初始化时,需要先开启AFIO时钟,再关闭JTAG功能,否则GPIO功能仍然不起作用。原创 2023-12-11 10:16:29 · 784 阅读 · 0 评论 -
端口复用和重映射
端口复用是将一个I/O赋予多个功能,通过设置I/O的工作模式来切换不同的功能。STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。例如串口1的发送接收引脚是PA9,PA10,当我们把PA9,PA10不用作GPIO,而用做复用功能串口1的发送接收引脚的时候,叫端口复用。原创 2023-12-10 17:01:52 · 2072 阅读 · 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 · 2061 阅读 · 1 评论