自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 stm32f103串口iap在线升级bootloader

作者在用gd32f103测试时发现发现上面的方式在接收大量数据时,会出现丢数据的现象,所以作者采用在串口初始化完成后,调用__HAL_UART_ENABLE_IT(&huart1,UART_IT_RXNE)函数开启接收中断。, (uint8_t *)u8UartRxBuf, 1))函数开启串口中断,然后再中断函数中再次调用该函数,实现数据的接收。最后在主函数里运行,实现代码的接收和flash的写入。以上仅贴部分代码做记录,资源已上传,需要可下载。串口中断接收代码如下。

2024-04-11 10:17:50 193 1

原创 stm32移植freemodbusRTU(HAL库+Freertos)主机

modbus主机源码下载freemodbus主机源码下载地址注:感谢armink提供的开源主机代码。一、移植准备1.cubemx配置基础工程,包括串口,freertos等。在这里主要用到串口二以及freertos CMSIS_V2,同时开启freertos软件定时器。2.拷贝freertos源码到工程目录,新建一个freemodbus文件夹,拷贝modbus文件夹。3.添加文件到工程,并添加头文件路径,Modbus_M为主机代码,Modbus_S为从机代码,不做分析,可看从机移植教程。

2022-03-15 14:10:40 11293 63

原创 keil及iar调试解释

比较常用的功能Breakpoints:也就是断点Disassembly:反汇编,也就是你写的程序经过编译烧写之后,在单片机中的样子Memory:内存,可以查看全部内存中的数据,看起来就像一般的16进制编辑器Symbolic Memory:符号内存,不但能看到内存数据,还能看出来对应程序中的什么变量Register:寄存器,查看全部寄存器的内容Watch:观察,可以根据你的需要,指定查看什么,根据楼主的经验,查看全局变量方便一些,在变量可见范围内,也可以查看局部变量和静态变量(static)

2022-03-11 10:44:31 1208

原创 STM32移植freemodbusRTU(hal库)从机

参考文章:https://blog.csdn.net/junseven164/article/details/121698256

2022-03-08 17:45:16 6514 4

转载 PMOS 和 NMOS区别

D:漏极 G:源极 S:栅极NMOS是栅极高电平(|VGS| > Vt)导通,低电平断开,可用来控制与地之间的导通。PMOS是栅极低电平(|VGS| > Vt)导通,高电平断开,可用来控制与电源之间的导通。NMOS因Source端一般接地(低电位),所以要让|VGS| > Vt, 则Gate端一般要接正电压,这样管子才能导通;PMOS因Source端一般接VDD(高电平),所以要让|VGS|>Vt,则Gate端一般要接负电压(低与VDD的电压),这样管子才能导通。.

2022-02-16 10:53:37 1471

转载 C语言的内存管理(堆,栈,代码段,数据段)

C语言的内存管理(堆,栈,代码段,数据段)一、几个基本概念  在C语言中,关于内存管理的知识点比较多,如函数、变量、作用域、指针等,在探究C语言内存管理机制时,先简单复习下这几个基本概念:1.变量:不解释。但需要搞清楚这几种变量类型:全局变量(外部变量):出现在代码块{}之外的变量就是全局变量。局部变量(自动变量):一般情况下,代码块{}内部定义的变量就是自动变量,也可使用auto显示定义。静态变量:是指内存位置在程序执行期间一直不改变的变量,用关键字static修饰。代码块内部的静态变量只能被

2022-02-11 15:32:33 1664

原创 stm32串口空闲中断接收不定长数据

标题串口空闲中断加DMA方式接收在串口初始化时开启空闲中断和DMA接收void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle){/*省略自动生成部分代码*/ /* USER CODE BEGIN USART1_MspInit 1 */ __HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE); HAL_UART_Receive_DMA(&huart1, (uint8_t*)rx_buffer,

2021-11-19 16:43:07 4066

原创 hash表的学习和使用(列表法和链式法)

hash.c#include "hash.h"extern uint8_t USART_RX_BUF[USART_REC_LEN];/*一个规则:key转换成一个long型数据,用于确定存放的位置,哈希函数,time33算法*/unsigned long HashFun(const char *key){ unsigned long hash = 0; int len = strlen(key); for(int i = 0; i < len; i++) { hash = h

2021-11-19 10:44:35 283

翻译 基于一款 wk2168芯片的串口扩展

串口扩展芯片应用介绍一、 概述随着嵌入式系统的功能越来越强大,搭载的外围设备也不断的增加,为了方便系统的集成,现在的外围设备通常都提供了标准的通信接口。在这些标准接口当中最常用的就是我们比较熟悉的串口。串口作为一种工业标准接口有他的先天优势所在,通信速率较高,通信距离也比较远,集成也很方面。目前通常的嵌入式系统的cpu通常只有2个串口最多也就4个左右,如果外围需要搭载的串口设备超过4个,这个时...

2019-06-21 14:15:00 2254

stm32f103/gd32f103 bootloader代码

通过串口实现iap下载

2024-04-11

stm32f103modbus+freertos主机代码

stm32f103modbus+freertos主机代码

2024-03-05

stm32+freemodbusRTU+freertos+主机/从机

stm32l151移植freemodbus协议,搭配freertos实现主/从机代码

2022-03-16

空空如也

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

TA关注的人

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