自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(61)
  • 资源 (5)
  • 收藏
  • 关注

原创 指针

1 指针的本质就是地址 *p (p是指针,*p是一个值) 对于指针buffer,buffer[i] 与 *(buffer+i)是等价的,只不过都习惯用p[i]来表示 &buffer[i]与 buffer+i 是等价的,代表地址uint16_t* 与uint8_t* :前者一次去内存中取两个字节...

2019-10-30 15:12:59 374

原创 字符串 数组 n++ ++n

1 字符串字符串有两种声明方式,一种是字符数组,一种是字符指针字符数组:char parr[] = “zifuchuanshuzu”;字符指针:char* str=“zifuchuanshuzu”;printf("%s\n",str);...

2019-10-23 16:43:27 301 1

原创 位操作

1、特定位置0用位与& 构造一个特定位为0,其他位为1的数,再与被操作数进行&操作2、特定位置1用位或|构造一个特定位为1,其他位为0的数,再与被操作数进行|操作3、特定位取反用异或^构造一个特定位为1,其他位为0的数,再与被操作数进行^操作...

2019-06-04 11:29:43 193

原创 break continue return

Break:退出当前的for/switch/while/do while循环;当多个for/switch/while/do while语句彼此嵌套时,break是先跳出内部循环,(多层循环一次跳出一层),继续执行外循环Continue:退出for循环的本次循环,接着执行下次for循环Return 退出整个函数(谨记:是退出循环,for之类的语句,而不是if什么的语句)例1:本例...

2019-03-13 15:42:40 208

原创 内存分配 堆与栈

1 内存分配1、栈区(stack segment):栈是向低地址扩展的数据结构,是一块连续的内存的区域。栈顶的地址和栈的最大容量是系统预先规定好的,如果申请的空间超过栈的剩余空间时,将提示overflow。因此,能从栈获得的空间较小。程序在编译期和函数分配内存都是在栈上进行,且程序运行中函数调用时参数的传递也是在栈上进行2、堆区(heap segment) :一般由程序员分配释放,若程序员...

2019-03-08 14:37:10 283

原创 ADC采集实现温度检测

1 使用nordic库实现 nRF52832ADC采集的一个例子https://www.cnblogs.com/zzu-liulei/p/6519141.html2 用nRF52840自带的ADC采集camera内部的温度 原理图:3 思路:1).camera内部的热敏电阻与上拉电阻分压1.8V2). 通过nRF52840自带ADC采集电压3). 根据分压关系及...

2019-02-25 14:40:43 11153

原创 阈值比较法实现psensor功能

1 P_Sensor功能简述    接近传感器(proximity sensor)可以不断向外发射红外光,当有遮挡物遮挡住其所发射的红外光时,会有部分甚至全部的红外光反射至接近传感器。由此,可以根据遮挡物反射的红外光的能量信号检测用户的移动信息。接近传感器可以将光强度转换为数字信号,且可以通过I2C进行数据的读取。psensor的红外线会周期性的计算反光量,并将光强度转化为数字值,存储于pse...

2019-02-25 14:40:35 3791

原创 union联合体应用举例

union联合体一个重要的作用:(成员函数占用同一块内存)用一个成员把值存储在联合体中,然后用另一个成员查看内容如下例子:想将获取的camera温度的值由整型改为float型但是原子队列函数_atomic_store_n的第二个参数只能是int型,不能为float型,如果还想用原子队列,则可以定义一个union,用int进行存储,在最后需要得到camera温度返回值的时候,返回fl...

2019-02-25 14:40:22 895

原创 nRF52840 ADC校准

ADC具有温度相关偏移量,如果ADC要运行在较大的温度范围内,则开启校准会校准结果更加准确校准方法:定期运行CALIBRATEOFFSET,硬件会自动进行校准1 nordic提供的底层函数:ret_code_t nrf_drv_saadc_calibrate_offset(){ ASSERT(m_cb.state != NRF_DRV_STATE_UNINITIALIZED...

2019-02-25 14:40:14 2269

原创 周期性轮询中断脚实现psensor功能及psensor软件消抖

1 设计方案1)将psensor阈值写到寄存器中(0x90/0x91/0x92/0x93),这样,当得到的测量与之在设置阈值之外时就会产生中断2)设置中断寄存器(0x8F),默认状态是不使能中断,在0x8F中需要使能中断并且设置中断是高电平还是低电平(默认低电平)3)周期性轮询中断引脚,通过电平高低判断是否被遮挡,并在此基础上进行软件消抖处理4)将遮挡状态设置为一个标志位,用于传给...

