自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苏州向日葵的博客

生活,技术,分享

  • 博客(81)
  • 收藏
  • 关注

原创 PID学习记录

作为PID学习记录

2025-10-27 10:27:36 381

原创 篇六 lwip 相关介绍

lwip协议栈相关介绍

2025-09-26 15:17:57 999

原创 freertos下printf(“hello\r\n“)和printf(“hello %d\r\n“,i)任务堆栈消耗有何区别

原先做的项目,TCP通讯采用stm32f103+freertos+w5500方案,实现的tcp单连接通信,同事提了个需求让实现tcp多连接,于是改了一版代码。根据打印结果看printf%d格式化输出比单纯打印纯字符串,任务堆栈要多消耗50个word大小左右,所以在你任务本身剩余堆栈很少的情况下,一个printf打印就可能导致溢出,程序崩溃。关联的任务函数tcpServerTask剩余堆栈大小是0,也就是说此时该任务已经没有堆栈空间了,printf改为%d打印,多一点就可能导致堆栈溢出;

2025-09-04 16:42:58 323

原创 篇五 网络通信硬件之PHY,MAC, RJ45

本章节主要介绍下phy模块, mac模块,RJ45连接器,及硬件通信接口MDIO,MII,RMII,GMII,RGMIIITEM描述PHY负责网络信号的物理收发,调制解调,编解码,波形整形,电平转换,自协商,链路建立检测,属于物理层设备MAC控制以太网帧的生成与接收,处理链路层协议,一般集成在MCU/SOC内部(比如stm32f407,内部集成mac模块,外接phy芯片比如LAN8720即可实现以太网通信),属于链路层设备;mac和phy之前通过MII,RMII,GMII,RGMII接口进行通信。

2025-07-25 17:16:34 621

原创 篇四 tcp,udp客户端服务器编程模型

本篇内容主要介绍tcp,udp客户端服务器编程的基础API和示例代码。

2025-07-23 11:26:21 266

原创 篇三 wireshark抓包 & 以太网帧结构 & TCP基础

本章主要介绍wireshark抓包,以太网帧结构,tcp基础知识。

2025-07-10 09:19:45 297

原创 篇二 OSI七层模型,TCP/IP四层模型,路由器与交换机原理

本章节主要介绍OSI七层模型,TCP/IP四层模型划分,以及日常使用的路由器,交换机的一些基础知识。

2025-07-04 17:33:09 756

原创 篇一 网络通讯基础

本文介绍了网络最基础最重要的一些概念

2025-07-02 15:57:30 825

原创 stm32 freertos下基于 hal库的模拟I2C驱动实现

最近搞了两个项目,调了一版freertos下基于hal库得模拟I2C驱动,非常实用,直接拷贝就能用,这里做下记录,主要用到如下四个文件:

2025-06-30 15:08:51 422

原创 嵌入式网络开发系列篇----学习大纲

1.以太网基础历史、速率、拓扑、以太网帧结构MAC 地址、广播/单播、多播机制网络参数:IP、子网掩码、网关、DNS2.OSI 七层模型 & TCP/IP 四层模型每层功能、典型协议、典型设备路由器、交换机工作原理(物理 vs 二层 vs 三层)3.网络硬件接口PHY、MAC、RJ45、MDIO、MII/RMII、千兆GMII/RGMII传输介质、电气标准(差分对、阻抗、变压器耦合)常见 PHY 芯片(LAN8720、DP83848、KSZ8081 等)

2025-06-25 17:41:03 238

原创 python爬虫框架scrapy学习记录

简单介绍了scrapy用法

2025-06-25 11:16:57 1322 1

原创 virtualBox安装ubuntu,常用知识点

有时候经常需要编写一个小的c语言验证程序,这个时候在linux下面编译运行比其他编译器方便的多,因此需要安装linux虚拟机。这里介绍下virtualBox安装ubuntu,几个非常有用的知识点。virtualbox 设置里面有“共享文件夹”这一项,关闭虚拟机设置下重启虚拟机即可。这是因为区域和语言不一致导致,比如区域中国,语言英语;su - leo //切回其他账户。3.vi编辑,输入箭头显示字母ABGD。修改/etc/vimrc,最后一行添加。2.ctrl+alt+t 打不开终端。

2025-06-13 15:25:37 328

原创 FreeRtos下创建任务失败原因记录

记录了freertos下任务创建失败的大概率原因

2025-06-09 18:12:14 446

原创 Cortex-M3 freertos下实现us级延时的最佳方法

介绍了freertos下实现us级延时的简单方法

2025-06-06 11:56:31 408

原创 C#开发usb hid 简易GUI调试工具记录

介绍C#开发usb hid 简易GUI工具过程

2025-04-23 09:34:19 544

原创 python3语法学习记录

记录python3 语法学习过程中的一些知识点。

2025-04-23 09:01:43 628

原创 C#学习知识点记录

想要学习一门上位机GUI编程语音,用作设备调试,经过比对后,最终选择C#.这里做一些记录。

2025-04-23 08:57:51 1019

原创 机器人操作系统ROS了解

ROS感性认识

2025-02-10 18:37:13 461

原创 一个printf打印格式不对造成的奇怪现象,平常很容易忽略

介绍了printf打印时,由于格式化字符不正确,可能造成的异常

2025-02-07 11:15:40 421

原创 妙用之有限状态机FSM

介绍有限状态机FSM

2024-12-24 18:24:27 311

原创 篇3:当下最火的AIGC发展现状

介绍了AIGC现状

2024-12-15 20:49:40 303

原创 篇2:深度学习模型及框架介绍

