- 博客(217)
- 资源 (20)
- 问答 (2)
- 收藏
- 关注
原创 单向链表的实现--查询
前一讲讲到的链表创建和插入,这里我们直接使用前面的程序功能来辅助实现链表的数据查询。功能:根据指定的 ISBN 或书名查找相应图书的有关信息, 并返回该图书在表中的位置序号。singLinkList.h头文件内容声明和定义:...............
2022-06-12 23:27:04 417
原创 单向链表的实现--插入
一、线性表链式存储结构的特点 用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储其本身的信息之外,还需存储一个指示其直 接后继的信息(即直接后继的存储位置)。 这两部分信息组成数据元素ai的存储映像,称为结点 (node)。它包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存储位置的域称 为指针域。指针域中存储的信息称作指针或链。n个结点(a.....
2022-06-11 16:24:38 1455
原创 C++学习第一课--命名空间简介笔记
1、命名空间概念简介命名空间引入一个项目可以包含数百个.cpp文件,这些源文件可以由不同的人来开发。假如把这些.cpp文件由张三和李四来开发,张三在开发过程中写了一个这样的原函数radius(),李四也起了一个这样的函数名radius(),两个人起的函数名同名了,而且参数和返回值也完全相同。张三在zhangsan.cpp中写了的radius()的函数原型如下:void radius(){printf("张三的radius()函数.\r\n");}李四在自己的lisi...
2022-05-31 00:11:23 216
原创 单向链表的实现--前言
一、递归引入在讲单向链表之前,我们先对递归有个了解,比如求num(假如num=3,求3的阶乘)的阶乘,我们可以用递归来实现,如下所示:
2022-05-22 21:13:53 141
原创 顺序表的实现与操作(二)
继《顺序表的实现与操作(一)》,改变结构体内容:1、把data[DATASIZE]改为*data;typedef struct{ uint8_t *data;//数组缓存 int last;//数据存储长度}SQLIST;2、改变sqlist_create函数中的内容,为*data开辟内存空间://创建顺序表SQLIST * sqlist_create(void){ SQLIST *sqlist; sqlist = malloc(sizeof(*...
2022-05-22 20:53:18 137
原创 顺序表的实现与操作(一)
1、sqlist.h文件实现顺序表函数声明内容#ifndef __sqlist_H__#define __sqlist_H__#include<stdio.h>#include<stdint.h>#include<stdbool.h>#include <malloc.h>#define DATASIZE 255 //数组长度#define EMPTY -1typedef uint8_t DATATYPE;typede...
2022-05-22 00:07:14 418
原创 C++学习第四课--结构体、权限修饰符和类简介
public和privatepublic:用public修饰的成员变量和函数,可以被外接访问;private:用private修饰的成员变量和函数,只能被此类或此结构体的成员函数访问和使用。1、在C++中,结构体和类极其相似,区别有两点:(1)C++结构体内部的成员变量以及成员函数默认的访问级别是public;(2)C++类内部的成员变量以及成员函数默认的访问级别是private;.........
2022-05-01 18:35:25 1031
原创 把ASCII码的字符串转为数字的16进制
/*函数名称:AsciiToHex功能:把ASCII码的字符串转为数字的16进制参数dst:存储16进制数组数据指针参数src:存储ASCII码的字符串指针返回值:16进制的数组数据长度*/int16_t AsciiToHex(uint8_t*dst,uint8_t*src){ uint8_t ch; uint16_t index=0; if(strlen(src) == NULL) { return -1; } if(strl...............
2022-02-17 17:40:20 18130
原创 C#上位机软件串口数据接收用Invoke(同步)和BeginInvoke(异步)的区别
在串口接收很多数据且速度很快时,用Invoke后,关闭串口会导致界面卡死,如果改用BeginInvoke则关闭串口时,可以关闭串口且界面不会卡死。this.Invoke((EventHandler)(delegate{}));改为this.BeginInvoke((EventHandler)(delegate{}));...
2022-01-04 22:18:04 1271
原创 C#把TextBox.Text的几万条数据按数据格式导出Excel报错:Insufficient memory to continue the execution of the program.
上位机软件把设备上的日志读出来后,如下图1所示,按一定的格式把TextBox.Text中的几十万条字符串以一定的格式写入到Excel,发现数据写入速度很慢,而且还会报错,报错内容如下:Insufficient memory to continue the execution of the program.这个问题找了两天,终于找到问题所在,不能直接去操作TextBox.Text中的字符串,需要定义一个string类型的变量去接收TextBox.Text的内容,再进行数据指定格式进行数..
2021-12-27 18:22:18 910
原创 C# Excel导出超出65536行报错 Invalid row number (65536) outside allowable range (0..65535)解决方法
用Excel 2003格式创建Excel表格:HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个新的工作簿HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("Sheet1");//创建第一个Sheet1页,括号内是工作簿的名字//设置字体,大小,对齐方式HSSFCellStyle style = (HSSFCellStyle)workbook.CreateCellStyle();//设置填充方案.
2021-12-27 17:45:53 6302
原创 需要注意AT24Cxx和BL24Cxx引脚不一样
上海贝岭BL24Cxx系列的EEPROM芯片引脚功能如下图1所示, 图1AT24Cxx系列的EEPROM芯片引脚功能如下图2所示, 图2...
2021-11-14 15:07:28 1749 5
转载 win10 系统,鼠标点击文件夹,出现一直转圈圈的状态,打不开文件夹,电脑卡死,需要多次点击关闭按钮,白屏,一会后才能把文件夹关闭。
卸载掉百度网盘,下载安装最新版的百度网盘。
2021-10-17 09:48:09 5590
原创 ARM版本的IAR下载和安装
一、ARM版本的IAR下载在浏览器的搜索框输入“IAR”,并开始搜索,如下图,点击进入官网,进入官网的界面如下:点击“IAR Embedded Workbench”--------->"Find your tool"并进入,...
2021-10-17 09:43:17 3706
转载 计算机存储的大小端模式解析
----------------------------------------------------------------------------------------------------------------先主要介绍了大小端问题的来源,作者应该是基于32位的机器来讲解的。在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问...
2021-10-17 09:42:48 207
原创 读写EEPROM遇到的问题:16位地址的内容都是最后写入的数据。
#define EE_TYPE AT24C64如下图所示,往EEPROM的地址0x1000、0x1001、0x1002和0x1003分别写入0xAA、0xBB、0xCC和0xDD,读出来的数据都是最后一次写入的数据。读写函数如下所示,如果把EEPROM地址改为0x00、0x01、0x02和0x03,则写进去和读出来的数据都是一样的,如下图所示,把EEPROM的读写函数如下改写后,如下图所示,写进去的数据再读出来结果和上面在16位地址中写入数据一样,读出来的数据都是最后一次写入
2021-10-06 21:24:51 5595 3
原创 GD32F207移植FreeRtos,程序运行vTaskStartScheduler后进入HardFault_Handler死循环解决方法
1、把gd32f20x_it.c里面的void SVC_Handler(void)、void PendSV_Handler(void)和void SysTick_Handler(void)三个函数都屏蔽掉。2、用xportSVC_Handler替换掉startupPgd32f20x_cl.s里面的SVC_Handler;用xportPendSV_Handlerr替换掉startupPgd32f20x_cl.s里面的PendSV_Handlerr;用xportSysTick_Handler..
2021-09-26 00:21:59 1814 1
转载 C#WIFI搜索与连接
特别声明,本文转自:https://www.cnblogs.com/ywf520/p/6502452.html1、功能搜索WIFI并连接2、所用工具及资源:VS2012 Managed Wifi API(即:引用ManagedWifi.dll文件地址:http://files.cnblogs.com/files/ywf520/ManagedWifi.zip)3、运行截图及工程截图:工程目录 结构4、具体代码实现wifiSo.csusing System;.
2021-09-03 09:35:59 5977 1
转载 C# 解决LISTVIEW控件显示数据出现闪屏的问题
本文转自:https://www.cnblogs.com/yangxuli/p/7595794.html,为了尊重作者原创,转载请注明出处。一、发现问题如果发送数据过快的情况下,ListVies滚屏显示数据时会显示闪屏,如下所示现象:二、解决问题根据出现闪屏的情况,在网上查了资料要使用双缓存的办法来处理。其原理是数据在缓存区中进行处理,处理之后再把结果显示出来。自己先新定义一个ListViewBuff类:using System;using System.Collections.
2021-04-25 23:13:05 1463
转载 C# ListView控件显示表格(自适应宽度),添加 Checkbox,删除选择项,选中颜色和鼠标滑过背景变色
本文转载自:http://www.liangshunet.com/ca/201309/586362553.htm亮术网 2020-03-07 本网原创DataGridView控件功能十分强大,显示表格也方便,但性能就没有那么高;ListView控件功能没那么强大,显示表格也要多写代码,但性能相对高一些。开发过程中,可根据需要选用;对于显示表格来说,用 ListView控件也不难,以下是两个具体实例。一、C# Winform ListView 生成表格1、拉一个 ListView控件到 .
2021-04-24 10:12:39 6136 1
转载 PKCS7填充标准代码--C语言实现
本文转自:https://blog.csdn.net/IOT2017/article/details/84141461在AES加密算法中,若加密数据不是16bytes的整倍数,则需要按照一定标准对数据进行填充,使其满足 DataSize % 16 = 0。本文是根据PKCS7标准进行数据填充。PKCS7 填充标准摘要PKCS5Padding和PKCS7Padding都是密钥的一种填充方式,即当密钥长度不足时的一种密钥填充方式。PKCS5Padding的填充方式为当密钥长度不足时,缺几位补几个0,
2021-03-10 17:37:08 1932
原创 编译器编译16bit单片机程序对数组data[0]=0x12,data[1]=0xBD,data[2]=0x00,data[3]=0x45转换成16进制整数12BD0045的报警
定义32bit一个变量,uint32_t decData = 0;刚开始时在16bit和32bit单片机中都这样写:decData = ( data[0] << 24) | (data[1] << 16) | (data[2] << 8 ) | data[3];问题发现:编译16bit单片机程序时,编译器一直报警,提示数据太大溢出;编译32bit单片机程序时,编译器不报警。疑问猜测:16bit单片机不支持这样的写法?程序改良:decDat.
2021-02-24 21:06:38 409
原创 第三课--EFM32GG11系列--串口接收不定长度数据的几种方式
一、硬件串口引脚定义PE10-->USART0-TXPE11-->USART0-RX上面表格中,红色方框画出的内容用程序实现如下,在串口初始化时需要实现,不过经本人测试过,把这段代码屏蔽掉串口仍然可正常使用,有点不理解,望大佬可以帮忙解答,不胜感激。usart->ROUTELOC0 = (usart->ROUTELOC0& ~(_USART_ROUTELOC0_TXLOC_MASK| _USART_ROUTELOC0_RXLOC_MASK))//串口收发引
2021-02-16 01:23:49 820
原创 自主定义适合自己的Keil主题
先不打开Keil软件,把Keil安装目录下的“global.prop”文件(我的Keil安装目录路径为:“C:\USER\Software\Keil_v5\UV4”)的内容替换成如下所示内容:# properties for all file typesindent.automatic=2virtual.space=0view.whitespace=0view.endofline=0code.page=936caretline.visible=1highlight.matchingbrac
2021-02-09 00:23:05 1726
转载 C#委托及事件 详解(讲得比较透彻)
文章转载自:https://www.cnblogs.com/dafozhang/archive/2011/12/30/2307070.html
2021-02-05 16:20:50 670
转载 全套CRC校验的算法
1、CRC16-Modbus校验算法uint16_t crc16_modbus(uint8_t *data, uint16_t length){ uint8_t i; uint16_t crcmodbus= 0xFFFF;//初始值为0xFFFF; while(length--) { crcmodbus ^= *data++; //crcibm ^= *data; data++; for (i = 0; i < 8;...
2021-01-26 18:49:58 1026
转载 如何:为 Windows 窗体 RichTextBox 控件设置字体属性
转载自:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2008/yh8963yx(v=vs.90)?redirectedfrom=MSDN
2021-01-24 15:52:11 308
原创 C#的richTextBox滚动条滚动显示最新一行的数据
//设置滚动条滚动显示最后一条新数据richTextBox1.SelectionStart = int.MaxValue;richTextBox1.SelectionLength = 1;richTextBox1.ScrollToCaret();//字符串内容追加显示richTextBox1.AppendText("\r\n" + "[" + System.DateTime.Now + "]" + ":" + NewData.ToString() + System.Environment.Ne.
2021-01-24 14:48:17 3158 1
原创 第一课--EFM32GG11系列--点亮LED灯
从今天开始,每天坚持写一篇博客,让行为成为一种习惯。以前坚持每天写一篇博客,每天进步一点,日积月累,发现自己进步很大。2021年01月22日。
2021-01-22 18:46:35 753
转载 单片机编程之联合体(union)的妙用
文章转载自:https://www.cnblogs.com/CodeWorkerLiMing/p/12045166.html在单片机软件编程中,结构体和枚举类型都很常用到,联合体相对来用的就比较少。那么结构体和联合体的区别到底在哪里?我们先列举一个结构体如下:struct test{ int office; char teacher[5];};struct test a;我们再定义一个联合体,如下:union test{ int office; ...
2021-01-17 17:08:59 3601
原创 数据通讯拆分包算法
在设备的通讯过程中,可能存在数据很长,导致数据无法一次性发送,或者长数据发送会丢失,为了解决这一问题,自己用C语言实现的一个简单的拆分包算法:#include <stdio.h>#include <stdint.h>#include <stdbool.h>#include<stdlib.h>#define dataTotalLen 100#define groupLen 7//拆分后一个数据包的长度int main(void...
2021-01-12 18:34:18 1102
原创 C#串口上位机软件--IOT串口调试精灵
最近用业余时间用C#写了一款适合自己目前岗位工作用的串口软件,“串口调试”板块的功能99.99%基本完成,后续会持续更新预留的功能或新增功能。欢迎下载使用本串口软件,“网络调试”和“Modbus调试”板块功能还是空白的,最近没有时间去完善。本软件源码支持二次开发,如果有需要源码的同行,可以联系我,报酬可以的话,我可以把源码发给你,嘻嘻嘻,不要骂我,因为这上面也花了很多精力和业余时间,请体谅,年纪越大越缺钱!!!哈哈哈。本软件的几个特色功能:1、数据发送时,如果格式为"HEX",则会自动监测输...
2021-01-07 19:25:45 919
原创 把浮点数转为字符串(隐形把数据进行四舍五入)
#include <stdio.h>#include <stdint.h>int main(void){ float floatData = 3.141592653; char strData[50]; sprintf(strData,"%0.0f\r\n",floatData);//把浮点数转为字符串,包含隐形的四舍五入 printf("保留整数:%s\r\n",strData); sprintf(strData,"%0.1f\r...
2020-07-12 15:37:41 805
esp8266Wifi模组AT指令入网调试
2018-07-06
低功耗蓝牙开发权威指南
2017-12-11
购买CSDN的VIP后下载资料清零问题
2021-10-01
下列单片机汇编语言程序,000BH是定时器中断源入口地址,但放在Keil上运行就报错
2017-01-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人