2019-02-25 14:39:31 638

原创 psensor 硬件消抖 及 产线校准

1 psensor 硬件消抖 (仅中断模式下有支持)INTERRUPT PERSIST Regiseter(0X9E)方框中的值即为可以设置的N的值,连续N个值都在阈值范围内或者范围外才会触发一次中断比如measurement data的时间设置为100ms(0x84寄存器),即100ms会往寄存器中写一次数据,设置遮挡为中断拉低,N设置为0100(即5个PS值在阈值外)的话:则若...

2019-02-25 14:39:01 1021

原创 ububtu14.04安装arm-none-eabi-gcc

1 问题描述采用命令apt install gcc-arm-none-eabi进行安装,安装完成后,使用make指令进行编译,出现如下问题:arm-none-eabi-gcc: error: nano.specs: No such file or directory显示没有nano.specs这个文件浏览到如下页面https://stackoverflow.com/questions/2...

2019-02-20 09:34:06 1648

原创 linux系统安装python3.6

如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境比如yum!!!!!不要动现有的python2环境!1)安装依赖环境# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-dev...

2018-08-17 15:24:47 2749

原创 NRF52840 nrfjprog 擦写问题

 1 问题描述1)在用到nrfjprog对hex文件进行升级时,发现第一次升级后无法跳到app中,进入updater,要再次进行升级才可以跳到app2)如果将板子的flash清空,即全部擦除,再用nrfjprog对hex文件进行升级,则可跳到app中2 问题解决1)怀疑我们烧进去的bin文件,在往板子里烧的过程中被篡改,导致烧录前及烧进板子里的bin有差异用J-Flash将...

2018-07-31 09:16:26 5667

原创 大小端、float与0作比较、IIC互斥、printf

1 大小端大端模式(Big Endian):数据的高字节,保存在内存的低地址中;数据的低字节,保存在内存的高地址中。小端模式(Little Endian):数据的高字节,保存在内存的高地址中;数据的低字节,保存在内存的低地址中。例如:16位宽的数0x1234,在不同的模式下,存储方式为:  0x4000 0x4001 小端模式 0x34 0x12 ...

2018-04-25 17:03:31 409

原创 git基本使用

1 各仓库图2举例:假设:项目在test分支上进行开发,在master上进行提交1 首先从服务器上clone项目到本地。2.git clone项目地址3.git branch test//建立一个test的分支4.git checkout test//切换到t...

2018-03-02 09:47:48 190

原创 C#使用axWindowsMediaPlayer实现音乐播放器

1 加载COM组件,把Windows Media Player控件拖放到Winform窗体中工具--》选择工具箱项--》COM组件--》Windows Media Player2 音乐播放器  public partial class Form1 : Form { public Form1() { Initia

2018-01-02 17:27:30 14436 7

原创 c# 对话框:打开对话框 保存文件对话框 设置字体及颜色对话框

1 打开对话框 private void button1_Click(object sender, EventArgs e) { //点击弹出对话框 OpenFileDialog ofd = new OpenFileDialog(); //设置对话框的标题 ofd.Title

2017-12-27 13:29:49 1217

原创 c# 添加MouseEnter事件 /Directory类 /ListBox实现双击更换图片/播放音乐

1 c# 添加MouseEnter事件当鼠标进入按钮的可见部分的时候,给按钮一个新的坐标 private void btnUnLove_MouseEnter(object sender, EventArgs e) { //给按钮一个新的坐标 //这个按钮活动的最大宽度就是 窗体的宽度减去按钮的宽度 i

2017-12-26 09:45:39 1334

原创 实时操作系统任务调度 DMA 中断向量表和中断处理 Memory 一种升级模式(从BootLoader到main)

1 任务调度:(优先级抢占调度+时间片轮洵调度)低优先级的任务正在执行中,另一个高优先级的任务进入就绪状态,则立马进入处理器抢占,执行高优先级任务,直到高优先级的任务释放处理器(完成、挂起、阻塞),才可继续用执行低优先级任务任务切换:任务切换时,把当前任务的现场数据保存在自己的任务栈里面,再把待运行的任务                  的数据从自己的任务栈装载到 CPU 中,改

2017-12-23 16:04:52 971

原创 菜单 MDI多文档界面 Random产生随机数 imagebox实现图片上下切换

1 菜单:MenuStrip2 MDi(多文档界面)1)设置Form1位父窗口:将属性中IsMdiContainer设置为True 2)添加3个Windows窗体作为子类窗口,并设置其父窗体为Form1;     Form2 frm2 = new Form2(); //新建一个窗体 Form2 frm2.MdiParent = this; //设置窗体 Form2

2017-12-23 09:33:36 249

原创 winform属性/事件/退出程序/ MessageBox.Show/TextBox和Label/Lbel实现跑马灯和闹钟/TextBox保存

1 控件属性visible:指示一个控件是否可见。Enabled:指示一个控件是否可用。Anchor设置为Up,Bottom,Left,Right后控件会随着窗口大小的改变而改变2 退出程序:1).this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出; 2).Applic

