自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mill_li的博客

低头努力,剩下的交给时光

  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 Ubuntu上使用JLink + GDB调试STM32

Ubuntu上使用JLink + GDB调试STM32一、JLink下载与安装二、交叉编译链下载与安装三、烧录程序四、使用GDB调试程序一、JLink下载与安装首先需要在 Jlink官网下载适合你版本的安装包,Ubuntu下可以直接使用DEB格式的文件,也可以下载压缩包来安装,这里我下载的是安装包,下载完解压之后,参考Readme文件,里面写的很详细也很简单,你只需要做两部即可1.sudo ...

2020-03-17 13:32:44 2056 2

原创 VIM打造成IDE

1.安装git由于VIM的包管理软件Vundle需要Git支持,所以第一步我们先安装gitsudo apt-get install git2.安装VundleVundle是VIM的包管理软件,我们的插件大部分是通过这个包管理软件进行安装的,还有一部分是系统自带的,使用系统命令安装即可2.1下载执行git clone命令进行下载git clone https://gi...

2019-08-16 10:55:57 861

原创 winform控件之NumericUpDown

一个NumericUpDown控件包含可以通过单击向上或向下按钮的控件是递增或递减的单个数字值。 用户还可以输入一个值,除非ReadOnly属性设置为true。可以通过设置格式显示数字DecimalPlaces, Hexadecimal,或ThousandsSeparator属性。 若要在控件中显示的十六进制值,设置Hexadecimal属性设置为true。 若要显示千位分隔符在适当时的十进制...

2019-07-17 21:42:18 3919

原创 winform控件之notifyicon

notifyicon控件是指定可在通知区域创建图标的组件,比如我们在右下角的状态栏想要显示某些东西,就可以使用这个控件这个控件的属性和事件都特别简单,一般它会和ContextMenu一起使用,完成后的功能是下图这个样子的1.界面布局这个例程中主要我们是想看右下角的样子,所以主界面没有任何显示,只添加了三个控件notifyicon,timer和contextMenu,当然我...

2019-07-14 10:16:58 949

原创 winform控件之MonthCalendar

MonthCalendar控件是一个日历控件,是系统提供好的是我们可以用可视化的方式来实现日期的选择,这个控件主要就是一些属性的设置,没有什么需要特别注意的地方,完整的属性最好还是参考官方,网址如下MonthCalendar Class下面我们还看看这个控件是如何使用的1.界面布局界面布局如下控件比较简单,就是一个MonthCalendar,一个Label和一个Textbox...

2019-07-14 09:20:12 1588

原创 winform控件之maskedTextBox

maskedTextBox控件是使用掩码区分正确的和不正确的用户输入的控件,掩码定义如下 掩码元素 说明 正则表达式元素 0 0 到 9 之间的任何一个数字。必选项。 \d 9 数字或空格。可选项。 [ \d]? ...

2019-07-07 10:41:46 2525

原创 winform控件之ListView

ListView控件是列表视图控件,说是列表视图,其实它有四种显示方式,Detail,Large,Small和List,使用ListView控件,我们可以让我们的数据以不同的形式进行展示,下面我们通过代码进行学习1.界面布局界面布局如图所示,最主要的就是我们的ListView控件,然后有6个Button实现6种功能,一个TextBox用来显示文本,为了显示图片,我们还需要一个Im...

2019-06-18 16:18:32 17372

原创 常用视频接口介绍

1.AVAV接口是音频(Audio )和视频(Video )的简称。它由黄、白、红三种颜色的线组成,其中黄线为视频传输线,白色和红色则是负责左右声道的声音传输。他是一种模拟信号2.VGAVGA(Video Graphics Array)视频图形阵列是IBM于1987年提出的一个使用模拟信号的电脑显示标准,VGA接口共有15针,分成3排,每排5个孔,它传输红、绿、蓝模拟信号以及...

2019-06-13 16:39:10 19462

原创 winform控件之ListBox

前面我们已经介绍了CheckedListBox,ListBox和它其实差不多,这里我们实现个拖拽的小功能,来学习ListBox控件1.界面布局界面布局这里很简单,就是一个ListBox我们在代码里面为它添加元素,并重新事件来实现拖拽的功能2.用法示例想要实现拖拽功能,这里我们必须重新OnMouseDown,OnDragOver,OnDragDrop这三个事...

2019-06-11 10:00:09 3113

原创 winform控件之label和linklabel

label控件是我们经常使用,用来显示固定内容的标签linklabel则有超链接的效果这里我们写个简单的Demo进行学习1.界面布局界面布局很简单,就是一个label和一个linklabel2.用法示例这两个控件的用法也比较简单,这里我们会给linklabel添加几个连接,然后再点击事件中进行处理,打开对应的连接,并在label中显示链接地址us...

