随着ST公司芯片的价格越来越高,许多公司开始寻求国产芯片进行替换,但是大部分人用习惯了ST的单片机,突然更换国产芯片,很多产品的性能需要重新测试,对于资历比较深的嵌入式工程师来说,更换芯片后,上手还是比较快的。但是对于一些新手来说,就比较难了。特别是对于一些刚上大学的大学生,刚接触嵌入式,ST的单片机资料比较多,但是价格比较高,有点望尘莫及。国产芯片价格比较低,但是资料少,虽然说和ST公司的芯片完
一、教程简介 本章主要是对MINI-GD32F103C8T6 凌智基础开发 板的硬件进行介绍,以及一些对应的电路原理进行说明。对应的原理图以及生成的库文件都在资料文件里面有提供,可以直接使用。图1 设计原理图 二、相关事项 1、核心处理器 本次开发教程所用的单片机型号是GD32F103C8T6,将其所有引脚进行定义引出。图2 核心处理器 2、复位电路 这是一个比较典型的复位电路,我们在开发过程中,
转载 2024-07-05 04:11:02
1596阅读
假设有一个浮点数 float FL = 3.14159267 (和圆周率很像啊),它在计算中的是怎样存储的呢?步骤1: 转换为二进制表示,浮点数分为整数部分和小数部分,对于该浮点数来说,整数部分为3,浮点数部分为0.14159267. 这里假设FL是4个字节,32位浮点数表示. 十进制 二进制 3 【0000,0011】 0.14159267 【0010,0100,0011,1111,0110
GD32F103读写内部FLASH测试环境:STM32F103C820KBytes RAM64KBytes F
原创 2023-02-01 21:33:22
3443阅读
IIC笔记I2C总线的特点1、它是一个支持多设备的总线。总线上多个设备共用的信号线,在一条I2C的总线钟,可链接多个I2C的通讯设备,支持多个主机和多个从机2、一条I2C总线只使用两条线路,一条是双向串行数据显(SDA),另外一条是串行时钟线(SCL)。双向串行数据线用于传输数据,串行时钟线用于数据收发同步3、每一个连接到总线的设备都有一个独一无二的地址,主机可以通过这些地址进行不同设备的访问4、
USART外设1.定义USART:Universal Synchronous/Asynchronous Receiver/Transmitter,通用 同步/异步 接收/发送。UART:Universal Asynchronous Receiver/Transmitter,通用 同步 接收/发送。2.连接异步串口:TX RX GND 全双工同步串口:TX RX CK GND 全双工智能卡模式:TX
28335外部中断基本特点7个可屏蔽中断源和1个不可屏蔽外部中断源GPIO0-31可选的中断源为XINT1(可屏蔽中断),XINT2和XNMI(不可屏蔽中断)GPIO32-GPIO63可选的中断源为XINT3-7外部中断的触发方式可选上升沿或下降沿触发外部中断外设和其他外设不一样,在中断函数中只用清除PIE中断即可不用清除外设中断。外部中断配置过程其实28335的外部中断配置相对其他外设的配置来说
转载 2024-07-15 14:43:35
128阅读
背景:        在产品发布后,可能需要对固件进行更新或者升级,那么在影响产品正常运行的情况下,如果升级固件呢?理论:        下面的所有理论部分内容参考《STM32开发指南》。什么是IAP:不执行正常的功能操作,(功能操作指:main函数里面的功能)而只是通过某种通信方式(如USB、USART)接收程序或数
Windows下,搭建开源STM32/GD32开源IDE环境脱离盗版,使用vscode+GCC+openocd+cmsisDAP,linux下同理实践了一遍,挑了干货,快速完成平台搭建加入仿真中需要的.svd获取说明,用于看外设PERIPHERALS的寄存器makefile推荐stm32cube生成的,然后做修改。对比了下不同的makefile,涉及到FPU部分的编译,用最简单的makefile可
一、工具  1、硬件:GD32F30x系列单片机  2、编译环境:KEIL  3、Flash芯片:GD25Q256DF二、芯片介绍GD25Q256DF是一款256M-bit(32Mbyte)的串行Flash,使用的是SPI通讯。该芯片的页大小、扇区大小及其详细信息如下表所示:  其它详细信息请阅读数据手册,这里不再赘述。 三、SPI驱动程序 SPI驱动程序使用的是硬件
转载 2024-04-25 14:31:00
534阅读
1.1 硬件I2C介绍 在项目中遇见与MCU通信接口协议为I2C的设备时,可通过GPIO口软件模拟I2C和使用MCU自身的硬件I2C资源。两者各有优势,软件模拟可以不受GPIO口限制,也可以主控制器MCU的选择上降低成本,但也存在I2C设备对通信速率有特定的要求或者需要较高的传输速率时,会存在时序调试困难、start/stop/ack/noack/read/write等都需要软件实现、GPIO口翻
目前常见的STM32GD32系列的MCU芯片都具有唯一UIDUID是唯一标识符(unique identifier),在STM32系列微控制器的每一颗芯片都具有全球唯一的标识符,该标识符为128位二进制序列。因此我们可以利用芯片UID的唯一性对程序进行加密,使每一个产品中的程序也具有唯一性,即使非法使用者获取了MCU中的程序复制到其他芯片中也是不能正常运行的,从而达到保护开发者的知识产权不被侵犯
原创 2022-06-30 13:17:27
1680阅读
1评论
定时器影子寄存器的作用,可以在突然改变时钟分频系数的时候,先执行完前一个系数,然后再执行下一个时钟分频系数的程序
原创 2023-03-13 21:12:20
230阅读
目录一、STM32F103GD32F103 差别比较二、GD32使用CubeMX配置1、配置单片机型号2、晶振配置3、其它配置三、GD32使用Keil配置1、更改型号为GD32芯片2、编译下载四、例程下载链接 一、STM32F103GD32F103 差别比较1、 “ 相同 ” 之处: 1)外围引脚Pin兼容,每个引脚上的复用功能也完全相同。 2)芯片内部寄存器、外部IP寄存器地址和逻辑地址完
网上找到此文章解决了j-flash只能连接后不能烧录的问题,希望遇到相同问题的小伙伴,可以用同样的办法解决:前段时间,做了一块板子,调试接口只留了三个口SWD、SWCLK、GND,在使用Jlink的SWD方式调试的时候发现无法连接。使用ST-link的时候可以连接,无奈楼主的ST-link的链接方式相当的不可靠,时而能识别时而不能识别:当然我的ST-link是山寨版的。那么问题来了:为什么通过20
目录下载安装Keil5下载安装板级支持包下载官方文档及固件库 下载安装Keil5GD32系列单片机我使用的是Keil5这款IDE进行开发,它跟STM32是差不多的,STM32能用的IDE它也能用。像IAR,甚至使用VSCode、Clion开发都可以(只要你有精力去折腾)。 下载和安装Keil5的教程网上也有很多了,这里找了一篇其他博主的博文。 文章链接:Keil5下载和安装教程值得注意的是,如果
1、STM32的中断  STM32的中断管理是属于内核部分的,所以中断管理的寄存器也是属于内核组,不属于芯片外设,在查看相关资料的时候,需要查看相对应的内核手册。  STM32F103ZET6是Cortex-M3内核的IC。Cortex-M3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但是STM32并没有完全使用Cortex-M3内核的全部中
转载 2024-03-22 09:46:50
390阅读
目录简介启动方式Boot0=0,Boot1=xBoot0=1,Boot1=0Boot0=1,Boot1=1烧录方式ICPISPIAPIAP的作用IAP与ICP、ISP的运行差别IAP的Bootloader程序实现IAP的APP程序实现 简介       微控制器在硬件中作为核心,通过执行保存在内部存储器中的程序,运行各种外设,
文章目录前言1. 移植FreeRTOS2. 测试FreeRTOS3. 移植工程 前言该篇环境为:STM32F103ZET6、Keil 库函数版本 F4、F7、H7移植同理。FreeRTOS源码:链接:https://pan.baidu.com/s/10l8TmseEJKkFdwFY3qZc1Q?pwd=8uqw 提取码:8uqw1. 移植FreeRTOS选取平时编程的一个库函数工程进行移植。
STM32F103RCT6项目RAM&ROM占用分析查阅DataSheet可知STM32F103RCT6属于大容量产品,内含256KB的Flash,48KB的SRAM之前关于RAM&ROM的空间利用根本没有考虑,但在移植FreeRTOS和jasson库之后,在任务中调用Json_loads()时,包括用malloc申请空间时偶尔会出现Hardware fault。如此看来,合理的空
转载 2023-10-24 09:31:59
0阅读
  • 1
  • 2
  • 3
  • 4
  • 5