2017-12-21 14:20:31 555

原创 c# path类与File类 文件流

1 Path类 static void Main(string[] args) { string str = @"C:\3000soft\Red Spider\Data\Message\老赵.wav"; //获得文件名 Console.WriteLine(Path.GetFileName(st

2017-12-19 15:40:23 564

原创 c# ArryList 键值对

1 ArrayListList1)新建ArrayList ArrayList list = new ArrayList();2)添加单个元素     list.Add(true);     ist.Add(1);     list.Add("张三");3)添加集合元素    list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7,

2017-12-19 14:47:35 3899

原创 c# 继承

1、继承我们可能会在一些类中,写一些重复的成员,我们可以将这些重复的成员,单独的封装到一个类中,作为这些类的父类。Reporter、Programer、Driver  子类  派生类Person                                      父类  基类1)子类继承了父类,那么子类从父类那里继承过来了什么?首先,子类继承了父类的属性和方法,但是子

2017-12-18 16:50:11 257

原创 c#值类型与引用类型 /字符串的不可变性/字符串的方法

1 值类型与引用类型 值类型:int、double、bool、char、decimal、struct、enum 引用类型:string、自定义类、数组 存储: 值类型的值是存储在内存的栈当中。 引用类型的值是存储在内存的堆中。 2、字符串 1)、字符串的不可变性 当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值。 当程序结束后,GC(垃圾回收器)扫描整

2017-12-18 14:22:45 370 2

原创 c# 构造函数 析构函数 this关键字

1 构造函数 作用:帮助我们初始化对象(给对象的每个属性依次的赋值) 构造函数是一个特殊的方法: 1)、构造函数没有返回值,连void也不能写。 2)、构造函数的名称必须跟类名一样。创建对象的时候会执行构造函数。 构造函数是可以有重载的。(如下例中的构造函数1/2/3/4实现了重载)类当中会有一个默认的无参数的构造函数,当你写一个新的构造函数之后,不管是有参数的还是无参数的,那个默认的无参

2017-12-15 16:05:49 595

原创 C#静态和非静态的区别及举例介绍

静态和非静态的区别1)、在非静态类中,既可以有实例成员,也可以有静态成员。2)、在调用实例成员的时候,需要使用对象名.实例成员;    在调用静态成员的时候,需要使用类名.静态成员名;总结:静态成员必须使用类名去调用,而实例成员使用对象名调用。静态函数中,只能访问静态成员,不允许访问实例成员。实例函数中,既可以使用静态成员,也可以使用实例成员。 静态类中只允许有

2017-12-15 14:56:37 548

原创 c# 类和属性

1 类语法:public class 类名{ 类中可以存放的对象有:        字段;属性;方法;构造函数;}好了一个类之后,我们需要创建这个类的对象,管创建这个类的对象过程称之为类的实例化。使用关键字 new类是不占内存的,而对象是占内存的。2 属性属性的作用就是保护字段、对字段的赋值和取值进行限定。属性的本质就是两个方法,一个

2017-12-15 14:02:40 765 2

原创 内存分配与字段 堆和栈 XIP(片上执行)

1 内存分配与字段      程序编译时,编译器将代码翻译成汇编代码,然后汇编器将汇编代码翻译成机器代码(二进制),得到目标文件,最后链接器将目标文件链接成可执行文件。而目标文件和可执行文件的格式一般是类似的,由一个个section(段)组成,一般来说有代码段、数据段、bss段等,有些平台还会有.rodata段(只读数据段),用来放置只读变量(const变量)和字符串常量,这样不仅可以在语义上

2017-12-15 09:37:26 730

转载 变量的生命周期和{ }的相关知识

生命周期如果和寄存器、内存什么的挂钩,就变得不那么好理解。、其实生命周期的概念也很简单,无非就是变量从哪到哪有效。这里只说生民周期和大括号{ }的联系浅显一点说,一个变量的生命周期就是从上一个 { 开始,到下一个 } 结束为止[1]看这么一个程序,就会对生命周期的概念更了解一点[cpp] view plain copy