2019-06-04 10:00:42 1428

原创 winform控件之DateTimePicker

DateTimerPicker控件是一个可以显示时间的控件,使用起来也比较简单,重要的属性大家可以参考下面这两篇文章WinForm时间选择控件(DateTimePicker)如何选择(显示)时分秒C# WinForm中DateTimePicker控件的Text属性和Value属性这里我们使用DateTimePicker来实现一个系统时钟的功能1.界面布局界面布局如下...

2019-06-03 15:26:49 7181

原创 winform控件之ComboBox

ComboBox也算是常用的控件之一了,它提供了一个下拉框供可以让我们自己选择内容,这里我们通过自定义下拉框的形式来学习ComboBox的使用1 界面布局界面布局如下布局界面很简单,三个label和三个ComboBox即可,另外由于第三个需要一张图片,所以我们这里还需要添加一个ImageList2 用法示例如果我们想自定义下来菜单的形式,需要在DrawItem事件中进...

2019-05-31 11:54:36 11676

原创 winform控件之checkedListBox

checkedlistbox控件也是我们常用的控件,我们仿照上一篇checkbox的例程,这回用checkedlistbox来实现本来以为是很容易实现的,结果发现想让功能做的完善以下,中间有许多坑需要填,下面我们一起来看一下吧1.界面布局界面布局如下具体的布局代码就不贴了,总之就是在在上一篇的基础上使用checkedlistbox来实现全选,并新增了删除和添加的功能...

2019-05-30 10:28:24 3306

原创 winform控件之CheckBox

Button控件是一个常用的控件,网上的资料也比较多,我这里也是参考Winform开发常用控件之Checkbox和CheckedListBox的文章来学习CheckBox的使用,Demo例程就是参考他的文章,来实现全选和反选的功能1.界面布局界面布局如下这里我们需要两个label,四个Checkbox,和一个button,详细的布局代码就不贴了需要注意的一点是,Controls...

2019-05-29 10:05:11 5135

原创 winform控件之Button

Button控件是一个常用的控件,这里我们通过自定义一个圆形Button控件来学习1.自定义Button用法1.1界面布局界面布局就是一个Button,不过是我们自定以的Button类,叫做mybutton首先在布局界面中创建一个Button,然后把对应的Button改为我们自己的mybutton,代码如下 private void InitializeC...

2019-05-27 14:58:12 3820

原创 winform控件之BindingNavigator

BindingNavigator控件可以为我们绑定的数据提供一个导航的功能,默认的工具是这个样子的,我们可以根据需求再增加功能1.BindingNavigator用法1.1界面布局界面布局如下一个BindingNavigator名为bindingNavigator1一个DataGridView名为DataGridView1两个TextBox分别为TextBox1和...

2019-05-24 15:21:54 4042 1

原创 winform控件之BackgroundWorker

BackgroundWorker控件其实是对Thread的一层封装,使我们可以快速的创建一个线程,并且能够报告进度,暂停,取消以及完成后进行其他的处理,当我们需要执行一些耗时的操作,又不想让当前界面出于无响应的状态的时候,就可以考虑使用BackedWorker控件,以异步的方式来执行。1.BackgroundWorker类介绍1.1. 四个常用属性:public bool...

2019-05-24 10:56:16 1499

原创 海思3516A区域管理操作汇总及位图填充示例

按照手册中的说明,使用区域管理功能需要做如下几步1.用户填充区域属性并创建区域2.将该区域指定到具体通道中(如VENC)。在指定到具体通道时,需要输入通道的显示属性 之后用户可以通过以下操作来控制区域属性,以及在某通道的通道显示属性 2.1通过 HI_MPI_RGN_GetAttr、 HI_MPI_RGN_SetAttr 获取和设置区域属性 2.2通过 HI_MPI_R...

2019-05-16 15:12:57 4172 5

原创 ROM存储器分类

存储器分为两大类:ram和rom。ram就不讲了,今天主要讨论rom。rom最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次

2017-04-19 11:17:26 7542

原创 Linux下C库学习 - time.h