介绍了主流的深度学习模型和框架

2024-11-27 11:04:24 1302

原创 篇1:人工智能的概念及热门方向

AI概念及热门方向介绍

2024-11-27 09:54:29 562

原创 mcu上一种利用伪随机数防止mac地址冲突的方法

介绍了一种利用伪随机数防止mac地址冲突的方法

2024-11-26 14:47:18 709 2

原创 stm32f103 W5500以太网通信实现

stm32f103+ w5500 实现以太网通信

2024-11-21 16:15:04 1460

原创 推荐嵌入式开发中好用的一些软件工具~~持续更新

介绍了嵌入式软件开发常用的好用的一些工具

2024-11-21 10:57:13 327

原创 通讯问题排查思路

介绍了通讯问题一般排查思路

2024-08-07 09:14:48 352

原创 CodeCompare代码比较脚本使用说明

代码比较脚本

2022-11-29 16:03:00 2369

原创 busybox命令裁剪

记录下自己裁剪busybox命令的过程

2022-08-22 10:40:27 1659

原创 根文件系统介绍

总结了下 个人对根文件系统的理解

2022-08-22 10:25:09 1236

原创 记录--编写一个能运行的简易ko

编写一个能运行的简易ko

2022-08-18 17:05:11 416

原创 堆栈(栈)的实现

链表栈#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct linkstack{ data_t data; struct linkstack *next;}linkstack_t;linkstack_t *creat_linkstack(){ linkstack_t *head; head = malloc(sizeof(linkstack_t)); head->

2022-02-14 06:50:08 394

原创 队列queue的实现

顺序表实现##list.c#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct list{ data_t *data; //保存数据的空间 int size; //容器能保存的元素个数 int last; //保存最后一个有效元素的下标}list_t;/*返回创建好的 空顺序表 的地址*/list_t *creat_list(int size){ list_t *

2022-02-14 06:47:33 348

原创 顺序表实现案例

范例1## list.c#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct list{ int size; //容器能保存的元素个数 int last; //保存最后一个有效元素的下标 data_t data[0]; //不定长数组名 必须放于 结构体的最后一个成员}list_t;/*返回创建好的 空顺序表 的地址*/list_t *creat_list(int

2022-02-14 06:36:05 524

原创 冒泡,快排和树

冒泡#include <stdio.h>#include <stdlib.h>int data[] = {3,8,2,9,1,5,7,6,4}; //3,2,8,1,5,7,6,4,9int maopao(int data[],int size){ int i,j; int temp; for(j = 0;j < size - 1;j ++){ for(i = 0;i < size - 1 - j;i ++){ if(data[i]

2022-02-14 06:21:20 122

原创 单向链表及双向链表

链表#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct linknode{ data_t data; struct linknode *next;}link_t;link_t *creat_link(){ link_t *head; head = malloc(sizeof(link_t)); head->next = NULL; return head;

2022-02-14 06:11:44 494

原创 linux网络编程

网络基本知识:TCP协议分成了两个不同的协议TCP:用来检测网络传输中差错的TCP:面向连接的数据流传输服务 可靠 适合网络状况不是很好的场合UDP:面向无连接的传输协议 不可靠,但是实时性更好,适合网络状况佳的场合socket套接字:socket是一种特殊的IO接口,也是一种文件描述符。不仅能实现本地不同进程之间的通信,而且通过网络能够在不同主机进程之间进行通信分类:流式套接字SOCK_STREAM 应用TCP通信数据报套接字SOCK_DGRAM 应用U

2022-02-11 00:27:12 1340

原创 linux shell

1、shell是一个命令行解释器,能够使用户和操作系统进行交互。命令格式(通常包括三部分,选项和参数是可选项):命令 选项 参数连续按下两次TAB键用于命令补齐,按下一次TAB键用于文件名补齐。2、shell通配符和特殊字符'*‘表示匹配任意长度的字符串,’?'表示匹配一个长度的字符管道(|):将第一个命令的输出作为第二个命令的输入,,使用管道可以将一些命令联合起来使用,得到单个命令无法实现的效果。 eg:ls /usr/bin |wc -W输入/输出重定向:改变shell命令的输入输出

2022-02-11 00:25:50 815

原创 C语言(二)

1、sizeof(fun)=1sizeof(&fun)=4 fun为函数名解释:函数名其实是一个符号表,占用一个字节,虽然函数名可以当做函数的入口地址,当做一个指针,但是并不能像指针那样占用4个字节,当取地址的时候,确定是4个字节2、存储类型auto:默认情况下,所有的变量都是autoregister:表示变量是存放在CPU寄存器中,而不是存放在内存里面,因此不能用&符号取内存地址extern:声明变量或者函数是来自外部的文件static:修饰局部变量:作用域为定义该局

2022-02-11 00:25:09 924

原创 IO与静态库动态库

一、文件IO1、什么是系统调用(文件IO)(1)用户空间进程访问内核的接口,使用内核提供 的各种功能(2)极大提高了系统的安全性和用户程序的可移植性(因为操作系统大多是多任务的,直接访问硬件会出问题)2、什么是库函数(标准IO)(1)库函数是为了实现某个功能而封装起来的API集合(用户编程接口)(2)提供统一的编程接口,更加便于应用程序的移植系统调用和库函数的区别************系统调用发生在内核空间,如果用户空间的一般应用程序使用系统调用来进行文件操作,会有用户空间切换到内核空间的

2022-02-11 00:24:10 439

TCP RST problem Wireshark packet capture

TCP RST problem Wireshark packet capture

2024-10-14

空空如也

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

TA关注的人

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