自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 深度剖析STM32内存地址与启动过程

STM32是意法半导体推出的低成本、高性能、低功耗的单片机,主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。

2024-06-25 08:34:11 1174

原创 STM32移植FreeRTOS操作系统详细说明

在STM32工程中我们需要创建两个文件夹,一个是用来存放源码的,一个是用来存放接口文件的。Source就是源码,Ports就是接口函数,不过在这两个文件中不需要修改任何参数,heap.4是内存管理文件,一共有5个,管理方式和工作方式不同,最常用的是4,所以我们需要从MemMang文件中选择heap_4.c,还有一个port是用来选择内核的,单片机是什么内核就选择什么内核,FreeRTOS支持的内核如下:如果是103就选择CM3内核,407就选择CM4F内核,这个看个人移植的单片机是什么。

2023-11-30 15:36:58 1132

原创 STM32移植FatFs文件系统详细步骤说明

当显示TF卡挂载成功之后就可以创建文件夹和创建文件,当然,读写文件夹也是没有问题的,下面简单写几个函数用于打开文件和读文件,首先我们在打开一个草滩小王子的文件夹,然后打开这个文件夹,打开一个名为测试.txt的文档,并且读出里面的数据并打印出来,FA_READ函数是读,如果打开文件夹是要写,参数就改为FA_WRITE,这个参数还有很多选项,大家可查阅FATFS的IAP技术手册。在这个函数内,我们直接调用HAL库的函数即可获取TF卡的容量大小,剩余空间以及卡类型的信息,

2023-11-17 16:18:47 1263

原创 南京沁恒微CH395Q以太网芯片调试详解

当发送一帧数据之后INT中断引脚就会产生下降沿,触发单片机外部中断,此时就要查询状态来做出判断,比如说发送了一帧数据之后INT产生中断,发送查询指令后返回值为0x03,那么就对应图上的发送缓冲区空闲和发送成功状态,当发送一帧数据之后必须查询发送缓冲区非空才能继续发送,否则TCP连接就会断开,当TCP连接断开时,就要重新打开socket和重新连接,所以操作时尽量谨慎。发送的最大字节数也有限制,这个需要仔细查看手册。

2023-11-17 11:35:40 3319 6

原创 针对MB85RS2M富士通FRAM的SPI驱动程序,关联其他SPI的FRAM

读一条数据到FRAM指定地址读取的操作比写少了一步解锁,基本原理相同,所以不做解释,下面附上代码。

2023-05-19 15:17:33 847 1

原创 上海移远BC260Y利用MQTT协议通讯的AT指令操作说明

在发送QMTOPEN=0,"broker-cn.emqx.io",1883之后会返回OK并返回+QMTOPEN: 0,0,然后马上会返回+QMTSTAT: 0,1,这个间隔大约2秒,如果出现了+QMTSTAT: 0,1,就代表连接被服务器断开或者重置,所以在发送QMTOPEN=0,"broker-cn.emqx.io",1883之后返回+QMTOPEN: 0,0还未返回+QMTSTAT: 0,1之间的两秒内,必须马上发送AT+QMTCONN=0,"BC260Y"让模块连接到服务器,太快或者太慢都不行,必须在

2023-01-16 17:03:59 5899 2

原创 STM32的IAP在线升级

当产品定型投产后每一次烧录程序都必须去修改BOOT硬件引脚的电平很不方便所以我们需要自己编写一套BootLoader程序,也就是在单片机FLASH中编写两套程序,利用第一套程序通过串口接收的方式将第二套程序写在指定地址的内部FLASH上,然后强制跳转单片机的PC指针实现运行第二套程序的方法,从理论上来说,单片机可以保存无数套程序并通过强制跳转指针去运行,当然前提是你的FLASH足够大。

2022-10-13 15:09:52 3412

原创 简单的FIFO滤波算法编写方法

程序思路很简单,定义一个11个数据的数组,每次进来将数据存入BUF[0]中,然后依次将数据向后移动,整个程序循环10次之后数组将被填满,然后利用下一个FOR循环将数据全部累加,最后求平均值。

2022-09-15 17:59:33 408

原创 ADS1247/1248(TI)24位ADC单次采集程序与连续采集程序编写方法

根据手册来编写程序:RDATAC命令可启用读取数据连续模式。这是上电或重置后的默认模式。在读取数据连续模式下,新的转换结果会自动加载到DOUT上。在DRDY信号降低后,可以通过发送24个SCLKs从设备接收到转换结果。请确保在DRDY返回低值之前完成数据检索(转换结果或寄存器回读),否则产生的数据将被损坏。在RDATAC模式下成功的寄存器读取操作需要知道下一个DRDY下降沿何时发生。

2022-09-14 13:34:47 3022 4

原创 嵌入式程序编写方法与规范

嵌入式程序编写方法与规范前言本文主要讲解嵌入式单片机程序的编写方法以及编写规范,以MSP430单片机作为例子,无论是51,AVR还是STM32单片机都同样适用,本文对C语言各种语法各种关键字进行详细解释,对操作物理地址的方法进行剖析,对程序编写的框架进行分析,对嵌入式的编码规范进行总结,本文属于个人总结,能力有限,如有错误,还望斧正,不胜感激。一、C语言的发展历史C语言于1972年11月问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,1983年由美国国家标准局(Am

2022-07-22 15:46:56 5267

原创 按键扫描的状态机写法

*按键相关变量*/typedefstruct{解释按键当前的状态上一次按键的键值当前按键的键值延时消抖的计数值。/*按键类型*/typedefenum{/*无按键按下*/ENUMKEYNONE=0,/*设置按键按下*/ENUMKEYSET,/*累加按键按下*/ENUMKEYADD,/*移动按键按下*/}tEnumKeyType;解释这段是一个枚举结构,里面是按键按下之后返回的键值,我们根据键值来判断是哪个按键按下的。解释。......

2022-07-19 18:14:25 832

原创 ADS1248/1247(TI) 24位ADC详细配置说明

ADS1248是TI的一款 24位delta-sigma(ΔΣ) 、2KSPS、8通道(4通道差分)ADC芯片,通讯协议为SPI。可编程数据速率高达2ksps。低噪声PGA:48nVRMS在PGA=128。低漂移内部2.048-V参考值:10ppm/°C(最大值)。模拟电源:单极(2.7V至5.25V)和双极(±2.5V)工作。ADS1248/1247一共有15个寄存器,寄存器列表如下:所以我们按照手册的方法来写:我们先定义一个cmd的数组,然后将CS片选拉低,START置高,然后进行数据的拼接,在

2022-06-28 21:00:00 11995 2

原创 MSP430中MODBUS-RTU的程序编写方式

MSP430中MODBUS-RTU程序的编写方法

2022-03-01 11:18:22 1843

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除