头文件<time.h>中说明了一些用于处理日期和时间的类型和函数。其中的一部分函数用于处理当地时间,因为时区等原因,当地时间与日历时间可能不相同。因此,这里定义了一个关于时间的结构体struct tm {int tm_sec; /* 秒 – 取值区间为[0,59] */int tm_min; /* 分 - 取值区间为[0,59] */int tm_hour; /* 时 - 取值区间为[0,23

2017-04-12 21:10:50 2183

原创 Linux下C库学习 - string.h

string.h中包含了我们平常所用的所有字符处理函数,除此以外还有内存管理函数void *memchr(const void *s, int c, size_t n);在某一内存范围中查找一特定字符int memcmp(const void *s1, const void *s2, size_t n); 比较内存内容void *memcpy(void *dest, const void *sr

2017-04-11 20:42:36 808

原创 Linux下C库学习 - stdlib.h

stdlib里面包含了C语言最常用的系统函数,既然是系统函数,那肯定和系统的实现有关系了,比如里面定义的一些变量:typedef size_t是unsigned integer类型typedef wchar_t 一个宽字符的大小struct div_t 是结构体类型 作为div函数的返回类型struct ldiv_t是结构体类型 作为ldiv函数的返回类型不同系统的实现肯定是不一样的,另外平常

2017-04-04 14:41:01 3491

原创 Linux下C库学习 - stdio.h

我们一开始学习C语言的那些函数基本都是在stdio.h里面定义的,大致有如下函数clearerr(); 复位错误标志fclose(); 关闭一个流。feof(); 检测文件结束符ferror(); 检查流是否有错误fflush();更新缓冲区fgetpos(); 移动文件流的读写位置fopen();打开文件fread(); 从文件流读取数据freopen(); 打开文件fseek(

2017-03-29 20:56:38 2901

原创 Linux下C库学习 - stddef.h

stddef.h定义了一些标准宏和变量,标准宏有NULL 这个定义大家应该都比较熟悉了,是这样子的((void *)0)offsetof() 这个宏的定义是这样子的offsetof(TYPE, MEMBER) ((size_t)&((TYPE *)0)->MEMBER),主要是用来求结构体中某个成员变量在该结构体中的偏移量,这里的TYPE就是该结构体,MEMBER就是该成员变量,(TYP

2017-03-22 20:26:49 1384

原创 Linux下C库学习 - stdarg.h

想要函数使用可变参数,那就必须要包含stdarg.h这个头文件,简单就不说了,我们重新来看看可变参数的定义和使用吧。1.声明可变参数可变参数的声明有两点使用‘…’来代表可变参数可变参数之前必须有一个命名的参数简单说就是如果你想声明一个可变参数的函数,那么有两种形式func(...) //错误,前面必须有一个命名的参数func(xxx,...) //正确,xxx可以用任意的参数

2017-02-08 11:15:56 638

原创 Linux下C库学习 - signal.h

本系列只是为了研究C语言的头文件,如果signal.h展开讲感觉就有点跑题了,网上有许多对信号机制的解析,写的都非常好,大家可以搜一些,这里就只对signal进行记录,以便后续继续学习。信号在命令行界面输入kill -l就可以看到所以的信号以及对应的编号列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信

2017-02-06 11:36:38 682

原创 Linux下C库学习 - setjmp.h

<setjmp.h>是C提供的用来完成非局部跳转的函数库,说到‘跳转’,大部分可能会先想到goto,但是使用goto的时候只能在函数内部进行使用,而使用<setjmp.h>中的函数可以在不同地方进行跳转,突破了这个限制,使用起来更便捷方便,那我们一起来看看<setjmp.h>中都有哪些函数吧setjmp函数原型int setjmp(jmp_buf env);</br>参数jmp_buf参数jmp

2017-01-19 14:07:11 392

原创 C实现Unix时间戳和本地时间转化

我们平常说时间都说的几点几分几秒,星期几,但是在计算机里面并不是直接使用我们所说的时间,而是使用Unix时间戳,这样不管是哪个平台,哪个系统,都可以根据自己对时间的定义进行转换,像Java,PHP等都提供了接口来进行转化,C库里面也有这样的函数,那具体是怎么实现的呢?要了解这个问题首先我们就必须要清楚什么是Unix时间戳,什么是我们平常使用的时间。1. Unix时间戳UNIX时间戳:Unix时间戳(

2017-01-18 11:43:00 22159

原创 Linux下C库学习 - math.h

math.h众所周知,如果你想使用一些数学函数,那么就需要包含math.h,这里面基本包含了所有常用的数学函数(sin,cos,tan),以及数学常量(PI),等等,既然C库里面开发好了,那我们就看看到底里面都有什么。既然是数学函数库,首先我们就需要对操作数进行限制,比如0不能作为除数,对负数开方,对负数求对数等等,这些在数学上本身就是不合理的,那如果让计算机去处理这些计算,很可能就会引起错误,因此

2017-01-16 10:12:35 7705

原创 Linux下C库学习 - locale.h

locale.hC语言要用在哪里,都应该包含什么内容,包括什么功能。随着历史中各种需求的沉淀,和各种实现的积累,C标准也日趋于完善。历经了5年的成长,看来一切都基本完成,可以画上一个句号了。剩下的工作只是一些修修补补的小改动。正当X3J11委员会的成员们一致认为他们过去的工作“将已经有的实践制定为标准”很好的成就了C标准的构建,并且C标准已经基本完成。这时候,也正是C用在世界各地比较高峰的时期,一个

2017-01-13 14:42:56 1226 2

原创 Linux下C库学习 - limits.h

limits.h和float.h相比较limits.h主要对整形数和字符型数据的的边界做了一些限制,头文件的内容很简单,不过他的作用很大,可以让你的程序在不同环境下都可以正常运行,比如,int类型有可能是16位,32位甚至64位,假如你在int类型占16位的机器上想使用int类型的最大值,如果没有limit.h那你只能写一个数值65535,但是如果你的程序在32位的机器上或者64位的机器上跑,程序可

2017-01-12 11:33:46 1599

原创 Linux下C库学习 - float.h

float.h说到float.h就必须要先说一下float,double,long double这三种数据类型在计算机里面的表示 说到浮点数,在计算机里面不像整数,是分为三个部分的符号位指数位尾数位指数位的长度决定了浮点数的表示范围,而尾数位的长度决定了浮点数的表示精度(小数点的位数)比如以float类型举例,float类型一般占32位,其中1位符号位,8位指数位,23位尾数位,因为指数位

2017-01-11 15:21:54 2144

原创 Linux下C库学习 - error.h

error.h说到error.h,可能很多人都知道errno.h或者能想到perror函数,我甚至在网上看到说C里面没有error函数,其实error.h里面就提供了两个函数extern void error (int __status, int __errnum, const char *__format, ...) __attribute__ ((__format__ (__pr

2017-01-10 16:07:05 6153

原创 Linux下C库学习 - ctype.h

ctype.hctype.h里面主要定义了一些字符的测试和转化函数,都是一些类似工具的函数,一共有两类。1. isxxx函数,这类函数主要提供字符的测试功能,主要有如下几个int isalnum(int c);检查是否是字符(a - z)或者数字(0 - 9),如果是则返回非0,否则返回0,这个函数相当于调用isalpha(c) || isdigit(c) int isalpha(int c);检查

2017-01-10 11:25:15 1511

原创 Linux下C库学习 - assert.h

assert.hassert.h最重要的或者说唯一的功能就是提供了assert函数,查阅man手册,assert函数是这样解释的 abort the program if assertion is false而man手册中assert的原型是这样声明的 void assert(scalar expression);这里参数用scalar声明,scalar的意思是说这个参数是标量参数,标量

2017-01-09 17:31:49 1949

原创 Linux下C库学习 - 开篇概述

Linux下C库学习大部分人学习C语言的第一个程序应该都是这样子的#include <stdio.h>void main(void) { printf("Hello World !\n"); return 0;}有的书可能会讲stdio.h是标准输入输出的头文件,想要用输入输出功能就必须要包含这个头文件,但是除了输入输出功能,这个头文件还包含了那些东西呢?标准C库里面定义的那些头文

2017-01-09 17:21:29 652

原创 字符串转浮点型数据C语言实现

#include #include float mstrtof(char *num){ double n = 0, sign = 1, scale = 0; int subscale = 0, signsubscale = 1; if (*num == '-') { sign = -1, num++; /* Has sign? */ }