2017-12-11 10:32:40 233

原创 c# out、ref、params使用

1)、out参数。如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,我们可以考虑使用out参数。out参数就侧重于在一个方法中可以返回多个不同类型的值。using System;using System.Collections.Generic;using System.Linq;

2017-12-09 15:49:07 223

原创 C# 数据类型 占位符 convert 数组声明

1 快捷键Ctrl+J 智能提示Ctrl+Z撤销:ctrl+K+D:  快速对齐代码Ctrl+K+C  注释所选代码Ctrl+K+U   取消注释代码2  打印Console.WriteLine("要打印的内容"); //往控制台打印数据Console.ReadKey(); //暂停当前程序,等待用户按下任意键继续,按下的任意键将显示在我们的控制台当中C

2017-12-09 15:03:06 670

原创 C#枚举 枚举和int以及string类型之间的转换 结构 重载 全局变量

1 枚举语法:public enum 枚举名{    值1,    值2,    值3,    ........}public:访问修饰符。公开的公共的,哪都可以访问。enum:关键字,声明枚举的关键字将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。枚举就是一个变量类型 ,int--double  strin

2017-12-09 15:01:37 2099

转载 MFC自制进度条

改变进度条的颜色http://www.codefans.net/articles/1454.shtml使用方法1.将三个文件添加到工程2.在对话框上添加一个进度条;新建一个类CGradientProgressCtrl,其基类为CProgressCtrl3.为进度条添加变量,变量类型CGradientProgressCtrl,否则运行不成功添加方法:进度条右键--

2017-12-05 11:23:26 2860

原创 MFC自绘进度条

添加类继承 CProgressCtrl[cpp] view plain copy#pragma once  class CMyProgressCtr:public CProgressCtrl  {  public:      CMyProgressCtr();      ~CMyProgressCtr();  priv

2017-12-01 14:46:44 2453 2

转载 MFC——文件打开和保存对话框(CFileDialog)

最近要做一个文件打开和保存的对话框,现将相关的代码记录如下,用以备忘!所用控件:2个静态标签(Static Text):用以显示功能标签;2个文本框(Edit):用以显示打开的文件路径全名要保存的文件路径全名,设置其Read Only属性为true将文本框设置为不可编辑;2个按钮(Button):用以浏览文件;打开文件对话框C

2017-12-01 10:53:48 4457

转载 CString转为char* unicode,MFC中的使用

MFC中添加图片,现将图片加入到资源[cpp] view plain copy////加入升级成功的图片  //CBitmap bitmap;  //bitmap.LoadBitmapW(IDI_ICON1);  //CStatic *p = (CStatic*)GetDlgItem(showPic);  //p->Modif

2017-12-01 10:50:44 337

原创 MFC 静态文本框使用/更改button背景色/不使能button/设置标题/不显示控件/窗口最大最小化

1 设置标题SetWindowText(_T("Lenovo Mirage AR Headset FW Upgrade Tool"));2 不显示某个控件 GetDlgItem(IDC_STATIC)->ShowWindow(SW_HIDE);3、实现窗口的最大化和最小化 将对话框的Border选为None,添加两个按钮,min和close,将按钮的bitmap设置为TRUE;用于添加最小和

2017-11-30 15:48:05 930

原创 mac OS开发 线程/定时器/控件隐藏与不使能/关闭窗口与退出app

1 新建线程: 方法1:使用对象方法 //创建一个线程,第一个参数是请求的操作,第二个参数是操作方法的参数 NSThread *thread=[[NSThread alloc]initWithTarget:self selector:@selector(loadImage) object:nil]; //启动一个线程,注意启动一个线程并非就一定立即执行,而是处于就绪状态,当系统

2017-11-29 10:05:16 1269

c# 音乐播放器

使用c# axWindowsMediaPlayer 实现音乐播放器,可以暂停、播放、上一曲、下一曲

2018-01-02

c#实现 用户登录及记事本应用程序

c#实现用户登录,用户选择登录身份进行登录,登陆成功后可以实现简单记事本功能

2017-12-23

c#实现 记事本应用程序

用c#实现简单的记事本功能,包含用户登录和文字保存功能

2017-12-22

MFC 实现USB热插拔

在MFC开发环境下实现实时检测USB插入与拔出情况,并给与不同的反馈

2017-12-05

ios 实现自绘进度条

ios开发平台下实现自绘进度条,语言开发环境为object-c

2017-12-05

空空如也

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

TA关注的人

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