2017-01-04 09:55:48 4040

原创 C语言格式化xml

网上有许多关于xml格式和json格式解析的开源库json:https://github.com/DaveGamble/cJSONxml:http://xmlsoft.org/downloads.html下面是我写的C输出xml格式的简单案例,希望大神们多多指导main.c如下#include "xml.h"int main(int argc, ch

2016-11-15 18:07:35 2747

转载 Android wifi学习Demo

wifi工具类wifiadmin.javapackage com.example.acer.tcpclient.com.example.acer.util;import android.content.Context;import android.net.wifi.ScanResult;import android.net.wifi.WifiConfiguration;i

2016-10-21 11:31:24 513

原创 SPP蓝牙实现

MTK2502平台使用SPP协议进行蓝牙通讯实现 kal_uint32 conn_id;S32 test_bt_spp_event_handler(U32 evt, void* para){ static kal_bool is_alart = KAL_FALSE; kal_uint32 ret = 0; kal_uint8 btspp_buff[SRV_SPP_

2016-07-03 12:59:19 4927 3

海思VENC编码操作流程.docx

参照Demo例程对海思MPP框架中的VENC功能进行了汇总,Word文档的格式会比较乱,需要结合代码来看,参考的是sample_venc.c的流程

2019-05-14

SX1276例程

SX1276/77/78的Demo例程,平台是STM32F103

2017-05-24

空空如也

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

TA关注的人

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